//
(,(,,)?)?\n\t\n\tif (!string || string == \"none\") return null;\n\ttry {\n\t var box = string.split(\",\");\n\t} catch (er) {alert(\"string is \" + string + \" string? \" + (string instanceof String)) }\n\tvar t, b, l, r;\n\tswitch (box.length) {\n\tcase 1:\n\t b = l = r = t = lively.data.Length.parse(box[0].strip());\n\t break;\n\tcase 2:\n\t t = b = lively.data.Length.data.parse(box[0].strip());\n\t l = r = lively.data.Length.data.parse(box[1].strip());\n\t break;\n\tcase 4:\n\t t = lively.data.Length.parse(box[0].strip());\n\t l = lively.data.Length.parse(box[1].strip());\n\t b = lively.data.Length.parse(box[2].strip());\n\t r = lively.data.Length.parse(box[3].strip());\n\t break;\n\tdefault:\n\t console.log(\"unable to parse padding \" + padding);\n\t return null;\n\t} \n return Rectangle.inset(t, l, b, r);\n },\n\n\twrapperAndNodeEncodeFilter: function(baseObj, key) {\n\t\tvar value = baseObj[key];\n\t\tif (value instanceof lively.data.Wrapper) return value.uri();\n\t\tif (value instanceof Document || value instanceof Element || value instanceof DocumentType)\n\t\t\treturn JSON.serialize({XML: Exporter.stringify(value)});\n\t\treturn value;\n\t},\n\n\twrapperAndNodeDecodeFilter: function(baseObj, key) {\n\t\tvar value = baseObj[key];\n\t\t// console.log(\"wrapperAndNodeDecodeFilter: \" + baseObj + \" key: \" + key + \" value: \" + baseObj[key]);\n\t\tif (Object.isString(value)) {\n\t\t\tvar uri = lively.data.FragmentURI.parse(value)\n\t\t\tif (uri) {\n\t\t\t\t// resolve uri to an object\n\t\t\t\t// Search the world, because we don't have an general URI resolver\n\t\t\t\tvar obj = WorldMorph.current().resolveUriToObject(uri)\n\t\t\t\tif (obj)\n\t\t\t\t\treturn obj;\n\t\t\t\telse\n\t\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t\treturn Converter.nodeDecodeFilter(baseObj, key)\n },\n\n nodeEncodeFilter: function(baseObj, key) {\n var value = baseObj[key];\n\t\tif (!value) return value;\n if (!value.nodeType) return value;\n if (value.nodeType !== document.DOCUMENT_NODE && value.nodeType !== document.DOCUMENT_TYPE_NODE)\n return JSON.serialize({XML: Exporter.stringify(value)});\n throw new Error('Cannot store Document/DocumentType'); // to be removed\n },\n \n toJSONAttribute: function(obj) {\n\t\treturn obj ? escape(JSON.serialize(obj, Converter.wrapperAndNodeEncodeFilter)) : \"\";\n },\n\n nodeDecodeFilter: function(baseObj, key) {\n\t\tvar value = baseObj[key];\n\t\tif (!value || !Object.isString(value) || !value.include('XML')) return value;\n\t\tvar unserialized = JSON.unserialize(value);\n\t\tif (!unserialized.XML) return value;\n\t\t// var xmlString = value.substring(\"XML:\".length);\n\t\t// FIXME if former XML was an Element, it has now a new parentNode, seperate in Elements/Documents?\n\t\t//dbgOn(true);\n\t\tvar node = new DOMParser().parseFromString(unserialized.XML, \"text/xml\");\n return document.importNode(node.documentElement, true);\n },\n\n fromJSONAttribute: function(str) {\n\t\treturn str ? JSON.unserialize(unescape(str), Converter.nodeDecodeFilter) : null;\n },\n \n needsJSONEncoding: function(value) {\n\t\t// some objects can be saved in as DOM attributes using their\n\t\t// .toString() form, others need JSON\n\t\tif (value instanceof Color) return false;\n\t\tvar type = typeof value.valueOf();\n\t\treturn type != \"string\" && type != \"number\"; \n },\n\n\tquoteCDATAEndSequence: function(string) {\n\t\tvar closeCDATASequence = \"<=CDATAEND=>\";\n\t\tif (string.include(closeCDATASequence)) {\n\t\t\tconsole.log(\"Warning: quoted CDATA Sequence ] ] >\")\n\t\t\tstring = string.replace(closeCDATASequence, \"\\\\]\\\\]\\\\>\");\n\t\t};\n\t\treturn string\n\t},\n\n\t// TODO parallels to preparePropertyForSerialization in scene.js\n\t// Why to we encodeProperties for Records at runtime and not at serialization time?\n\tencodeProperty: function(prop, propValue, isItem) {\n\t\tif (isItem) {\n\t\t\tvar desc = LivelyNS.create(\"item\");\n\t\t} else {\n\t\t\tvar desc = LivelyNS.create(\"field\", {name: prop});\n\t\t}\n\t\tif (propValue instanceof Function) {\n\t\t\t// console.log(\"convert function\")\n\t\t desc.setAttributeNS(null, \"family\", \"Function\");\n\t\t desc.appendChild(NodeFactory.createCDATA(JSON.serialize(propValue.toLiteral())));\n\t\t return desc;\n\t\t}\n\t\tif (Converter.isJSONConformant(propValue) || propValue instanceof Array) { // hope for the best wrt/arrays\n\t\t // FIXME: deal with arrays of primitives etc?\n\t\t var encoding;\n\t\t if (propValue === null)\n\t\t\t\tencoding = NodeFactory.createText(\"null\");\n\t\t else switch (typeof propValue) {\n\t\t \tcase \"number\":\n\t\t \tcase \"boolean\":\n\t\t\t\t\tencoding = NodeFactory.createText(String(propValue));\n\t\t\t\t\tbreak;\n\t\t \tdefault:\n\t\t\t\t\tvar jsonSource = JSON.serialize(propValue, Converter.wrapperAndNodeEncodeFilter);\n\t\t\t\t\tencoding = NodeFactory.createCDATA(this.quoteCDATAEndSequence(jsonSource));\n\t\t }\n\t\t desc.appendChild(encoding);\n\t\t return desc;\n\t\t} \n\t\n\t\tif (propValue && propValue.toLiteral) {\n\t\t desc.setAttributeNS(null, \"family\", propValue.constructor.type);\n\t\t desc.appendChild(NodeFactory.createCDATA(JSON.serialize(propValue.toLiteral())));\n\t\t return desc;\n\t\t}\n\t\t\t\t\n\t\tif (propValue.nodeType) {\n\t\t switch (propValue.nodeType) {\n\t\t \tcase document.DOCUMENT_NODE:\n\t\t \tcase document.DOCUMENT_TYPE_NODE:\n\t\t\t\t\tthrow new Error('Cannot store Document/DocumentType'); // to be removed\n\t\t \tdefault:\n\t\t\t\t\tdesc.setAttributeNS(null, \"isNode\", true); // Replace with DocumentFragment\n\t\t\t\t\tdesc.appendChild(document.importNode(propValue, true));\n\t\t }\n\t\t return desc;\n\t\t} \n\t\treturn null;\n },\n \n isJSONConformant: function(value) { // for now, arrays not handled but could be\n if (value instanceof Element && value.ownerDocument === document) return false;\n // why disallow all objects?\n\t// KP: because we don't know how to handle them up front, special cases handled bye encodeProperty\n\t// this makes simple objects like {a: 1} hard to serialize\n\t// fix for now: objects can determine by themselves if isJSONConformant should be true\n return value == null || value.isJSONConformant || (typeof value.valueOf() !== 'object');\n }\n\n};\n\n\nGlobal.NodeFactory = {\n\n createNS: function(ns, name, attributes) {\n\t\tvar element = Global.document.createElementNS(ns, name);\n\t\treturn NodeFactory.extend(ns, element, attributes);\n },\n\n create: function(name, attributes) {\n\t//return this.createNS(Namespace.SVG, name, attributes); // doesn't work\n\tvar element = Global.document.createElementNS(Namespace.SVG, name);\n\treturn NodeFactory.extend(null, element, attributes);\n },\n\n extend: function(ns, element, attributes) {\n\tif (attributes) {\n\t for (var name in attributes) {\n\t\tif (!attributes.hasOwnProperty(name)) continue;\n\t\telement.setAttributeNS(ns, name, attributes[name]);\n\t }\n\t}\n\treturn element;\n },\n\n createText: function(string) {\n\treturn Global.document.createTextNode(string);\n },\n \n createNL: function(string) {\n\treturn Global.document.createTextNode(\"\\n\");\n },\n\n createCDATA: function(string) {\n\treturn Global.document.createCDATASection(string);\n },\n\n\tCDATAType: function() {\n\t\treturn Global.document.CDATA_SECTION_NODE;\n\t},\n\t\n\tTextType: function() {\n\t\treturn Global.document.TEXT_NODE;\n\t}\n\n\n};\n\nGlobal.XLinkNS = {\n\tcreate: function(href, doc) {\n\t\tvar doc = doc || Global.document;\n\t\tvar node = NodeFactory.createNS(null, 'script', {type: \"text/ecmascript\"});\n\t\tnode.setAttribute('xlink:href', href);\n\t\t// XLinkNS.setHref(node, href); // does not seem to work\n\t\treturn node;\n\t},\n setHref: function(node, href) {\n\treturn node.setAttributeNS(Namespace.XLINK, \"href\", href);\n },\n \n getHref: function(node) {\n\treturn node.getAttributeNS(Namespace.XLINK, \"href\");\n }\n};\n\nGlobal.LivelyNS = {\n\n\tprefix: 'lively:',\n\n\tcreate: function(name, attributes) {\n\t\t// get takes qulaified name\n\t\treturn NodeFactory.createNS(Namespace.LIVELY, this.prefix + name, attributes);\n\t},\n\n\tgetAttribute: function(node, name) {\n\t\tif (UserAgent.isOpera) return node.getAttribute(name); // Fix for Opera 10.10\n\t\t// get takes only local name\n\t\treturn node.getAttributeNS(Namespace.LIVELY, name) || node.getAttribute(name);\n\t},\n\n\tremoveAttribute: function(node, name) {\n\t\t// remove takes local name\n\t\treturn node.removeAttributeNS(Namespace.LIVELY, name);\n\t},\n\n\tsetAttribute: function(node, name, value) {\n\t\t// set takes qualified name\n\t\tnode.setAttributeNS(Namespace.LIVELY, this.prefix + name, value);\n\t},\n\n\tgetType: function(node) {\n\t\treturn node.getAttributeNS(Namespace.LIVELY, \"type\") || node.getAttribute(\"type\");\n\t},\n\n\tsetType: function(node, string) {\n\t\tnode.setAttributeNS(Namespace.LIVELY, this.prefix + \"type\", string);\n\t},\n};\n\nGlobal.XHTMLNS = {\n\n\tcreate: function(name, attributes) {\n\t\treturn NodeFactory.createNS(Namespace.XHTML, name, attributes);\n\t},\n\n\tgetAttribute: function(node, name) {\n\t\tif (UserAgent.isOpera) return node.getAttribute(name); // Fix for Opera 10.10\n\t\treturn node.getAttributeNS(null, name);\n\t},\n\n\tremoveAttribute: function(node, name) {\n\t\treturn node.removeAttributeNS(null, name);\n\t},\n\n\tsetAttribute: function(node, name, value) {\n\t\tnode.setAttributeNS(null, name, value);\n\t},\n\n\tgetType: function(node) {\n\t\treturn node.getAttributeNS(Namespace.LIVELY, \"type\");\n\t},\n\n\tsetType: function(node, string) {\n\t\tnode.setAttributeNS(Namespace.LIVELY, \"type\", string);\n\t}\n};\n\n(function addRecordStuffToWrapper() { // FIXME refactor\n\tClass.addMixin(lively.data.DOMRecord, lively.data.Wrapper.prototype);\n\tClass.addMixin(lively.data.DOMNodeRecord, lively.data.Wrapper.prototype);\n})();\n\n\n\nconsole.log(\"Loaded basic DOM manipulation code\");\n\n// ===========================================================================\n// Event handling foundations\n// ===========================================================================\n\n/**\n * @class Event: replacement Event class. (NOTE: PORTING-SENSITIVE CODE)\n * The code below rebinds the Event class to a LK substitute that wraps around \n * the browser implementation.\n * For a detailed description of the Event class provided by browsers,\n * refer to, e.g., David Flanagan's book (JavaScript: The Definitive Guide).\n */\n\n(function setupEvent() {\nvar tmp = Event; // note we're rebinding the name Event to point to a different class \n\nObject.subclass('Event', {\n\n\tcapitalizer: {\n\t\tmouseup: 'MouseUp', mousedown: 'MouseDown', mousemove: 'MouseMove', \n\t\tmouseover: 'MouseOver', mouseout: 'MouseOut', mousewheel: 'MouseWheel',\n\t\tkeydown: 'KeyDown', keypress: 'KeyPress', keyup: 'KeyUp',\n\t},\n\n\tinitialize: function(rawEvent) {\n\t\tthis.rawEvent = rawEvent;\n\t\tthis.type = this.capitalizer[rawEvent.type] || rawEvent.type;\n\t\t//this.charCode = rawEvent.charCode;\n\n\t\t// fix timeStamp, e.g in Opera\n\t\tthis.timeStamp = this.rawEvent.timeStamp || new Date().getTime();\n\n\t\tthis.hand = null;\n\n\t\t// use event.timeStamp\n\t\t// event.msTime = (new Date()).getTime();\n\t\tthis.mouseButtonPressed = false;\n\t},\n\n\tsetCanvas: function(canvas) {\n\t\tthis.canvas = canvas;\n\t\tthis.prepareMousePoint();\n\t},\n\n\tprepareMousePoint: function() {\n\t\tif (this.isMouseEvent())\n\t\t\tthis.addMousePoint(this.rawEvent)\n\t},\n\n\toffset: function() {\n\t\t// Test\n\t\t// return pt(0,0 )\n\t\t// note that FF doesn't doesnt calculate offsetLeft/offsetTop early enough we don't precompute these values\n\t\tif (Config.isEmbedded) {\n\t\t\tvar topElement = this.canvas;\n\t\t\tvar offsetX = 0;\n\t\t\tvar offsetY = -3;\n\t\t\tdo {\n\t\t\t\toffsetX += topElement.offsetLeft\n\t\t\t\toffsetY += topElement.offsetTop\n\t\t\t\ttopElement = topElement.offsetParent;\n\t\t\t} while (topElement && topElement.tagName != 'BODY');\n\t\t\treturn pt(offsetX, offsetY);\n\t\t} else {\n\t\t\tif (Event.canvasOffset === undefined) {\n\t\t\t\tvar topElement = this.canvas;\n\t\t\t\tEvent.canvasOffset = pt(topElement.offsetLeft || 0, (topElement.offsetTop || 0) - 3);\n\t\t\t}\n\t\t\treturn Event.canvasOffset;\n\t\t}\n\t},\n\n\taddMousePoint: function(evtOrTouch) {\n\t\tvar pos = pt(evtOrTouch.pageX || evtOrTouch.clientX, evtOrTouch.pageY || evtOrTouch.clientY);\n\t\tthis.mousePoint = pos.subPt(this.offset());\n\t\tthis.priorPoint = this.mousePoint;\n\t},\n\n\tisMouseEvent: function() {\n\t\treturn Event.mouseEvents.include(this.rawEvent.type);\n\t},\n\n\tsimpleCopy: function() {\n\t\treturn new Event(this.rawEvent);\n\t},\n\n\tstopPropagation: function() {\n\t\tthis.rawEvent.stopPropagation();\n\t},\n\n\tpreventDefault: function() {\n\t\tthis.rawEvent.preventDefault();\n\t},\n\n\tstop: function() {\n\t\tthis.preventDefault();\n\t\tthis.stopPropagation();\n\t},\n\n\tisAltDown: function() {\n\t\treturn this.rawEvent.altKey;\n\t},\n\n\tisCommandKey: function() {\n\t\t// this is LK convention, not the content of the event\n\t\tif (Config.useAltAsCommand)\n\t\t\treturn this.isAltDown();\n\t\tif (UserAgent.isWindows || UserAgent.isLinux )\n\t\t\treturn this.isCtrlDown()\n\t\tif (UserAgent.isOpera) // Opera recognizes cmd as ctrl!!?\n\t\t\treturn this.isCtrlDown()\n\t\treturn this.isMetaDown()\n\t},\n\n\tisShiftDown: function() {\n\t\treturn this.rawEvent.shiftKey;\n\t},\n\n\tisMetaDown: function() {\n\t\treturn this.rawEvent.metaKey;\n\t},\n\n\tisCtrlDown: function() {\n\t\treturn this.rawEvent.ctrlKey;\n\t},\n\n\ttoString: function() {\n\t\treturn Strings.format(\"#\",\n\t\tthis.type,\n\t\tthis.mousePoint ? \"@\" + this.mousePoint : \"\",\n\t\tthis.getKeyCode() || \"\");\n\t},\n\n\tsetButtonPressedAndPriorPoint: function(buttonPressed, priorPoint) {\n\t\tthis.mouseButtonPressed = buttonPressed;\n\t\t// if moving or releasing, priorPoint will get found by prior morph\n\t\tthis.priorPoint = priorPoint; \n\t},\n\n\thandlerName: function() {\n\t\treturn \"on\" + this.type;\n\t},\n\n\tgetKeyCode: function() {\n\t\treturn this.rawEvent.keyCode;\n\t},\n\n\tgetKeyChar: function() {\n\t\tif (this.type == \"KeyPress\") { // rk what's the reason for this test?\n\t\t\tvar id = this.rawEvent.charCode || this.rawEvent.which;\n\t\t\tif (id > 63000) return \"\"; // Old Safari sends weird key char codes\n\t\t\treturn id ? String.fromCharCode(id) : \"\";\n\t\t} else {\n\t\t\tvar code = this.rawEvent.which;\n\t\t\treturn code && String.fromCharCode(code);\n\t\t}\n\t},\n\n\twheelDelta: function() {\n\t\t// FIXME: make browser-independent\n\t\treturn this.rawEvent.wheelDelta;\n\t},\n\n\tpoint: function() {\n\t\t// likely origin of event, obvious for mouse events, the hand's position for\n\t\t// keyboard events\n\t\treturn this.mousePoint || this.hand.getPosition();\n\t},\n\n\tisLeftMouseButtonDown: function() {\n\t\treturn this.rawEvent.button === 0;\n\t},\n\n\tisMiddleMouseButtonDown: function() {\n\t\treturn this.rawEvent.button === 1;\n\t},\n\n\tisRightMouseButtonDown: function() {\n\t\treturn this.rawEvent.button === 2;\n\t},\n\n});\n\n\nObject.extend(Event, {\n\trawEvent: tmp,\n\t\n\t// copied from prototype.js:\n\tKEY_BACKSPACE: 8,\n\tKEY_TAB: 9,\n\tKEY_RETURN: 13,\n\tKEY_ESC: 27,\n\tKEY_LEFT: 37,\n\tKEY_UP: 38,\n\tKEY_RIGHT: 39,\n\tKEY_DOWN: 40,\n\tKEY_DELETE: 46,\n\tKEY_HOME: 36,\n\tKEY_END: 35,\n\tKEY_PAGEUP: 33,\n\tKEY_PAGEDOWN: 34,\n\tKEY_INSERT: 45,\n\n\t// not in prototype.js:\n\tKEY_SPACEBAR: 32,\n\tKEY_SHIFT: 16,\n\tKEY_CTRL: 17,\n\tKEY_ALT: 18,\n\tKEY_CMD: 91,\n\n\t\n\tprepareEventSystem: function(canvas) {\n\t\tif (!canvas) return;\n\t\tvar disabler = { \n\t\t\thandleEvent: function(evt) { \t\n\t \t\t\tevt.preventDefault(); \n\t \t\t\treturn false;\n\t\t\t}\n\t \t};\n\t\tcanvas.addEventListener(\"dragstart\", disabler, false);\n\t\tcanvas.addEventListener(\"selectstart\", disabler, false);\n\t\tif (Config.suppressDefaultMouseBehavior)\n\t\t\tGlobal.document.oncontextmenu = Functions.False\n\t},\n});\n\nvar basicMouseEvents = [\"mousedown\", \"mouseup\", \"mousemove\", \"mousewheel\"];\nvar extendedMouseEvents = [ \"mouseover\", \"mouseout\"];\nEvent.mouseEvents = basicMouseEvents.concat(extendedMouseEvents);\nEvent.keyboardEvents = [\"keypress\", \"keyup\", \"keydown\"];\nEvent.basicInputEvents = basicMouseEvents.concat(Event.keyboardEvents).concat([\"touchstart\", \"touchmove\", \"touchend\", \"touchcancel\"]);\n\n})();\n\nObject.extend(Global, {\n\tequals: function(leftObj, rightObj) {\n\t\tif (!leftObj && !rightObj) return true;\n\t\tif (!leftObj || !rightObj) return false;\n\t\tswitch (leftObj.constructor) {\n\t\t\tcase String:\n\t\t\tcase Boolean:\n\t\t\tcase Number:\n\t\t\t\treturn leftObj == rightObj;\n\t\t};\n\t\tif (leftObj.isEqualNode)\n\t\t\treturn leftObj.isEqualNode(rightObj);\n\t\tvar cmp = function(left, right) {\n\t\t\tfor (var value in left)\n\t\t\t\tif (!(left[value] instanceof Function))\n\t\t\t\t\treturn equals(left[value], right[value]);\n\t\t};\n\t\treturn cmp(leftObj, rightObj) && cmp(rightObj, leftObj);\n\t},\t\n});\n\n\nObject.subclass('Exporter', {\n documentation: \"Implementation class for morph serialization\",\n\n rootMorph: null,\n\n\tinitialize: function(rootMorph) {\n\t\tthis.rootMorph = rootMorph;\n\t\t(rootMorph instanceof Morph) || console.log(\"weird, root morph is \" + rootMorph);\n\t},\n\n\textendForSerialization: function(optSystemDictionary) {\n\t\tconsole.log(\"extendForSerialization \" + optSystemDictionary)\n\t\t\n\t\t// decorate with all the extra needed to serialize correctly. Return the additional nodes, to be removed \n\t\tvar helperNodes = [];\n\n\t\tvar exporter = this;\n\n\t\tthis.rootMorph.withAllSubmorphsDo(function() { \n\t\t\texporter.verbose && console.log(\"serializing \" + this);\n\t\t\tthis.prepareForSerialization(helperNodes, optSystemDictionary);\t\t\t\n\t\t\tif (this.owner) { // just add a new line for better readability\n\t\t\t\tvar nl = NodeFactory.createNL();\n\t\t\t\tthis.rawNode.parentNode.insertBefore(nl, this.rawNode);\n\t\t\t\thelperNodes.push(nl);\n\t\t\t}\n\t\t});\n\t\treturn helperNodes;\n\t},\n\n\tremoveHelperNodes: function(helperNodes) {\n\t\tfor (var i = 0; i < helperNodes.length; i++) {\n\t\t\tvar n = helperNodes[i];\n\t\t\tn.parentNode.removeChild(n);\n\t\t}\n\t},\n\t\n\tserialize: function(destDocument, optSystemDictionary) {\n\t\t// model is inserted as part of the root morph.\n\t\tvar helpers = this.extendForSerialization(optSystemDictionary);\n\t\tvar result = destDocument.importNode(this.rootMorph.rawNode, true);\n\t\tthis.removeHelperNodes(helpers);\n\t\treturn result;\n\t\t\n\t},\n});\n\nObject.extend(Exporter, {\n\n\tstringify: function(node) {\n\t\treturn node ? new XMLSerializer().serializeToString(node) : null;\n\t},\n\n\tstringifyArray: function(nodes, conj) {\n\t\treturn nodes.map(function(n) { return Exporter.stringify(n) }).join(conj);\n\t},\n\n\tshrinkWrapNode: function(node) {\n\t\t// FIXME deal with subdirectories: rewrite the base doc and change xlink:href for scripts\n\t\tvar importer = new Importer();\n\t\tvar newDoc = importer.getBaseDocument();\n\t\timporter.canvas(newDoc).appendChild(newDoc.importNode(node, true));\n\t\treturn newDoc;\n\t},\n\n\tshrinkWrapMorph: function(morph) {\n\t\tvar importer = new Importer();\n\t\tvar newDoc = importer.getBaseDocument();\n\t\tif (!newDoc) \n\t\t\tthrow new Error('Can not continue serializing World beacause the base document is broken')\n\t\tnewDoc.getElementsByTagName(\"title\")[0].textContent = document.title; // persist the title\n\t\t// FIXME this should go to another place?\n\t\t// FIXME addSystemDictionary is deprecated\n\t\tlively.data.Wrapper.collectSystemDictionaryGarbage(morph);\n\t\tvar systemDictionary = this.addSystemDictionary(newDoc, morph);\n\t\timporter.canvas(newDoc).appendChild(new Exporter(morph).serialize(newDoc, systemDictionary));\n\t\tvar fieldNodes = $A(newDoc.getElementsByTagName('field'));\n\t\tthis.stripEpimorphs(fieldNodes);\n\t\tthis.stripIgnoredMorphs(fieldNodes);\n\t\treturn newDoc;\n\t},\n\t\n\tstripEpimorphs: function(fieldNodes) {\n\t\tvar fields = fieldNodes.select(function(ea) {\n\t\t\treturn ea.getAttribute(\"name\") == 'isEpimorph'})\n\t\tthis.stripMorphsOfFields(fields);\n\t},\n\t\n\tstripIgnoredMorphs: function(fieldNodes) {\n\t\tvar fields = fieldNodes.select(function(ea) {\n\t\t\treturn ea.getAttribute(\"name\") == 'ignoreWhenCopying'})\n\t\tthis.stripMorphsOfFields(fields); \n\t},\n\t\n\tstripMorphsOfFields: function(fields) {\n\t\t$A(fields).each(function(fieldNode){\n\t\t\tvar morphNode = fieldNode.parentNode;\n\t\t\tconsole.log(\"strip morph: \" + morphNode)\n\t\t\tmorphNode.parentNode.removeChild(morphNode)\n\t\t})\n\t},\n\t\n\taddSystemDictionary: function(doc, morph) {\n\t\tvar dict = morph.dictionary();\n\t\tif (!dict) return;\n\t\tvar preExisting = doc.getElementById(dict.id);\n\t\tif (preExisting) preExisting.parentNode.removeChild(preExisting);\n\t\tvar newDict = dict.cloneNode(true);\n\t\tdoc.getElementsByTagName('svg')[0].appendChild(doc.importNode(newDict, true));\n\t\treturn newDict\n\t},\n\n\tsaveDocumentToFile: function(doc, urlOrFilename, callback) {\n\t\tconsole.group(\"save document\")\n\t\tif (!urlOrFilename) return null;\n\t\tvar string = urlOrFilename.toString();\n\t\tif (!string.endsWith('.xhtml')) {\n\t\t\tstring += \".xhtml\";\n\t\t\tconsole.log(\"changed url to \" + string);\n\t\t};\n\t\t\n\t\tvar url = string.startsWith('http') ? new URL(string) : URL.source.withFilename(string);\n\t\t\n\t\tvar r = new WebResource(url);\n\t\tr.enableShowingProgress();\n\t\tconnect(r, 'status', this, 'showSaveStatus');\n\n\t\tvar progressBar = WorldMorph.current().showStatusProgress(\"\");\n\t\tprogressBar.setLabel(\"saving \" + urlOrFilename);\n\t\tprogressBar.setValue(0);\n\t\tconnect(r, 'progress', progressBar, 'setValue', {converter: function(rpe) { return (rpe.loaded / rpe.total)}});\n\n\t\tvar onFinishedObj = {callback: function(status) {\n\t\t\tconsole.log(\"finished saving\")\n\t\t\tprogressBar.setValue(1);\n\t\t\tcallback(status)\n\t\t}};\n\t\tconnect(r, 'status', onFinishedObj, 'callback');\n\t\t\n\t\tr.beAsync().put(doc)\t\t\n\t\treturn url;\n\t},\n\n\tshowSaveStatus: function(status) {\n\t\tif (status.isSuccess()) {\n\t\t\tconsole.log(\"success publishing world at \" + status.url + \", status \" + status.code());\n\t\t\tconsole.timeEnd(\"save document\")\n\t\t\tconsole.groupEnd(\"save document\")\n\t\t} else {\n\t\t\tWorldMorph.current().alert(\"failure publishing world at \" + status.url + \", status \" + status.code());\n\t\t}\n\t\tconsole.groupEnd(\"save document\")\n\t},\n\t\n\tsaveNodeToFile: function(node, filename) {\n\t\treturn this.saveDocumentToFile(this.shrinkWrapNode(node), filename);\n\t}\n\n});\n\nObject.subclass('Copier', {\n\tdocumentation: \"context for performing deep copy of objects\",\n\n\tisCopier: true,\n\t\n\twrapperMap: null,\n\n\ttoString: function() { \n\t\treturn \"#\"; \n\t},\n\n\tinitialize: function() {\n\t\tthis.wrapperMap = {};\n\t\tthis.patchSites = [];\n\t},\n\n\taddMapping: function(oldId, newMorph) {\n\t\tdbgOn(!this.wrapperMap);\n\t\tthis.wrapperMap[oldId] = newMorph; \n\t},\n\n\tlookup: function(oldId) {\n\t\treturn this.wrapperMap[oldId];\n\t},\n\t\n\tlookUpOrCopy: function(original) {\n\t\tif (!original) \n\t\t\treturn null;\n\t\tvar replacement = this.lookup(original.id());\n\t\tif (!replacement) {\n\t\t\t// console.log(\"lookUpOrCopy: no replacement found for \" + original.id());\n\t\t \tvar replacement = original.copy(this);\n\t\t\tthis.addMapping(original.id(), replacement);\n\t\t};\n\t\treturn replacement\n\t},\n\n\tlookUpOrTakeOriginal: function(original) {\n\t\tif (!original) \n\t\t\treturn null;\n\t\tvar replacement = this.lookup(original.id());\n\t\tif (!replacement) {\n\t\t\treturn original\n\t\t};\n\t\treturn replacement\n\t},\n\n\tshallowCopyProperties: function(wrapper, other) {\t\n\t\tfor (var p in other) {\n\t\t this.shallowCopyProperty(p, wrapper, other)\n\t\t} \n\t},\t\n\n\tcopyProperties: function(wrapper, other) {\t\n\t\tfor (var p in other) {\n\t\t this.copyProperty(p, wrapper, other)\n\t\t} \n\t},\n\n\tcopyNewProperties: function(wrapper, other) {\t\n\t\tfor (var p in other) {\n\t\t if (wrapper[p])\n\t\t\t\tcontinue;\n\t\t\tthis.copyProperty(p, wrapper, other)\n\t\t} \n\t},\n\n\tshallowCopyProperty: function(property, wrapper, other) {\n\t\t// console.log(\"smartCopyProperty \" + property + \" \" + wrapper + \" from: \" + other)\n\t\tif (!other.hasOwnProperty(property))\n\t\t\treturn;\n\t if (!(other[property] instanceof Function) \n\t\t\t&& other.hasOwnProperty(property) \n\t\t\t&& other.noShallowCopyProperties\n\t\t\t&& !other.noShallowCopyProperties.include(property)) {\n\t\t\tif (other[property] instanceof lively.data.Wrapper) {\n\t\t\t var replacement = this.lookup(other[property].id());\n\t\t\t wrapper[property] = replacement || other[property];\n\t\t\t} else {\t\t\t\n\t\t\t\twrapper[property] = other[property];\n\t\t\t}\n\t }\n\t},\n\t\n\tsmartCopyProperty: function(property, wrapper, other) {\n\t\t// console.log(\"smartCopyProperty \" + property + \" \" + wrapper + \" from: \" + other)\n\t\tvar original = other[property];\n\t\tif (original) {\n\t\t\tif (Object.isArray(original)) {\n\t\t\t\twrapper[property] = original.collect(function each(ea) { \n\t\t\t\t\treturn this.lookUpOrCopy(ea)}, this);\n\t\t\t} else {\t\t\t\n\t\t\t\twrapper[property] = this.lookUpOrCopy(original)\n\t\t\t};\n\t\t};\n\t},\n\t\n\tcopyOrPatchProperty: function (property, object, other) {\n\t\tvar original = other[property]\n\t\tif (original && original.id && (original.id instanceof Function)) {\n\t\t\tthis.addPatchSite(object, property, original.id());\n\t\t\tobject[property] = this.lookUpOrTakeOriginal(original)\n\t\t} else {\n\t\t\t// shallow copy\n\t\t\tobject[property] = original\n\t\t}\t\t\n\t},\n\t\n\tcopyProperty: function (property, object, other) {\n\t\t// console.log(\"smartCopyProperty \" + property + \" \" + object + \" from: \" + other)\n\n\t if (other[property] instanceof Function && other[property].isSerializable) {\n\t\t\tobject[property] = other[property]; // share script\n\t\t\treturn\n\t\t};\n\n\t if ((other[property] instanceof Function) \n\t\t \t|| ! other.hasOwnProperty(property) \n\t\t \t|| (other.doNotCopyProperties && other.doNotCopyProperties.include(property)))\n\t\t\treturn; // copy nothing\t\t\n\t\tvar original = other[property];\n\t\tif (original !== undefined) {\n\t\t\tif (original && Object.isArray(original)) {\n\t\t\t\tvar a = original.clone();\n\t\t\t\tfor (var i=0; i\" },\n\n\tinitialize: function($super) {\n\t\t$super();\n\t\tthis.scripts = [];\n\t\tthis.models = [];\n\t\tthis.patchSites = [];\n\t},\n\n\tcanvas: function(doc) { return locateCanvas(doc) },\n\n\tgetBaseDocument: function() {\n\t\t// FIXME memoize\n\t\tvar webRes = new WebResource(URL.source).get()\n\t\tvar status = webRes.status;\n\t\tif (!status.isSuccess()) {\n\t\t\tconsole.log(\"failure retrieving \" + URL.source + \", status \" + status);\n\t\t\treturn null;\n\t\t} else {\n\t\t\tvar doc = webRes.contentDocument;\n\t\t\tconsole.log(\"problems to parse \" + URL.source);\n\t\t\tif (!doc)\n\t\t\t\treturn null;\n\t\t\tthis.clearCanvas(doc);\n\t\t\treturn doc;\n\t\t}\n\t},\n\n \n\tcanvasContent: function(doc) {\n\t\tvar canvas = this.canvas(doc);\n\t\tvar elements = [];\n\t\tfor (var node = canvas.firstChild; node != null; node = node.nextSibling) {\n\t\t\tswitch (node.localName) {\n\t\t\t\tcase \"g\":\n\t\t\t\telements.push(node);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn elements;\n\t},\n\n\tclearCanvas: function(doc) {\n\t\tvar canvas = this.canvas(doc);\n\t\tvar node = canvas.firstChild;\n\t\twhile (node) {\n\t\t\tvar toRemove = node;\n\t\t\tnode = node.nextSibling;\n\t\t\tif (toRemove.localName == \"g\") \n\t\t\t\tcanvas.removeChild(toRemove);\n\t\t}\n\t},\n\n\tstartScripts: function(world) {\n\t\tthis.verbose && console.log(\"start scripts %s in %s\", this.scripts, world);\n\t\t// sometimes there are null values in this.scripts. Filter them out\n\t\tthis.scripts.select(function(ea) {return ea}).forEach(function(s) { s.start(world); });\n\t},\n \n importWrapperFromNode: function(rawNode) {\n\t\t///console.log('making morph from %s %s', node, LivelyNS.getType(node));\n\t\t// call reflectively b/c 'this' is not a Visual yet. \n\t\tvar wrapperType = lively.data.Wrapper.getEncodedType(rawNode);\n\t\n\t\tif (!wrapperType || !Class.forName(wrapperType)) {\n\t\t\tif (Config.silentFailOnWrapperClassNotFound) {\n\t\t\t\tconsole.log(Strings.format(\"ERROR: node %s (parent %s) cannot be a morph of %s\",\n\t\t \t\t \trawNode.tagName, rawNode.parentNode, wrapperType));\n\t\t\t\tvar morph = new Morph(this, rawNode);\n\t\t\t\tmorph.applyStyle({borderColor: Color.red, borderWidth: 8});\n\t\t\t\tmorph.isEmergencyMorph = true;\n\t\t\t\treturn morph;\n\t\t\t} else {\n\t\t\t throw new Error(Strings.format(\"node %s (parent %s) cannot be a morph of %s\",\n\t\t\t \trawNode.tagName, rawNode.parentNode, wrapperType));\t \n\t\t\t}\n\t\t}\n\n\t\treturn new (Class.forName(wrapperType))(this, rawNode);\n\t\t/*\n\t\ttry {\n\n\t\t} catch (er) {\n\t\t console.log(\"%s instantiating type %s from node %s\", er, \n\t\t\t\twrapperType, Exporter.stringify(rawNode));\n\t\t throw er;\n\t\t}*/\n\t},\n\n importWrapperFromString: function(string) {\n\t\treturn this.importWrapperFromNode(this.parse(string));\n },\n\n\tparse: function(string) {\n\t\tvar parser = new DOMParser();\n\t\tvar xml = parser.parseFromString(' ' + string, \"text/xml\");\n\t\tif (xml.documentElement.tagName == \"html\") {\n\t\t\tthrow new Error(\"xml parse error: \" + Exporter.stringify(xml.documentElement));\n\t\t} \n\t\treturn document.importNode(xml.documentElement, true);\n\t},\n\n\timportFromNodeList: function(nodes) {\n\t\tvar morphs = [];\n\t\tfor (var i = 0; i < nodes.length; i++) {\n\t\t\tvar node = nodes[i];\n\t\t\t// console.log(\"found node \" + Exporter.stringify(node));\n\t\t\tif (node.localName != \"g\") continue;\n\t\t\tmorphs.push(this.importWrapperFromNode(node.ownerDocument === Global.document ? \n\t\t\t\tnode : Global.document.importNode(node, true)));\n\t\t}\n\t\treturn morphs;\n\t},\n\n\tfinishImport: function(world) {\n\t\tthis.patchReferences();\n\t\tthis.hookupModels();\n\t\tthis.runDeserializationHooks();\n\t\ttry {\n\t\t\tthis.startScripts(world);\n\t\t} catch (er) {\n\t\t\tconsole.log(\"scripts failed: \" + er);\n\t\t}\n\t},\n\n\thookupModels: function() {\n\t\tProperties.forEachOwn(this.wrapperMap, function each(key, wrapper) {\n\t\t\tif (wrapper.reconnectModel) {// instanceof View\n\t\t\t\tvar m = wrapper.reconnectModel();\n\t\t\t\tm && console.log('connecting model on ' + wrapper + \" model \" + m);\n\t\t\t}\n\t\t});\n\t},\n\n\trunDeserializationHooks: function() {\n\t\tProperties.forEachOwn(this.wrapperMap, function each(key, wrapper) {\n\t\t\tif (wrapper.onDeserialize) {\n\t\t\t\ttry {\n\t\t\t\t\twrapper.onDeserialize();\n\t\t\t\t} catch(e) {\n\t\t\t\t\tconsole.warn('Cannot deserialize ' + wrapper + ': ' + e + '\\n' + e.stack)\n\t\t\t\t}\n\t\t\t} \n\t\t\t// collect scripts\n\t\t\tif (wrapper.activeScripts)\n\t\t\t\tthis.scripts = this.scripts.concat(wrapper.activeScripts);\n\t\t}, this);\n\t},\n\n\n\tloadWorldInSubworld: function(doc) {\n\t\tvar nodes = this.canvasContent(doc);\n\t\tif (!nodes) {\n\t\t\tWorldMorph.current().alert('no morphs found');\n\t\t\treturn null;\n\t\t}\n\t\tvar world = new WorldMorph(WorldMorph.current().canvas());\n\t\tvar morphs = this.importFromNodeList(nodes);\n\n\t\tmorphs.forEach(function(morph) {\n\t\t\tif (morph instanceof WorldMorph) morph.submorphs.clone().forEach(function(m) { world.addMorph(m) });\n\t\t\telse world.addMorph(morph);\n\t\t});\n\t\n\t\t// post addition\n\t\tthis.finishImport(world);\n\n\t\tvar link = WorldMorph.current().reactiveAddMorph(new LinkMorph(world));\n\t\tlink.addPathBack();\n\t\treturn world;\n\t},\n\n\tloadWorldContentsInCurrent: function(doc) {\n\t\tvar world = this.loadWorldContents(doc);\n\t\t// FIXME? scripts have started already ?\n\t\tworld.submorphs.clone().forEach(function(m) { \n\t\t\tWorldMorph.current().addMorph(m) \n\t\t});\n\t},\n \n\tloadWorldContents: function(doc) { \n\t\t// possibly doc === Global.document; \n\t\tvar world = null;\n\t\tvar morphs = this.importFromNodeList(this.canvasContent(doc));\n\n\t\tif (!(0 in morphs)) \n\t\t\treturn null;\n\n\t\tvar canvas = this.canvas(doc);\n\n\t\tif (morphs[0] instanceof WorldMorph) {\n\t\t\tworld = morphs[0];\t\n\t\t\tif (morphs.length > 1) console.log(\"more than one top level morph following a WorldMorph, ignoring remaining morphs\");\n\t\t} else {\n\t\t\t// no world, create one and add all the serialized morphs to it.\n\t\t\tworld = new WorldMorph(canvas);\n\t\t\t// this adds a the WorldMorph's at the end of the list\n\t\t\tcanvas.appendChild(world.rawNode);\n\t\t\t// the following will reparent all the existing morphs under the WorldMorph's \n\t\t\tmorphs.clone().forEach(function(m) { world.addMorph(m); });\n\t\t}\n\t\tthis.finishImport(world);\n\n\t\treturn world;\n\t}\n});\n\nObject.extend(Importer, {\n\tmarker: Object.extend(new Importer(), {\n\t addMapping: Functions.Empty,\n\t lookup: Functions.Null,\n\t}),\n});\n\n\nFunction.addMethods(\n'serialization', {\n\ttoLiteral: function() {\n\t\treturn {source: String(this)}\n\t},\n\tunbind: function() {\n\t\t// for serializing functions\n\t\treturn Function.fromString(this.toString());\n\t},\n\tasScript: function() {\n\t\tvar script = this.unbind();\n\t\tscript.isSerializable = true;\n\t\treturn script;\n\t},\n\tasScriptOf: function(obj, optName) {\n\t\tvar name = optName || this.name;\n\t\tif (!name)\n\t\t\tthrow Error(\"Function that wants to be a script needs a name: \" + this);\n\t\tobj[name] = this.asScript();\n\t\treturn obj[name];\n\t},\n});\n\nObject.extend(Function, {\n\tfromString: function(funcOrString) {\n\t\treturn eval('(' + funcOrString.toString() + ')') \n\t},\n\n\tfromLiteral: function(obj) { \n\t\treturn Function.fromString(obj.source).asScript();\n\t},\n});\n\n\n// ===========================================================================\n// Morph functionality\n// ===========================================================================\n\nObject.subclass('MouseHandlerForDragging', {\n\n\thandleMouseEvent: function(evt, targetMorph) {\n\t\tif (evt.type == \"MouseDown\") evt.hand.setMouseFocus(targetMorph);\n\t\tevt.hand.resetMouseFocusChanges();\n\n\t\tvar handler = targetMorph[evt.handlerName()];\n\t\tif (handler) handler.call(targetMorph, evt, targetMorph);\n\n\t\tif (evt.type == \"MouseUp\") {\n\t\t\t// cancel focus unless it was set in the handler\n\t\t\tif (evt.hand.resetMouseFocusChanges() == 0) {\n\t\t\t\tevt.hand.setMouseFocus(null);\n\t\t\t}\n\t\t}\n\t\treturn true; \n\t},\n\n handlesMouseDown: Functions.False\n});\n\nObject.subclass('MouseHandlerForRelay', {\n\n\tdefaultEventSpec: {onMouseDown: \"onMouseDown\", onMouseMove: \"onMouseMove\", onMouseUp: \"onMouseUp\"},\n\t\n\tinitialize: function (target, eventSpec) {\n\t\t// Send events to a different target, with different methods\n\t\t// Ex: box.relayMouseEvents(box.owner, {onMouseUp: \"boxReleased\", onMouseDown: \"boxPressed\"})\n\t\tthis.target = target;\n\t\tthis.eventSpec = eventSpec || this.defaultEventSpec;\n\t},\n\n\thandleMouseEvent: function(evt, originalTarget) {\n\t\tif (evt.type == \"MouseDown\") evt.hand.setMouseFocus(originalTarget);\n\t\tevt.hand.resetMouseFocusChanges();\n\n\t\tvar handler = this.target[this.eventSpec[evt.handlerName()]];\n\t\tif (handler) handler.call(this.target, evt, originalTarget);\n\n\t\tif (evt.type == \"MouseUp\") {\n\t\t\t// cancel focus unless it was set in the handler\n\t\t\tif (evt.hand.resetMouseFocusChanges() == 0) {\n\t\t\t\tevt.hand.setMouseFocus(null);\n\t\t\t}\n\t\t}\n\t\treturn true; \n\t},\n\n handlesMouseDown: Functions.True\n\n});\n\n/**\n * Morph Class \n */\nlively.data.Wrapper.subclass('Morph');\n\nObject.extend(Morph, {\n\t// Functions for change management\n \t// this static function is needed to bind it during the defintion of some Morph methods\n\tonLayoutChange: function(fieldName) { \n\t\treturn function layoutChangeAdvice(/* arguments*/) {\n\t\t\tvar priorExtent = this.innerBounds().extent();\n\t\t\tthis.changed();\n\t\t\tvar args = $A(arguments);\n\t\t\tvar proceed = args.shift();\n\t\t\tvar result = proceed.apply(this, args);\n\t\t\tthis.layoutChanged(priorExtent);\n\t\t\tthis.changed(); \n\t\t\treturn result;\n\t\t}\n\t},\n\n\tfromLiteral: function(literal) {\n\t\tvar morph = new Morph(literal.shape);\n\t\tif (literal.submorphs) {\n\t\t\tif (Object.isArray(literal.submorphs))\n\t\t\t\tmorph.setSubmorphs(literal.submorphs);\n\t\t\telse throw new TypeError();\n\t\t}\n\t\tif (literal.transforms) {\n\t\t\tmorph.setTransforms(literal.transforms);\n\t\t}\n\t\treturn morph;\n\t},\n\n\t// factory methods\n\tmakeLine: function(verts, lineWidth, lineColor) {\n\t\t// make a line with its origin at the first vertex\n\t\t// Note this works for simple lines (2 vertices) and general polylines\n\t\tverts = verts.invoke('subPt', verts[0]);\n\t\tvar shape = new lively.scene.Polyline(verts);\n\t\tvar morph = new Morph(shape);\n\t\tmorph.setBorderWidth(lineWidth);\n\t\tmorph.setBorderColor(lineColor);\n\t\tmorph.setFill(null);\n\t\treturn morph;\n\t},\n\n\tmakeCircle: function(location, radius, lineWidth, lineColor, fill) {\n\t\t// make a circle of the given radius with its origin at the center\n\t\tvar morph = new Morph(new lively.scene.Ellipse(location, radius));\n\t\tmorph.setBorderWidth(lineWidth);\n\t\tmorph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill || Color.blue);\n\t\treturn morph;\n\t},\n\n\tmakeEllipse: function(bounds, lineWidth, lineColor, fill) {\n\t\t// make a circle first (a bit wasteful)\n\t\tvar morph = this.makeCircle(bounds.center(), 0, lineWidth, lineColor, fill);\n\t\tmorph.setBounds(bounds);\n\t\tmorph.moveOriginBy(morph.innerBounds().center())\n\t\treturn morph;\n\t},\n\n\tmakeRectangle: function(/**/) {\n\t\tvar morph;\n\t\tswitch (arguments.length) {\n\t\t\tcase 1: // rectangle\n\t\t\tif (!(arguments[0] instanceof Rectangle)) throw new TypeError(arguments[0] + ' not a rectangle');\n\t\t\tmorph = new Morph(new lively.scene.Rectangle(arguments[0]));\n\t\t\tbreak;\n\t\t\tcase 2: // location and extent\n\t\t\tmorph = new Morph(new lively.scene.Rectangle(arguments[0].extent(arguments[1])));\n\t\t\tbreak;\n\t\t\tcase 4: // x,y,width, height\n\t\t\tmorph = new Morph(new lively.scene.Rectangle(new Rectangle(arguments[0], arguments[1], arguments[2], arguments[3])));\n\t\t\tbreak;\n\t\t\tdefault:\n\t\t\tthrow new Error(\"bad arguments \" + arguments);\n\t\t}\n\t\treturn morph.applyStyle({borderWidth: 1, borderColor: Color.black, fill: Color.blue});\n\t},\n\n\tmakePolygon: function(verts, lineWidth, lineColor, fill) {\n\t\tvar morph = new Morph(new lively.scene.Polygon(verts));\n\t\tmorph.setBorderWidth(lineWidth);\n\t\tmorph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill);\n\t\treturn morph;\n\t\t//return morph.applyStyle({fill: fill, borderWidth: lineWidth, borderColor: lineColor});\n\t},\n\n\tmakeStar: function(position) {\n\t\tvar makeStarVertices = function(r,center,startAngle) {\n\t\t\tvar vertices = [];\n\t\t\tvar nVerts = 10;\n\t\t\tfor (var i=0; i <= nVerts; i++) {\n\t\t\t\tvar a = startAngle + (2*Math.PI/nVerts*i);\n\t\t\t\tvar p = Point.polar(r,a);\n\t\t\t\tif (i%2 == 0) p = p.scaleBy(0.39);\n\t\t\t\tvertices.push(p.addPt(center)); \n\t\t\t}\n\t\t\treturn vertices; \n\t\t}\n\t\tvar morph = Morph.makePolygon(makeStarVertices(50,pt(0,0),0), 1, Color.black, Color.yellow);\n\t\tmorph.setPosition(position);\n\t\treturn morph\n\t},\n\t\n\tmakeCurve: function(verts, ctrls, closed) {\n\t\t// Make up a new quadratic spline from the supplied vertices and control points.\n\t\t// ctrls[i] is the ctrl point for segment from verts[i-1] to verts[i]. (ctrls[0] is never used)\n\t\tif (verts.length < 2) return;\n\t\t// console.log(\"verts = \" + Object.inspect(verts));\n\t\t// console.log(\"ctrls = \" + Object.inspect(ctrls));\n\t\tvar g = lively.scene;\n\t\tvar cmds = [];\n\t\tcmds.push(new g.MoveTo(true, verts[0].x, verts[0].y));\n\t\tfor (var i=1; i 1) console.warn('More than one code node');\n\t\t\t// ChangeSet of World gets evaluated in main\n \t}\n\t},\n\n restoreFromSubnodes: function(importer) {\n // wade through the children\n var children = [];\n var helperNodes = [];\n \n for (var desc = this.rawNode.firstChild; desc != null; desc = desc.nextSibling) {\n if (desc.nodeType == Node.TEXT_NODE || desc.nodeType == Node.COMMENT_NODE) {\n if (desc.textContent == \"\\n\") \n helperNodes.push(desc); // remove newlines, which will be reinserted for formatting\n continue; // ignore whitespace and maybe other things\n }\n var type = lively.data.Wrapper.getEncodedType(desc);\n // depth first traversal\n\n\t\t\t// WebCards...\n\t\t \t// if (type && !type.startsWith(\"anonymous_\")) { //I have no idea what that mean\n\n if (type) {\n var wrapper = importer.importWrapperFromNode(desc);\n if (wrapper instanceof Morph) {\n this.submorphs.push(wrapper); \n wrapper.owner = this;\n } else children.push(desc);\n } else {\n children.push(desc);\n }\n }\n\n for (var i = 0; i < children.length; i++) {\n var node = children[i];\n var shape = lively.scene.Shape.importFromNode(importer, node);\n if (shape) {\n this.shape = shape;\n continue;\n }\n switch (node.localName) {\n // nodes from the Lively namespace\n case \"field\": {\n // console.log(\"found field \" + Exporter.stringify(node));\n helperNodes.push(node);\n this.deserializeFieldFromNode(importer, node); \n break;\n }\n case \"widget\": {\n this.deserializeWidgetFromNode(importer, node);\n break;\n }\n case \"array\": {\n helperNodes.push(node);\n this.deserializeArrayFromNode(importer, node);\n break;\n }\n case \"relay\": {\n this.deserializeRelayFromNode(importer, node);\n break;\n }\n case \"record\": {\n this.deserializeRecordFromNode(importer, node);\n break;\n }\n case \"defs\": { \n\t\t\t\tthis.restoreFromDefsNode(importer, node);\n break;\n }\n default: {\n if (node.nodeType === Node.TEXT_NODE) {\n //console.log('text tag name %s', node.tagName);\n // whitespace, ignore\n } else if (!this.restoreFromSubnode(importer, node)) {\n console.warn('not handling %s, %s', node.tagName || node.nodeType, node.textContent);\n }\n }\n }\n } // end for\n\n for (var i = 0; i < helperNodes.length; i++) {\n var n = helperNodes[i];\n n.parentNode.removeChild(n);\n }\n },\n\n\tresolveUriToObject: function(uri) {\n\t\tif (this.id() == uri)\n\t\t\treturn this;\n\t\tif (this.ownerWidget) {\n\t\t\tvar result = this.ownerWidget.resolveUriToObject(uri)\n\t\t\tif (result)\n\t\t\t\treturn result;\n\t\t};\t\n\t\tfor (var i=0; i < this.submorphs.length; i++) {\n\t\t\tvar result = this.submorphs[i].resolveUriToObject(uri);\n\t\t\tif (result)\n\t\t\t\treturn result;\n\t\t}\n\t\treturn null\n\t},\n\t\t\n\t// Fill Garbage Collection on Serialization...\n\tcollectAllUsedFills: function(/*$super, */result) {\n\t\t// result = $super(result);\n\t\tvar fill = this.getFill();\n\t\tif (fill instanceof lively.paint.Gradient) result.push(fill);\n\t\tvar stroke = this.shape.getStroke(); // fixme\n\t\tif (stroke instanceof lively.paint.Gradient) result.push(stroke);\n\t\tif (this.submorphs) this.submorphs.invoke('collectAllUsedFills', result);\n\t\treturn result\n\t},\n\n\texportLinkedFile: function(filename) {\n\t\tvar url;\n\t\tif (Global[\"WikiNavigator\"] && WikiNavigator.current) {\n\t\t\tvar nav = WikiNavigator.current;\n\t\t\turl = WikiNavigator.fileNameToURL(filename);\n\t\t\tnav.interactiveSaveWorld(url);\n\t\t} else {\n\t\t\turl = WorldMorph.current().saveWorld(filename);\n\t\t}\n\t\tif (url) this.world().reactiveAddMorph(new ExternalLinkMorph(url));\n\t\treturn url;\n\t},\n\n},\n'accessing', {\n\tgetName: function() { return this.name },\n\n\tsetName: function(str) { this.name = str; return name },\n\n\tcanvas: function() {\n\t\treturn locateCanvas(this.rawNode);\n\t},\n\t\n getOwnerWidget: function() {\n\t\treturn this.ownerWidget || this.owner.getOwnerWidget();\n\t},\n\n\townerChain: function() {\n\t\t// Return an array of me and all my owners\n\t\t// First item is, eg, world; last item is me\n\t\tif (!this.owner) return [this];\n\t\tvar owners = this.owner.ownerChain();\n\t\towners.push(this);\n\t\treturn owners;\n\t},\n\n},\n'styling',{\t// tmp copy\n\n\tgetStyleClass: function() { return this.styleClass || [] },\n\n\tsetStyleClass: function(value) {\n\t\tvar attr;\n\t\tif (value instanceof Array) {\n\t\t\tthis.styleClass = value;\n\t\t\tattr = value.join(' ');\n\t\t} else {\n\t\t\tthis.styleClass = [value];\n\t\t\tattr = String(value);\n\t\t}\n\t\tthis.rawNode.setAttribute(\"class\", attr);\n\t\treturn value;\n\t},\n\n\tapplyStyle: function(specs) { // note: use reflection instead?\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar spec = arguments[i];\n\t\t\tif(!spec) return; // dbgOn(!spec);\n\t\t\tif (spec.borderWidth !== undefined) this.setBorderWidth(spec.borderWidth);\n\t\t\tif (spec.borderColor !== undefined) this.setBorderColor(spec.borderColor);\n\t\t\tif (spec.fill !== undefined) this.setFill(spec.fill);\n\t\t\tif (spec.opacity !== undefined) {\n\t\t\t\tthis.setFillOpacity(spec.opacity);\n\t\t\t\tthis.setStrokeOpacity(spec.opacity); \n\t\t\t}\n\t\t\tif (spec.fillOpacity !== undefined) this.setFillOpacity(spec.fillOpacity);\n\t\t\tif (spec.strokeOpacity !== undefined) this.setStrokeOpacity(spec.strokeOpacity);\n\n\t\t\tif (this.shape.roundEdgesBy && spec.borderRadius !== undefined) { \n\t\t\t\tthis.shape.roundEdgesBy(spec.borderRadius);\n\t\t\t}\n\t\t\tif (spec.suppressGrabbing !== undefined) this.suppressGrabbing = spec.suppressGrabbing;\n\t\t\tif (spec.suppressHandles !== undefined) this.suppressHandles = spec.suppressHandles;\n\n\t\t\tif (spec.focusHaloBorderWidth !== undefined) this.focusHaloBorderWidth = spec.focusHaloBorderWidth;\n\t\t\tif (spec.focusHaloInset !== undefined) this.focusHaloInset = spec.focusHaloInset;\n\t\t\tif (spec.padding !== undefined) this.padding = spec.padding;\n\t\t\tif (spec.margin !== undefined) this.margin = spec.margin;\n\t\t}\n\t\treturn this;\n\t},\n\n\tmakeStyleSpec: function() {\n\t\t// Adjust all visual attributes specified in the style spec\n\t\tvar spec = { };\n\t\tspec.borderWidth = this.getBorderWidth();\n\t\tspec.borderColor = this.getBorderColor();\n\t\tspec.fill = this.getFill();\n\t\tif (this.shape.getBorderRadius) spec.borderRadius = this.shape.getBorderRadius() || 0.0;\n\t\tspec.fillOpacity = typeof this.shape.getFillOpacity() !== undefined ? this.shape.getFillOpacity() : 1.0;\n\t\tspec.strokeOpacity = typeof this.shape.getStrokeOpacity() !== undefined ? this.shape.getStrokeOpacity() : 1.0;\t\t\n\t\treturn spec;\n\t},\n\n\tapplyStyleNamed: function(name) {\n\t\tvar style = this.styleNamed(name);\n\t\tif (style) this.applyStyle(style);\n\t\telse console.warn(\"applyStyleNamed: no style named \" + name)\n\t},\n\n\tstyleNamed: function(name) {\n\t\t// Look the name up in the Morph tree, else in current world\n\t\tif (this.displayTheme) return this.displayTheme[name];\n\t\tif (this.owner) return this.owner.styleNamed(name);\n\t\tvar world = WorldMorph.current();\n\t\tif (world && (this !== world)) return world.styleNamed(name);\n\t\treturn DisplayThemes[Config.defaultDisplayTheme || \"lively\"][name]; // FIXME for onDeserialize, when no world exists yet\n\t},\n\n\tlinkToStyles: function(styleClassList, optSupressApplication) {\n\t\t// Record the links for later updates, and apply them now\n\t\tthis.setStyleClass(styleClassList);\n\t\tif (!optSupressApplication) this.applyLinkedStyles();\n\t\treturn this;\n\t},\n\n\tapplyLinkedStyles: function() {\n\t\t// Apply all the styles to which I am linked, in order\n\t\tvar styleClasses = this.getStyleClass();\n\t\tif (!styleClasses) return;\n\t\tfor (var i = 0; i < styleClasses.length; i++) {\n\t\t\tthis.applyStyleNamed(styleClasses[i]); \n\t\t}\n\t},\n},\n'appearance', { // Functions for manipulating the visual attributes of Morphs\n\t\n\tsetFill: function(fill) {\n\t\tthis.shape.setFill(fill);\n\t\tthis.changed();\n\t\treturn fill;\n\t},\n\n\tgetFill: function() { return this.shape.getFill() },\n\n\tsetBorderColor: function(newColor) {\n\t\tthis.shape.setStroke(newColor);\n\t\t// this.changed();\n\t\treturn newColor\n\t},\n\n\tgetBorderColor: function() {\n\t\treturn new Color(Importer.marker, this.shape.getStroke());\n\t},\n\n\t// FIXME for Chrome border bug\n\tnearlyZeroBorderWidth: 0.00001,\n\n\tsetBorderWidth: function(newWidth) {\n\t\tif (newWidth == null) newWidth = 0;\n\t\tif (Config.ChromeWindowsBorderBugFix) {\n\t\t\t// Workaround Chrome Windows BUG\n\t\t\t// that displays a line when the strok width is 0\n\t\t\tif (newWidth == 0) newWidth = this.nearlyZeroBorderWidth;\n\t\t}\n\t\t\n\t\tvar oldWidth = this.getBorderWidth();\n\t\tif (newWidth == oldWidth) return;\n\n\t\t// Opt: only notify change with the bigger of two bounds\n\t\tif (oldWidth > newWidth) this.changed();\n\t\tthis.shape.setStrokeWidth(newWidth); \n\t\tif (newWidth > oldWidth) this.changed();\n\t\treturn newWidth\n\t},\n\n\tgetBorderWidth: function() {\n\t\treturn this.shape.getStrokeWidth() || 0; // FIXME: fix defaults logic\n\t},\n\n \tsetBorderRadius: function(r) {//jd\n \tthis.shape.roundEdgesBy(r);\n\t\tthis.changed();\n\t\treturn r\n },\n\n \tgetBorderRadius: function() {\n\t\treturn this.shape.getBorderRadius(); \n\t},\n\n\tshapeRoundEdgesBy: function(r) {\n\t\tthis.setBorderRadius(r);\n\t},\n\n\tgetFillOpacity: function() { return this.shape.getFillOpacity(); },\n\n\tsetFillOpacity: function(op) {\n\t\tthis.shape.setFillOpacity(op);\n\t\tthis.changed(); // FIXME better use specific update\n\t\treturn op;\n\t},\n\n\tsetStrokeOpacity: function(op) { \n\t\tthis.shape.setStrokeOpacity(op);\n\t\tthis.changed(); // FIXME better use specific update\n\t\treturn op;\n\t},\n\n\tgetStrokeOpacity: function() { return this.shape.getStrokeOpacity() },\n\n setLineJoin: function(joinType) { this.shape.setLineJoin(joinType); return joinType },\n\n\tgetLineJoin: function() { return this.shape.getLineJoin() }, \n\n setLineCap: function(capType) { this.shape.setLineCap(capType); return capType },\n\n \tgetLineCap: function() { return this.shape.getLineCap() },\n\n // toggle fisheye effect on/off\n\ttoggleFisheye: function() { \n\t\t// if fisheye is true, we need to scale the morph to original size\n\t\tif (this.fishEye) {\n\t\t\tthis.setScale(this.getScale() / this.fisheyeScale);\n\t\t\tthis.setFisheyeScale(1.0);\n\t\t}\n\t\t// toggle fisheye\n\t\tthis.fishEye = !this.fishEye;\n\t},\n\n\t// sets the scaling factor for the fisheye between 1..fisheyeGrowth\n\tsetFisheyeScale: function (newScale) {\n\t\t// take the original centerpoint\n\t\tvar p = this.bounds().center();\n\n\t\tthis.fisheyeScale = newScale;\n\t\tthis.pvtCachedTransform = null;\n\t\tthis.layoutChanged(); \n\t\tthis.changed();\n\n\t\t// if the fisheye was on move the fisheye'd morph by the difference between \n\t\t// original center point and the new center point divided by 2\n\t\tif (this.fishEye) {\n\t\t\t// (new.center - orig.center)/2\n\t\t\tvar k = this.bounds().center().subPt(p).scaleBy(.5).negated();\n\t\t\tif (!pt(0,0).eqPt(k)) {\n\t\t\t\tthis.setPosition(this.position().addPt(k));\n\t\t\t\tthis.layoutChanged(); \n\t\t\t\tthis.changed();\n\t\t\t}\n\t\t}\n\t},\n\n\tisVisible: function() { // FIXME delegate to sceneNode when conversion finished\n\t\t// Note: this may not be correct in general in SVG due to inheritance,\n\t\t// but should work in LIVELY.\n\t\tvar hidden = this.rawNode.getAttributeNS(null, \"display\") == \"none\";\n\t\treturn hidden == false;\n\t},\n\n\tsetVisible: function(flag) { // FIXME delegate to sceneNode when conversion finished\n\t\tif (flag) this.rawNode.removeAttributeNS(null, \"display\");\n\t\telse this.rawNode.setAttributeNS(null, \"display\", \"none\");\n\t\treturn this;\n\t},\n\t\n\tapplyFilter: function(filterUri) {// FIXME delegate to sceneNode when conversion finished\n\t\tif (filterUri) \n\t\t\tthis.rawNode.setAttributeNS(null, \"filter\", filterUri);\n\t\telse\n\t\t\tthis.rawNode.removeAttributeNS(null, \"filter\");\n\t},\n\t\n},\n'shape related', {\n\n\t// NOTE: The following four methods should all be factored into a single bit of reshaping logic\n\tapplyFunctionToShape: function() { // my kingdom for a Smalltalk block!\n\t\tvar args = $A(arguments);\n\t\tvar func = args.shift();\n\t\tfunc.apply(this.shape, args);\n\t\tthis.adjustForNewBounds();\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tinternalSetShape: function(newShape) {\n\t\tif (!newShape.rawNode) {\n\t\t\tconsole.log('newShape is ' + newShape);\n\t\t\tlively.lang.Execution.showStack();\n\t\t}\n\n\t\tthis.rawNode.replaceChild(newShape.rawNode, this.shape.rawNode);\n\t\tthis.shape = newShape;\n\t\tthis.adjustForNewBounds();\n\t},\n\n\tsetShape: function(newShape) {\n\t\tthis.internalSetShape(newShape);\n\t\treturn newShape;\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\treshape: function(partName, newPoint, lastCall) {\n\t\ttry {\n\t\t\treturn this.shape.reshape(partName,newPoint,lastCall);\n\t\t} finally {\n\t\t\t// FIXME: consider converting polyline to polygon when vertices merge.\n\t\t\tif (this.layoutManager && this.layoutManager.onReshape) this.layoutManager.onReshape(this);\n\t\t}\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tsetVertices: function(newVerts) {\n\t\t// particular to polygons\n\t\tthis.shape.setVertices(newVerts);\n\t\tthis.adjustForNewBounds();\n\t\treturn newVerts;\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tbeClipMorph: function() {\n\t\t// For simple morphs (rectangles, ellipses, polygons) this will cause all submorphs\n\t\t// to be clipped to the shape of this morph.\n\t\t// Note: the bounds function should probably be copied from ClipMorph as\n\t\t//\t\tpart of this mutation\n\t\tvar defs = this.rawNode.appendChild(NodeFactory.create('defs'));\n\t\tthis.clip = new lively.scene.Clip(this.shape);\n\t\tdefs.appendChild(this.clip.rawNode);\n\t\tthis.clip.applyTo(this);\n\t\tthis.isClipMorph = true;\n\t},\n\n},\n'layouting',{\n\n // FIXME: this doesn't account properly for border width\n // the CSS box model, see http://www.w3.org/TR/REC-CSS2/box.html \n padding: new Rectangle(0, 0, 0, 0), // between morph borders and its content (inwards)\n margin: new Rectangle(0, 0, 0, 0), // between morph border and its siblings\n \n\tlayoutManager: null, // singleton, intialzided later\n\n\t// Simple hack until the layout manager can relayout\n\trelayout: function() {\n\t\tif (this.layoutManager) this.layoutManager.layout(this);\n\t},\n\n\tsetBounds: function(newRect) {\n\t\tif (!newRect) return;\n\t\tthis.layoutManager.setBounds(this, newRect);\n\t\treturn newRect;\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tsetExtent: function(newExtent) {\n\t\tthis.layoutManager.setExtent(this, newExtent);\n\t\treturn newExtent;\n\t},\n\n\tgetExtent: function(newRect) { return this.shape.bounds().extent() },\n\n\tposition: function() { // Deprecated -- use getPosition\n\t\treturn this.shape.bounds().topLeft().addPt(this.origin); \n\t},\n\n\tgetPosition: function() {\n\t\treturn this.shape.bounds().topLeft().addPt(this.origin); \n\t},\n\n\tsetPosition: function(newPosition) {\n\t\tthis.layoutManager.setPosition(this, newPosition);\n\t\treturn newPosition;\n\t},\n\n\tcontainsPoint: function(p) { \n\t\t// p is in owner coordinates\n\t\tif (!this.bounds().containsPoint(p)) return false;\n\t\treturn this.shape.containsPoint(this.relativize(p)); \n\t},\n\n\tcontainsWorldPoint: function(p) { // p is in world coordinates\n\t\tif (this.owner == null) return this.containsPoint(p);\n\t\treturn this.containsPoint(this.owner.localize(p)); \n\t},\n\n\tfullContainsPoint: function(p) { // p is in owner coordinates\n\t\treturn this.bounds().containsPoint(p); \n\t},\n\n\tfullContainsWorldPoint: function(p) { // p is in world coordinates\n\t\tif (this.owner == null) return this.fullContainsPoint(p);\n\t\treturn this.fullContainsPoint(this.owner.localize(p)); \n\t},\n\n\t// Morph bounds, coordinates, moving and damage reporting functions\n // bounds returns the full bounding box in owner coordinates of this morph and all its submorphs\n\tbounds: function(ignoreTransients, ignoreTransform) {\n\t\tif (this.fullBounds != null) return this.fullBounds;\n\n\t\tvar tfm = this.getTransform();\n\t\tvar fullBounds = this.localBorderBounds(ignoreTransform ? null : tfm);\n\n\t\tvar subBounds = this.submorphBounds(ignoreTransients);\n\t\tif (subBounds != null) {\n\t\t\t// could be simpler when no rotation...\n\t\t\tfullBounds = fullBounds.union(tfm.transformRectToRect(subBounds));\n\t\t}\n\n\t\tif (fullBounds.width < 3 || fullBounds.height < 3) {\n\t\t\t// Prevent Horiz or vert lines from being ungrabable\n\t\t\tfullBounds = fullBounds.expandBy(3); \n\t\t}\n\t\tthis.fullBounds = fullBounds;\n\t\treturn fullBounds; \n\t},\n \n\tsubmorphBounds: function(ignoreTransients) {\n\t\tvar subBounds = null;\n\t\tfor (var i = 0; i < this.submorphs.length; i++) {\n\t\t\tvar m = this.submorphs[i];\n\t\t\tif ((ignoreTransients && m.isEpimorph))\n\t\t\t\tcontinue;\n\t\t\tif (!m.isVisible()) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tsubBounds = subBounds == null ? m.bounds(ignoreTransients) : subBounds.union(m.bounds(ignoreTransients));\n\t\t}\n\t\treturn subBounds;\n\t},\n \n // innerBounds returns the bounds of this morph only, and in local coordinates\n innerBounds: function() { \n return this.shape.bounds().insetByRect(this.padding);\n },\n \n\tlocalBorderBounds: function(optTfm) {\n\t\t// defined by the external edge of the border\n\t\t// if optTfm is defined, transform the vertices first, then take the union\n\t\tdbgOn(!this.shape);\n\t\tvar bounds = optTfm ? Rectangle.unionPts(this.shape.vertices().invoke('matrixTransform', optTfm)) : this.shape.bounds();\n\n\t\tvar borderMargin = this.getBorderWidth()/2;\n\t\t// double border margin for polylines to account for elbow protrusions\n\t\tif (this.shape.hasElbowProtrusions) borderMargin = borderMargin*2 + 1;\n\t\tbounds = bounds.expandBy(borderMargin);\n\t\treturn bounds;\n\t},\n\t\n\tchanged: function() {\n\t\t// Note most morphs don't need this in SVG, but text needs the \n\t\t// call on bounds() to trigger layout on new bounds\n\t\tif(this.owner) this.owner.invalidRect(this.bounds());\n\t},\n\n\tinvalidRect: function() {\n\t\t// Do nothing (handled by SVG). Overridden in canvas.\n },\n\n layoutOnSubmorphLayout: function(submorph) {\n\t\t// override to return false, in which case layoutChanged() will not be propagated to\n\t\t// the receiver when a submorph's layout changes. \n\t\treturn true;\n },\n\n\ttransformChanged: function() {\n\t\tvar scalePt = this.scalePoint;\n\t\tif (this.fisheyeScale != 1) scalePt = scalePt.scaleBy(this.fisheyeScale);\n\t\tthis.pvtCachedTransform = new lively.scene.Similitude(this.origin, this.rotation, scalePt);\n\t\tthis.pvtCachedTransform.applyTo(this.rawNode);\n\t},\n\n\tlayoutChanged: function Morph$layoutChanged() {\n\t\t// layoutChanged() is called whenever the cached fullBounds may have changed\n\t\t// It invalidates the cache, which will be recomputed when bounds() is called\n\t\t// Naturally it must be propagated up its owner chain.\n\t\t// Note the difference in meaning from adjustForNewBounds()\n\t\t// KP: the following may or may not be necessary:\n\n\t\tthis.transformChanged(); // DI: why is this here?\n\t\tif(! this.fullBounds) return; // already called\n\n\t\tthis.fullBounds = null;\n\t\tif (this.owner && this.owner.layoutOnSubmorphLayout(this) && !this.isEpimorph) { // May affect owner as well...\n\t\t\tthis.owner.layoutChanged();\n\t\t}\n\t\tthis.layoutManager.layoutChanged(this);\n\t},\n\n\tadjustForNewBounds: function() {\n\t\t// adjustForNewBounds() is called whenever the innerBounds may have changed in extent\n\t\t// -- it should really be called adjustForNewExtent --\n\t\t// Depending on the morph and its layoutManager, it may then re-layout its\n\t\t// submorphs and, in the process, propagate the message down to leaf morphs (or not)\n\t\t// Of course a change in innerBounds implies layoutChanged() as well,\n\t\t// but, for now, these are called separately.\n\t\t// NB: Because some morphs may re-lay themselves out in response to adjustForNewBounds()\n\t\t// adjustForNewBounds() *must never be called from* a layout operation;\n\t\t// The layout process should only move and resize submorphs, but never change the innerBounds\n\n\t\t// If this method is overridden by a subclass, it should call super as well\n\t\tif (this.focusHalo) this.adjustFocusHalo();\n\t},\n},\n// Submorph management functions\n'submorphs',{ \n\n addMorph: function(morph) { return this.addMorphFrontOrBack(morph, true) },\n\n\taddMorphAt: function(morph, position) {\n\t\tvar morph = this.addMorphFrontOrBack(morph, true);\n\t\tmorph.setPosition(position);\n\t\treturn morph;\n\t},\n\n addMorphFront: function(morph) { return this.addMorphFrontOrBack(morph, true) },\n\n addMorphBack: function(morph) { return this.addMorphFrontOrBack(morph, false) },\n\n\taddMorphFrontOrBack: function(m, isFront) {\n\t\tconsole.assert(m instanceof Morph, \"not an instance\");\n\t\tif (m.owner) {\n\t\t\tvar tfm = m.transformForNewOwner(this);\n\t\t\tm.owner.removeMorph(m); // KP: note not m.remove(), we don't want to stop stepping behavior\n\t\t\tm.setTransform(tfm); \n\t\t\t// FIXME transform is out of date\n\t\t\t// morph.setTransform(tfm); \n\t\t\t// m.layoutChanged(); \n\t\t} \n\t\tthis.layoutManager.beforeAddMorph(this, m, isFront);\n\t\tthis.insertMorph(m, isFront);\n\t\tthis.layoutManager.afterAddMorph(this, m, isFront);\n\t\tm.changed();\n\t\tm.layoutChanged();\n\t\tif (Config.ChromeSVGRenderingHotfix)\n\t\t\t(function() { m.transformChanged() }).delay(0);\n\t\tthis.layoutChanged();\n\t\treturn m;\n\t},\n\t\n\taddNonMorph: function(node) {\n\t\tif (node instanceof lively.data.Wrapper) throw new Error(\"add rawNode, not the wrapper itself\");\n\t\treturn this.rawNode.insertBefore(node, this.shape && this.shape.rawNode.nextSibling);\n\t},\n\n\taddWrapper: function(w) {\n\t\tif (w && w.rawNode) {\n\t\t\tthis.addNonMorph(w.rawNode);\n\t\t\treturn w;\n\t\t} else return null;\n\t},\n\n\taddPseudoMorph: function(pseudomorph) {\n\t\tif (pseudomorph instanceof Global.PseudoMorph) {\n\t\t\treturn this.addMorph(pseudomorph);\n\t\t} else \n\t\t\tthrow new Error(pseudomorph + \" is not a PseudoMorph\");\n\t},\n\n\tbringToFront: function() {\n\t\tif (!this.owner) return;\n\t\tif (this.owner.topSubmorph() === this) return;\n\t\tvar owner = this.owner;\n\t\tthis.remove();\n\t\towner.addMorphFront(this);\n\t},\n\n\tsetSubmorphs: function(morphs) {\n\t\tconsole.assert(morphs instanceof Array, \"not an array\");\n\t\tif (morphs != null) {\n\t\t\tthis.submorphs = [].concat(morphs);\n\t\t\tthis.submorphs.forEach(function (m) { \n\t\t\t\tif (m.owner) {\n\t\t\t\t\tvar tfm = m.transformForNewOwner(this);\n\t\t\t\t\tm.owner.removeMorph(m);\n\t\t\t\t\tm.setTransform(tfm); \n\t\t\t\t} \n\t\t\t\tthis.rawNode.appendChild(m.rawNode); \n\t\t\t\tm.owner = this;\n\t\t\t\tm.changed();\n\t\t\t\tm.layoutChanged();\n\t\t\t}, this);\n\t\t}\n\t\tthis.layoutChanged();\n\t},\n\n indexOfSubmorph: function(m) {\n\t\tif (this.submorphs.length == 0) return -1; // no submorphs at all\n\t\tfor (var i=0; i 0\n\t\tvar rot = this.getTransform().getRotation().toRadians(); \n\t\tif (this.scalePoint.x >= 0) return rot;\n\n\t\t// if scale.x is negative, then we have to decode the difference\n\t\tif (rot < 0) return rot + Math.PI;\n\t\treturn rot - Math.PI;\n\t},\n\n\tgetScale: function() {\n\t\treturn this.getTransform().getScale(); \n\t},\n\n\tmoveBy: function(delta) {\n\t\tthis.translateBy(delta);\n\t},\n\n\trotateBy: function(delta) {\n\t\tthis.setRotation(this.getRotation()+delta);\n\t},\n\n\tscaleBy: function(factor) {\n\t\t// Perform a linear scaling (based on x scale) by the given factor\n\t\tthis.setScale(this.getScale()*factor);\n\t},\n\n\tthrob: function() {\n\t\tthis.scaleBy(this.getScale() <= 1 ? 2 : 0.9);\n\t},\n\n\talign: function(p1, p2) {\n\t\treturn this.translateBy(p2.subPt(p1)); \n\t},\n\n centerAt: function(p) {\n\t\treturn this.align(this.bounds().center(), p); \n },\n\n\tgetCenter: function() { return this.bounds().center() },\n\n\tmoveOriginBy: function(delta) {\n\t\t// This method changes the origin (and thus center of rotation) without changing any other effect\n\t\t// To center a rectangular morph, use m.moveOriginBy(m.innerBounds().center())\n\t\tthis.origin = this.origin.addPt(delta);\n\t\tthis.shape.translateBy(delta.negated());\n\t\tthis.submorphs.forEach(function (ea) { ea.translateBy(delta.negated()); });\n\t},\n\n moveSubmorphs: function(evt) {\n var world = this.world();\n\t\n // Display height is returned incorrectly by many web browsers.\n // We use an absolute Y-value instead. \n var towardsPoint = pt(world.bounds().center().x, 350);\n\n switch (evt.getKeyCode()) {\n case Event.KEY_LEFT:\n this.submorphs.invoke('moveBy', pt(-10,0));\n evt.stop();\n return true;\n case Event.KEY_RIGHT:\n // forget the existing selection\n this.submorphs.invoke('moveBy', pt(10, 0));\n evt.stop();\n return true;\n case Event.KEY_UP:\n this.submorphs.invoke('moveBy', pt(0, -10));\n evt.stop();\n return true;\n case Event.KEY_DOWN:\n this.submorphs.invoke('moveBy', pt(0, 10));\n evt.stop();\n return true;\n\n // Experimental radial scrolling feature\n // Read the comments near method Morph.moveRadially()\n case Event.KEY_PAGEUP:\n case 65: // The \"A\" key\n\t world.submorphs.invoke('moveRadially', towardsPoint, 10);\n this.moveRadially(towardsPoint, 10); \n evt.stop();\n return true;\n case Event.KEY_PAGEDOWN:\n case 90: // The \"Z\" key\n\t world.submorphs.invoke('moveRadially', towardsPoint, -10);\n this.moveRadially(towardsPoint, -10); \n evt.stop();\n return true;\n }\n \n return false;\n },\n\n transformSubmorphs: function(evt) {\n\t\tvar fun = null;\n\t\tswitch (evt.getKeyChar()) {\n\t\t\tcase '>':\n\t\t\t\tfun = function(m) { m.setScale(m.getScale()*1.1) };\n\t\t\t\tbreak;\n\t\t\tcase '<':\n\t\t\t\tfun = function(m) { m.setScale(m.getScale()/1.1) };\n\t\t\t\tbreak;\n\t\t\tcase ']':\n\t\t\t\tfun = function(m) { m.setRotation(m.getRotation() + 2*Math.PI/16) };\n\t\t\t\tbreak;\n\t\t\tcase '[':\n\t\t\t\tfun = function(m) { m.setRotation(m.getRotation() - 2*Math.PI/16) };\n\t\t\t\tbreak;\n\t\t}\n\t\tif (fun) {\n\t\t\tthis.submorphs.forEach(fun);\n\t\t\tevt.stop();\n\t\t\treturn true;\n\t\t} else return false;\n\t},\n\n\tmoveForwardBy: function(amount) {\n\t\tvar nose = pt(1,0)\n\t\tvar dir = nose.matrixTransformDirection(this.getTransform()).normalized();\n\t\tthis.moveBy(dir.scaleBy(amount))\n\t},\n\n\t// TODO: There is a bug in Safari (the matrix multiplication is the wrong way around)\n\t// that is not taken into account here....\n\trotateAround: function(angle, center) {\n\t\tvar tfm = new lively.scene.Similitude().toMatrix();\n\t\ttfm = tfm.translate(center.x, center.y);\n\t\ttfm = tfm.rotate(angle)\t\t\n\t\ttfm = tfm.translate( -center.x, -center.y);\t\n\t\tvar oldTfm = this.getTransform().toMatrix();\n\t\tvar newTfm = oldTfm.multiply(tfm);\n\t\tthis.setTransform(new lively.scene.Similitude(newTfm));\n\t},\n\n\tturnBy: function(angle) {\n\t\tthis.rotateAround(angle, this.shape.bounds().center())\t\t\n\t},\n\n\t// Experimental radial \"black hole\" scrolling feature: When\n // an object comes close enough to the \"event horizon\" (specified\n // by 'towardsPoint'), the object is zoomed into the black hole.\n // Negative 'howMuch' values are used to \"collapse\" the display, \n // while positive values expand and restore the display back to its \n // original state. For further information, see \n // Sun Labs Technical Report SMLI TR-99-74, March 1999.\n\tmoveRadially: function(towardsPoint, howMuch) {\n\t\tvar position = this.getPosition();\n\t\tvar relativePt = position.subPt(towardsPoint);\n\t\tvar distance = towardsPoint.dist(position);\n\t\tif (!this.inBlackHole) this.inBlackHole = 0;\n\n\t\t// The object disappears entirely when it is less than 5 pixels away\n\t\t// The 'inBlackHole' counter keeps track of how many levels deep\n\t\t// the object is in the black hole, allowing the display to be\n\t\t// restored correctly.\n\t\tif (distance <= 5) {\n\t\t\tif (howMuch < 0) {\n\t\t\t\tthis.inBlackHole++;\n\t\t\t\tthis.setScale(0);\n\t\t\t} else {\n\t\t\t\tthis.inBlackHole--; \n\t\t\t}\n\t\t} \n\n\t\tif (this.inBlackHole == 0) {\n\t\t\t// Start shrinking the object when it is closer than 200 pixels away\n\t\t\tif (distance > 5 && distance < 200) this.setScale(distance/200);\n\t\t\telse if (distance >= 200 && this.getScale() != 1) this.setScale(1);\n\n\t\t\t// Calculate new location for the object\n\t\t\tvar theta = Math.atan2(relativePt.y, relativePt.x);\n\t\t\tvar newDistance = distance + howMuch;\n\t\t\tif (newDistance < 0) newDistance = 1; \n\t\t\tvar newX = newDistance * Math.cos(theta);\n\t\t\tvar newY = newDistance * Math.sin(theta);\n\t\t\tthis.setPosition(towardsPoint.addPt(pt(newX,newY)));\n\t\t}\n\t},\n},\n'animations', {\n\t// Animated moves for, eg, window collapse/expand\n\tanimatedInterpolateTo: function(destination, nSteps, msPer, callBackFn, finalScale) {\n\t\tif (nSteps <= 0) return;\n\t\tvar loc = this.position();\n\t\tvar delta = destination.subPt(loc).scaleBy(1 / nSteps);\n\t\tvar scaleDelta = finalScale ? (this.getScale() - finalScale) / nSteps : 0;\n\t\t// console.log(\"scaleDelta = \" + scaleDelta);\n\t\tvar path = [];\n\t\tfor (var i = 1; i<=nSteps; i++) { loc = loc.addPt(delta); path.unshift(loc); }\n\t\tthis.animatedFollowPath(path, msPer, callBackFn, scaleDelta);\n },\n\n animatedFollowPath: function(path, msPer, callBackFn, scaleDelta) {\n\t\tvar spec = {path: path.clone(), callBack: callBackFn, scaleDelta: scaleDelta};\n\t\tspec.action = this.startStepping(msPer, 'animatedPathStep', spec);\t\n },\n\n\tanimatedPathStep: function(spec, scaleDelta) {\n\t\tif (spec.path.length >= 1){\n\t\t\tthis.setScale(this.getScale()-spec.scaleDelta);\n\t\t\tthis.setPosition(spec.path.pop());\n\t\t}\n\t\tif (spec.path.length >= 1) return\n\t\t//spec.action.stop(this.world()); //JD: out\n\t\tthis.stopSteppingScriptNamedAndRemoveFromSubmorphs('animatedPathStep');//JD: delte script out of activeScripts, neede for deserialization\n\t\tspec.callBack.call(this);\n\t},\n\n},\n'particle behavior',{ \n\n\tbounceInOwnerBounds: function() {\n\t\tthis.bounceInBounds(this.owner.innerBounds());\n\t},\n\t\n\tbounceInBounds: function(ob) {\n\t\t// typcially ob = this.owner.innerBounds()\n\t\t// Bounce by reversing the component of velocity that put us out of bounds\n\t\tif (!this.velocity) return; // Can't bounce without a velocity vector\n\n\t\t// We take care to only reverse the direction if it's wrong,\n\t\t//\tbut we move in any case, since we might be deeply out of bounds\n\t\tvar b = this.bounds();\n\t\tif (b.x < ob.x) {\n\t\t\tif (this.velocity.x < 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxX() > ob.maxX()) {\n\t\t\tif (this.velocity.x > 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.y < ob.y) {\n\t\t\tif (this.velocity.y < 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxY() > ob.maxY()) {\n\t\t\tif (this.velocity.y > 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t},\n\t\n\tstepByVelocities: function() {\n\t\tif (this.velocity) this.moveBy(this.velocity);\n\t\tif (this.angularVelocity) this.rotateBy(this.angularVelocity);\n\t},\n\t\n\tstepAndBounce: function() { // convenience for tile scripting\n\t\tthis.stepByVelocities();\n\t\tthis.bounceInOwnerBounds();\n\t},\n\t\n},\n'balloon help', {\n\n\tgetHelpText: Functions.Null, // override to supply help text\n\n\tshowHelp: function(evt) {\n\n\t\tif (this.suppressBalloonHelp) return false;\n\t\tif (this.owner instanceof HandMorph) return false;\n\t\tvar helpText = this.getHelpText();\n\t\tif (!helpText) return false;\n\n\t\t// Create only one help balloon at a time\n\t\tif (this.helpBalloonMorph && !this.helpBalloonMorph.getPosition().eqPt(evt.point())) {\n\t\t\tthis.helpBalloonMorph.setPosition(this.window().localize(evt.point()));\n\t\t\treturn false;\n\t\t} else {\n\t\t\tvar width = Math.min(helpText.length * 20, 260); // some estimate of width.\n\t\t\tvar window = this.window();\n\t\t\tvar pos = window.localize(evt.point());\n\t\t\tthis.helpBalloonMorph = new TextMorph(pos.addXY(10, 10).extent(pt(width, 20)), helpText);\n\t\t\twindow.addMorph(this.helpBalloonMorph.beHelpBalloonFor(this));\n\t\t\treturn true;\n\t\t}\n\t},\n\n\thideHelp: function() {\n\t\tif (!this.helpBalloonMorph) \n\t\t\treturn;\n\t\tthis.helpBalloonMorph.remove();\n\t\tdelete this.helpBalloonMorph;\n\t},\n\n},\n'mouse events', {\n\n\t// KP: equivalent of the DOM capture phase\n\t// KP: hasFocus is true if the receiver is the hands's focus (?)\n\tcaptureMouseEvent: function Morph$captureMouseEvent(evt, hasFocus) {\n\t\t// Dispatch this event to the frontmost receptive morph that contains it\n\t\t// Note boolean return for event consumption has not been QA'd\n\t\t// if we're using the fisheye... \n\t\tif (this.fishEye) {\n\t\t\t// get the distance to the middle of the morph and check if we're \n\t\t\t// close enough to start the fisheye\n\t\t\tvar size = Math.max(this.bounds().width, this.bounds().height);\n\n\t\t\tvar dist = evt.mousePoint.dist(this.bounds().center()) / this.fisheyeProximity;\n\t\t\tif (dist <= size) {\n\t\t\t\t// the fisheye factor is between 1..fisheyeGrowth\n\t\t\t\tthis.setFisheyeScale(1 + this.fisheyeGrowth * Math.abs(dist/size - 1));\n\t\t\t} else {\n\t\t\t\t// just a precaution to make sure fisheye scaling isn't \n\t\t\t\t// affecting its surrounding any more\n\t\t\t\tthis.setFisheyeScale(1.0);\n\t\t\t}\n\t\t}\n\t\tif (hasFocus) return this.mouseHandler.handleMouseEvent(evt, this);\n\n\t\tif (!evt.priorPoint || !this.fullContainsWorldPoint(evt.priorPoint)) return false;\n\n\t\tif (this.hasSubmorphs()) {\n\t\t\t// If any submorph handles it (ie returns true), then return\n\t\t\tfor (var i = this.submorphs.length - 1; i >= 0; i--) {\n\t\t\t\tif (this.submorphs[i].captureMouseEvent(evt, false)) return true;\n\t\t\t}\n\t\t}\n\t\tif (this.mouseHandler == null)\n\t\t\treturn false;\n\n\t\tif (!evt.priorPoint || !this.shape.containsPoint(this.localize(evt.priorPoint))) \n\t\t\treturn false;\n\n\n\t\treturn this.mouseHandler.handleMouseEvent(evt, this); \n\t},\n\n\n\tareEventsIgnored: function() {\n\t\treturn this.getTrait(\"pointer-events\") == \"none\";\n\t},\n\n\tignoreEvents: function() { // will not respond nor get focus\n\t\tthis.mouseHandler = null;\n\t\tthis.setTrait(\"pointer-events\", \"none\");\n\t\treturn this;\n\t},\n\n\tenableEvents: function() {\n\t\tthis.mouseHandler = MouseHandlerForDragging.prototype;\n\t\tthis.removeTrait(\"pointer-events\");\n\n\t\treturn this;\n\t},\n\n\trelayMouseEvents: function(target, eventSpec) {\n\t\tthis.mouseHandler = new MouseHandlerForRelay(target, eventSpec); \n\t},\n\n\thandlesMouseDown: function(evt) {\n\t\tif (this.mouseHandler == null || evt.isCommandKey()) return false;\t//default behavior\n\t\treturn this.mouseHandler.handlesMouseDown(); \n\t},\n\n\tonMouseDown: function(evt) { \n\t\tthis.hideHelp();\n\t}, //default behavior\n\n\tonMouseMove: function(evt, hasFocus) { //default behavior\n\t\tif (evt.mouseButtonPressed && this==evt.hand.mouseFocus && this.owner && this.owner.openForDragAndDrop) { \n\t\t\tthis.moveBy(evt.mousePoint.subPt(evt.priorPoint));\n\t\t} // else this.checkForControlPointNear(evt);\n\t\tif (!evt.mouseButtonPressed && !this.hasHandles()) this.checkForControlPointNear(evt);\n\t},\n\n\tonMouseUp: function(evt) { }, //default behavior\n\n\tconsiderShowHelp: function(oldEvt) {\n\t\t// if the mouse has not moved reasonably\n\t\tvar hand = oldEvt.hand;\n\t\tif (!hand) return; // this is not an active world so it doesn't have a hand\n\t\telse if (hand.getPosition().dist(oldEvt.mousePoint) < 10)\n\t\tthis.showHelp(oldEvt);\n\t},\n\n\tdelayShowHelp: function(evt) {\n\t\tvar scheduledHelp = new SchedulableAction(this, \"considerShowHelp\", evt, 0);\n\t\tif (this.world())\n\t\t\tthis.world().scheduleForLater(scheduledHelp, Config.ballonHelpDelay || 1000, false);\n\t},\n\n\tonMouseOver: function(evt) {\n\t\tthis.delayShowHelp(evt);\n\t}, \n\n\tonMouseOut: function(evt) { \n\t\tthis.hideHelp();\n\t}, \n\n\tonMouseWheel: function(evt) {\n\t\tif (!this.world()) return false;\n\t\treturn this.world().onMouseWheel(evt);\n\t},\n\n\ttakesKeyboardFocus: Functions.False,\n\n\tsetHasKeyboardFocus: Functions.False, // no matter what, say no\n\n\trequestKeyboardFocus: function(hand) {\n\t\tif (this.takesKeyboardFocus()) {\n\t\t\tif (this.setHasKeyboardFocus(true)) {\n\t\t\t\thand.setKeyboardFocus(this);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\n\trelinquishKeyboardFocus: function(hand) {\n\t\thand.setKeyboardFocus(null);\n\t\treturn this.setHasKeyboardFocus(false); \n\t},\n\n\tonFocus: function(hand) {\n\t\tthis.addFocusHalo();\n\t},\n\n\tonBlur: function(hand) {\n\t\tthis.removeFocusHalo();\n\t},\n\n\tremoveFocusHalo: function() {\n\t\tif (!this.focusHalo) return false;\n\t\t//this.focusHalo.removeRawNode();\n\t\tthis.focusHalo.remove();\n\t\tthis.focusHalo = null;\n\t\treturn true;\n\t},\n\n\tfocusHaloInset: 1,\n\n\tfocusStyle: {\n\t\tfill: null, \n\t\tborderColor: Color.blue,\n\t\tstrokeOpacity: 0.3\n\t},\n\n\tadjustFocusHalo: function() {\n\t\tthis.focusHalo.setBounds(this.localBorderBounds().expandBy(this.focusHaloInset));\n\t},\n\n\taddFocusHalo: function() {\n\t\tif (this.focusHalo || this.focusHaloBorderWidth <= 0) return false;\n\t\tthis.focusHalo = Morph.makeRectangle(this.localBorderBounds().expandBy(this.focusHaloInset));\n\t\tthis.focusHalo.name = \"FocusHalo\";\n\t\tthis.focusHalo.isEpimorph = true; // Do this before adding the halo\n\t\tthis.addMorph(this.focusHalo);\n\t\t// old\n\t\tthis.focusHalo.applyStyle(this.focusStyle);\n\t\t// new\n\t\tthis.focusHalo.linkToStyles([\"focusHalo\"]);\n\t\tthis.focusHalo.setBorderWidth(this.focusHaloBorderWidth);\n\t\tthis.focusHalo.setLineJoin(lively.scene.LineJoins.Round);\n\t\tthis.focusHalo.ignoreEvents();\n\t\treturn true;\n\t},\n\n},\n'handles', {\n\tcheckForControlPointNear: function(evt) {\n\t\tif (this.suppressHandles) return false; // disabled\n\t\tif (this.owner == null) return false; // cant reshape the world\n\t\tif (this.hasHandles()) return false; // handles already on - no rollovers\n\t\tvar partName = this.shape.partNameNear(this.localize(evt.point()));\n\t\tif (partName == null) return false;\n\n\t\tvar loc = this.shape.partPosition(partName);\n\t\tvar handle = this.makeHandle(loc, partName, evt);\n\t\tif (!handle) return false; // makeHandle variants may return null\n\n\t\tthis.addMorph(handle); \n\t\thandle.showHelp(evt);\n\t\tif (evt.hand.mouseFocus instanceof HandleMorph) evt.hand.mouseFocus.remove();\n\t\tevt.hand.setMouseFocus(handle);\n\t\treturn true; \n\t},\n\t\n\taddAllHandles: function(evt) {\n\t\tif (this.suppressHandles) return false; // disabled\n\t\tif (this.owner == null) return false; // can't reshape the world\n\t\tvar partNames = this.shape.allPartNames(); // Array of name\n\t\tfor (var i=0; i= 0 ? lively.scene.Rectangle : lively.scene.Ellipse;\n\t\treturn new HandleMorph(position, handleShape, evt.hand, this, partName);\n\t},\n},\n'grabbing and dragging', {\n copySubmorphsOnGrab: false, // acts as a palette if true. \n\tsuppressGrabbing: false,\n\n // May be overridden to preempt (by returning null) the default action of grabbing me\n // or to otherwise prepare for being grabbed or find a parent to grab instead\n okToBeGrabbedBy: function(evt) {\n\t\tif (this.suppressGrabbing)\n\t\t\treturn null;\n\t\treturn this; \n },\n\n\tgrid: function() {return Config.SnapGrid || pt(10,10)},\n\n\tisSnappingToGrid: function() { return Config.isSnappingToGrid},\n\n\tsnapToGrid: function(pos) {\n\t\tvar grid = this.grid();\n\t\treturn pt(pos.x - (pos.x % grid.x), pos.y - (pos.y % grid.y))\n\t},\n\n\tdragMe: function(evt) {\n\t\tvar offset = this.getPosition().subPt(this.owner.localize(evt.point()));\n\t\tvar self = this;\n\t\tvar mouseRelay= {\n\t\t\tcaptureMouseEvent: function(e) { \n\t\t\t\tif (e.type == \"MouseMove\") {\n\t\t\t\t\tvar pos = this.owner.localize(e.hand.getPosition()).addPt(offset)\n\t\t\t\t\tif (self.isSnappingToGrid()) {\n\t\t\t\t\t\tthis.setPosition(this.snapToGrid(pos));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setPosition(pos);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t\tif (e.type == \"MouseDown\" || e.type == \"MouseUp\") e.hand.setMouseFocus(null); \n\t\t\t}.bind(this),\n\t\t};\n\t\tevt.hand.setMouseFocus(mouseRelay);\n\t},\n\n showAsGrabbed: function(grabbedMorph) {\n\t\t// At this time, there are three separate hand-effects:\n\t\t// 1. applyDropShadowFilter, if it works, will cause the graphics engine to put a nice\n\t\t//\t gaussian blurred drop-shadow on morphs that are grabbed by the hand\n\t\t// 2. showGrabHalo will cause a halo object to be put at the end of the hand's\n\t\t//\t submorph list for every grabbed morph (has property 'morphTrackedByHalo')\n\t\t// 3. useShadowMorphs will cause a shadowCopy of each grabbed morph to be put\n\t\t//\t at the end of the hand's submorph list (has property 'isHandMorphShadow')\n\t\t// So, if everything is working right, the hand's submorph list looks like:\n\t\t//\tfront -> Mc, Mb, Ma, Ha, Sa, Hb, Sb, Hc, Sc <- back [note front is last ;-]\n\t\t// Where M's are grabbed morphs, H's are halos if any, and S's are shadows if any\n\n if (this.applyDropShadowFilter) grabbedMorph.applyFilter(this.dropShadowFilter); \n\n\t\tif (Config.showGrabHalo) {\n\t\t var bounds = grabbedMorph.bounds(true);\n\t\t var halo = this.addMorphBack(Morph.makeRectangle(bounds).applyStyle({fill: null, borderWidth: 0.5 }));\n\t\t halo.morphTrackedByHalo = grabbedMorph;\n\t\t halo.shape.setStrokeDashArray(String([3,2]));\n\t\t halo.setLineJoin(lively.scene.LineJoins.Round);\n\t\t halo.ignoreEvents();\n\n\t\t var idLabel = new TextMorph(pt(20,10).extentAsRectangle(), String(grabbedMorph.id())).beLabel();\n\t\t idLabel.applyStyle(this.grabHaloLabelStyle);\n\t\t halo.addMorph(idLabel);\n\t\t idLabel.align(idLabel.bounds().bottomLeft(), halo.innerBounds().topRight());\n\t \n\t\t var pos = grabbedMorph.getPosition();\n\t\t var posLabel = new TextMorph(pt(20, 10).extentAsRectangle(), \"\").beLabel();\n\t\t posLabel.applyStyle(this.grabHaloLabelStyle);\n\t\t halo.positionLabel = halo.addMorph(posLabel);\n\n\t\t\tthis.updateGrabHalo();\n\t\t}\n if (this.useShadowMorphs) {\n\t\t\tvar shadow = grabbedMorph.shadowCopy();\n\t\t\tshadow.isHandMorphShadow = true;\n\t\t\tthis.addMorphBack(shadow);\n\t\t\tshadow.moveBy(pt(8, 8));\n\t\t}\n },\n\n showAsUngrabbed: function(grabbedMorph) {\n\t\tif (this.applyDropShadowFilter) grabbedMorph.applyFilter(null);\n },\n \n alignToGrid: function() {\n if(!Config.showGrabHalo) return;\n var grid = function(a) {\n return a - (a % (Config.alignToGridSpace || 5))\n\t\t};\n\t\tthis.submorphs.forEach(function(halo) {\n\t\t if (halo.morphTrackedByHalo) { // this is a tracking halo\n\t \tif (!halo.orgSubmorphPosition)\n\t\t\t halo.orgSubmorphPosition = halo.morphTrackedByHalo.getPosition();\n\t\t\tvar oldPos = this.worldPoint(halo.orgSubmorphPosition);\n\t\t\tvar gridPos = pt(grid(oldPos.x), grid(oldPos.y));\n\t\t\thalo.morphTrackedByHalo.setPosition(this.localize(gridPos));\n\t\t }\n\t\t}.bind(this));\n },\n\n updateGrabHalo: function Morph$updateGrabHalo() {\n\t\t// Note there may be several grabHalos, and drop shadows as well\n\t\t// See the comment in showAsGrabbed \n\t\tthis.submorphs.forEach(function(halo) {\n\t\t if (halo.morphTrackedByHalo) { // this is a tracking halo\n\t\t\t\thalo.setBounds(halo.morphTrackedByHalo.bounds(true).expandBy(3));\n\t\t\t\tif (halo.positionLabel) {\n\t\t\t\t var pos = this.worldPoint(halo.morphTrackedByHalo.getPosition());\n\t\t\t\t var posLabel = halo.positionLabel;\n\t\t\t\t posLabel.setTextString(pos.x.toFixed(1) + \",\" + pos.y.toFixed(1));\n\t\t\t\t posLabel.align(posLabel.bounds().bottomCenter(), halo.innerBounds().topLeft());\n\t\t\t\t}\n\t\t }\n\t\t}.bind(this));\n },\n\n\tgrabMorph: function(grabbedMorph, evt) { \n\t\tif (evt.isShiftDown() && (evt.isAltDown() || evt.isMetaDown())) {\n\t\t\tgrabbedMorph.dragMe(evt);\n\t\t\treturn;\n\t\t}\n\t\tif (evt.isShiftDown() || (grabbedMorph.owner && grabbedMorph.owner.copySubmorphsOnGrab == true)) {\n\t\t\tif (!grabbedMorph.okToDuplicate()) return;\n\t\t\tgrabbedMorph.copyToHand(this);\n\t\t\treturn;\n\t\t}\n\t\tif (evt.isCommandKey() || evt.isRightMouseButtonDown() || evt.isMiddleMouseButtonDown()) {\n\t\t\tgrabbedMorph.showMorphMenu(evt);\n\t\t\treturn;\n\t\t}\n\t\t// Give grabbed morph a chance to, eg, spawn a copy or other referent\n\t\tgrabbedMorph = grabbedMorph.okToBeGrabbedBy(evt);\n\t\tif (!grabbedMorph) return;\n\n\t\tif (grabbedMorph.owner && !grabbedMorph.owner.openForDragAndDrop) return;\n\n\t\tif (this.keyboardFocus && grabbedMorph !== this.keyboardFocus) {\n\t\t\tthis.keyboardFocus.relinquishKeyboardFocus(this);\n\t\t}\n\t\t// console.log('grabbing %s', grabbedMorph);\n\t\t// Save info for cancelling grab or drop [also need indexInOwner?]\n\t\t// But for now we simply drop on world, so this isn't needed\n\t\tthis.grabInfo = [grabbedMorph.owner, grabbedMorph.position()];\n\t\tif (this.logDnD) console.log('%s grabbing %s', this, grabbedMorph);\n\t\tthis.addMorphAsGrabbed(grabbedMorph);\n\t\t// grabbedMorph.updateOwner(); \n\t\tthis.changed(); //for drop shadow\n\t},\n \n addMorphAsGrabbed: function(grabbedMorph) { \n this.addMorph(grabbedMorph);\n\t\tthis.showAsGrabbed(grabbedMorph);\n },\n \n dropMorphsOn: function(receiver) {\n\t\tif (receiver !== this.world()) \n\t\t\tthis.unbundleCarriedSelection();\n\t\tif (this.logDnD) \n\t\t\tconsole.log(\"%s dropping %s on %s\", this, this.topSubmorph(), receiver);\n\t\tthis.carriedMorphsDo( function(m) {\n\t\t\tm.dropMeOnMorph(receiver);\n\t\t\tthis.showAsUngrabbed(m);\n\t\t});\n\t\tthis.shadowMorphsDo( function(m) { m.stopAllStepping(); });\n\t\tthis.removeAllMorphs() // remove any shadows or halos\n },\n\n carriedMorphsDo: function(func) {\n\t\t// Evaluate func for only those morphs that are being carried,\n\t\t// as opposed to, eg, halos or shadows\n\t\tthis.submorphs.clone().reverse().forEach(function(m) {\n\t\t if (!m.morphTrackedByHalo && !m.isHandMorphShadow) func.call(this, m);\n\t\t}.bind(this));\n },\n\n shadowMorphsDo: function(func) { \n\t\t// Evaluate func for only those morphs that are shadows,\n\t\tthis.submorphs.clone().reverse().forEach(function(m) {\n\t\t if (m.isHandMorphShadow) func.call(this, m);\n\t\t}.bind(this));\n },\n\n unbundleCarriedSelection: function() {\n // Unpack the selected morphs from a selection prior to drop or jump to other world\n if (!this.hasSubmorphs() || !(this.topSubmorph() instanceof SelectionMorph)) return;\n var selection = this.topSubmorph();\n for (var i=0; i>toggleDnD\");\n\t\tthis.openForDragAndDrop = !this.openForDragAndDrop;\n\t},\n\n\topenDnD: function(loc) {\n\t\tthis.openForDragAndDrop = true;\n\t},\n\n\tcloseDnD: function(loc) {\n\t\t// console.log(this + \">>closeDnD\");\n\t\tthis.openForDragAndDrop = false;\n\t},\n\n closeAllToDnD: function(loc) {\n // console.log(this + \">>closeAllDnD\");\n // Close this and all submorphs to drag and drop\n this.closeDnD(); \n // make this recursive to give children a chance to interrupt...\n this.submorphs.forEach( function(ea) { ea.closeAllToDnD(); });\n },\n\n\topenAllToDnD: function() {\n\t\t// Open this and all submorphs to drag and drop\n\t\tthis.withAllSubmorphsDo( function() { this.openDnD(); });\n\t},\n\n\tdropMeOnMorph: function(receiver) {\n\t\treceiver.addMorph(this); // this removes me from hand\n\t},\n\n\tpickMeUp: function(evt) {\n\t\tvar offset = evt.hand.getPosition().subPt(evt.point());\n\t\tthis.moveBy(offset);\n\t\tevt.hand.addMorphAsGrabbed(this);\n\t},\n},\n'morph menu', {\n\n\teditMenuItems: function(evt) { \n\t\treturn []; // Overridden by, eg, TextMorph\n\t},\n\n\tshowMorphMenu: function(evt) {\n\t\tif (evt.hand.lastMorphMenu && evt.hand.lastMorphMenu.owner)\n\t\t\tevt.hand.lastMorphMenu.remove(); // cleanup old open menus\n\t\tvar world = this.world(),\n\t\t\tmenu = this.morphMenu(evt),\n\t\t\tmenuCaption = this.toString(),\n\t\t\tcaptionClickAction = world.prompt.bind(world).curry('edit name', this.setName.bind(this), this.getName());\n\t\tmenu.openIn(world, evt.point(), false, menuCaption, captionClickAction); \n\t\tevt.hand.lastMorphMenu = menu;\n\t},\n\n\tmorphMenuBasicItems: function(evt) {\n\t\tvar items = [\n\t\t\t[\"remove\", this.remove],\n\t\t\t[\"drill\", this.showOwnerChain.curry(evt)],\n\t\t\t[\"grab\", this.pickMeUp.curry(evt)],\n\t\t\t[\"drag\", this.dragMe.curry(evt)],\n\t\t\t[\"edit style\", function() { new StylePanel(this).open()}],\n\t\t\t[((this.hasHandles()) ? \"hide\" : \"show\") + \" all handles\", function(evt) {\n\t\t\t\tif (this.hasHandles()) this.removeAllHandlesExcept(null);\n\t\t\t\t\telse this.addAllHandles(evt) }.bind(this) ],\t\t\n\t\t\t[\"inspect\", function(evt) { lively.Tools.inspect(this) }],\n\t\t\t[\"show class in browser\", function(evt) { var browser = new SimpleBrowser(this);\n\t\t\t\tbrowser.openIn(this.world(), evt.point());\n\t\t\t\tbrowser.getModel().setClassName(this.getType());}]\n\t\t\t];\n\t\tif (this.okToDuplicate())\n\t\t\titems.unshift([\"duplicate\", this.copyToHand.curry(evt.hand)]);\n\n\t\tif (this.shape instanceof lively.scene.Polyline || this.shape instanceof lively.scene.Polygon)\n\t\t\titems.push( [\"copy to curve\", this.makeCurve]);\n\n\t\tif (this.getModel() instanceof SyntheticModel)\n\t\t\titems.push( [\"show Model dump\", this.addModelInspector.curry(this)]);\n\t\treturn items\n\t},\n\n\tmorphMenu: function(evt) { \n\t\tvar menu = new MenuMorph(this.morphMenuBasicItems(evt), this);\n\t\tmenu.addLine();\n\t\tmenu.addItem( [\"world...\", function() {this.world().showMorphMenu(evt)}.bind(this)]);\n\t\tmenu.addLine();\n\t\tmenu.addItems(this.subMenuItems(evt));\n\t\treturn menu;\n\t},\n\tsubMenuLayoutItems: function() {\n\t\tvar morph = this;\n\t\tfunction setLayouter(klass) {\n\t\t\tmorph.layoutManager = new klass();\n\t\t\tmorph.relayout();\n\t\t};\n\t\treturn [\n\t\t\t[\"default layout\", function() { setLayouter(LayoutManager) }],\n\t\t\t[\"horizontal layout\", function() { setLayouter(HorizontalLayout) }],\n\t\t\t[\"vertical layout\", function() { setLayouter(VerticalLayout) }],\n\t\t];\t\n\t},\n\n\n\tsubMenuPropertiesItems: function(evt) {\n\t\treturn [\n\t\t\t[\"edit name...\", function() { this.world().prompt('edit name', function(input) { this.setName(input) }.bind(this), this.getName()) }],\n\t\t\t[\"reset rotation\", this.setRotation.curry(0)],\n\t\t\t[\"reset scaling\", this.setScale.curry(1)],\n\t\t\t[((this.suppressGrabbing) ? \"[] grabbing\" : \"[X] grabbing\"), function(){this.suppressGrabbing = !this.suppressGrabbing}.bind(this)],\n\t\t\t[((this.suppressHandles) ? \"[] handles\" : \"[X] handles\"), function(){this.suppressHandles = !this.suppressHandles}.bind(this)],\n\t\t\t[((this.openForDragAndDrop) ? \"[X] accepts Drops\" : \"[] accepts Drops\"), function(){this.openForDragAndDrop = !this.openForDragAndDrop}.bind(this)],\n\t\t\t[((this.fishEye) ? \"turn fisheye off\" : \"turn fisheye on\"), this.toggleFisheye],\n\t\t\t[(this.openForDragAndDrop ? \"close DnD\" : \"open DnD\"), this.toggleDnD.curry(evt.point())],\n\t\t\t[\"add button behavior\", function() { this.addMorph(new ButtonBehaviorMorph(this)); }],\n\t\t\t[(this.copySubmorphsOnGrab ? \"unpalettize\" : \"palettize\"), function() { this.copySubmorphsOnGrab = !this.copySubmorphsOnGrab; }],\n\t\t\t[\"color chooser (gray)\", function() { \n\t\t\t\tvar colorChooser = new ColorChooserWidget(this);\n\t\t\t\tvar window = colorChooser.buildView()\n\t\t\t\tthis.world().addFramedMorph(pane, \"gray\", this.world().positionForNewMorph(pane))}]\n\t\t]\n\t},\n\t\n\tsubMenuWindowItems: function(evt) {\n\t\treturn [\n\t\t\t[\"put me in a window\", this.putMeInAWindow.curry(this.position())], \n\t\t\t[\"put me in a tab\", this.putMeInATab.curry(this.position())],\n\t\t\t[\"put me in the open\", this.putMeInTheWorld.curry(this.position())],\n\t\t\t[\"show Lively markup\", this.addSvgInspector.curry(this)],\n\t\t\t[\"package\", function(evt) { // FIXME insert package morph in exactly the same position?\n\t\t\t\tnew PackageMorph(this).openIn(this.world(), evt.point()); this.remove(); } ],\n\t\t\t[\"publish packaged ...\", function() { this.world().prompt('publish as (.xhtml)', this.exportLinkedFile.bind(this)); }] \n\t\t]\n\t},\n\n\tsubMenuStyleItems: function(evt) {\n\t\treturn new StyleEditor().styleEditorMenuItems(this, evt);\n\t},\n\n\tsubMenuItems: function(evt) {\n\t\treturn [\n\t\t\t['Style', this.subMenuStyleItems(evt)],\n\t\t\t['Layout', this.subMenuLayoutItems(evt)],\n\t\t\t['Properties', this.subMenuPropertiesItems(evt)],\n\t\t\t['Window and World', this.subMenuWindowItems(evt)]\n\t\t]\n\t},\n\n showPieMenu: function(evt) {\n \tvar menu, targetMorph = this;\n\t\tvar items = [\n\t\t\t['undo (~)', function(evt) { PieMenuMorph.doUndo(); }],\n\t\t\t['duplicate (o-->o)', function(evt) {\n\t\t\t\tevt.hand.setPosition(menu.mouseDownPoint);\n\t\t\t\tmenu.targetMorph.copyToHand(evt.hand);\n\t\t\t\tvar theCopy = evt.hand.submorphs[0];\n\t\t\t\tPieMenuMorph.setUndo(function() { theCopy.remove(); }); // Why doesn't this work??\n\t\t\t\t}],\n\t\t\t['move (o-->)', function(evt) {\n\t\t\t\tvar oldPos = targetMorph.getPosition();\n\t\t\t\tPieMenuMorph.setUndo(function() { targetMorph.setPosition(oldPos); });\n\t\t\t\tevt.hand.setPosition(menu.mouseDownPoint);\n\t\t\t\tevt.hand.addMorph(menu.targetMorph);\n\t\t\t\tif (menu.targetMorph instanceof SelectionMorph) // Fixme: This should be in SelectionMorph\n\t\t\t\t\tmenu.targetMorph.selectedMorphs.forEach( function(m) { evt.hand.addMorph(m); });\n\t\t\t\t}],\n\t\t\t['scale (o < O)', function(evt) {\n\t\t\t\tvar oldScale = targetMorph.getScale();\n\t\t\t\tPieMenuMorph.setUndo(function() { targetMorph.setScale(oldScale); });\n\t\t\t\tmenu.addHandleTo(targetMorph, evt, 'scale');\n\t\t\t\t}],\n\t\t\t[((targetMorph.hasHandles()) ? \"hide\" : \"show\") + \" all handles ([])\", function(evt) {\n\t\t\t\tif (targetMorph.hasHandles()) targetMorph.removeAllHandlesExcept(null);\n\t\t\t\t\telse targetMorph.addAllHandles(evt) }],\n\t\t\t['delete (X)', function(evt) {\n\t\t\t\tvar oldOwner = targetMorph.owner;\n\t\t\t\tPieMenuMorph.setUndo(function() { oldOwner.addMorph(targetMorph); });\n\t\t\t\ttargetMorph.remove();\n\t\t\t\t}],\n\t\t\t['edit style (<>)', function() { new StylePanel(this).open()}],\n\t\t\t['rotate (G)', function(evt) {\n\t\t\t\tvar oldRotation = targetMorph.getRotation();\n\t\t\t\tPieMenuMorph.setUndo(function() { targetMorph.setRotation(oldRotation); });\n\t\t\t\tmenu.addHandleTo(targetMorph, evt, 'rotate');\n\t\t\t\t}]\n\t\t];\n\t\tmenu = new PieMenuMorph(items, this, 0.5);\n\t\tmenu.open(evt);\n },\n\n},\n'window related', {\n\n\tputMeInAWindow: function(loc) {\n\t\tvar c = this.immediateContainer();\n\t\tvar w = this.world();\n\t\tvar wm = new WindowMorph(this.windowContent(), this.windowTitle());\n\t\t// Position it so the content stays in place\n\t\tw.addMorphAt(wm, loc.subPt(wm.contentOffset));\n\t\tif (c) c.remove();\n\t},\n\n\tputMeInATab: function(loc) {\n\t\tvar c = this.immediateContainer();\n\t\tvar w = this.world();\n\t\tvar wm = new TabbedPanelMorph(this.windowContent(), this.windowTitle());\n\t\tw.addMorphAt(wm, wm.getPosition());\n\t\tif (c) c.remove();\n\t},\n\n\tputMeInTheWorld: function(loc) {\n\t\tvar c = this.immediateContainer();\n\t\tvar loc = c ? c.position().addPt(c.contentOffset) : this.position();\n\t\tthis.world().addMorphAt(this, loc);\n\t\tif (c) c.remove();\n\t},\n\n\timmediateContainer: function() { // Containers override to return themselves\n\t\tif (this.owner) return this.owner.immediateContainer();\n\t\telse return null;\n\t},\n\n\twindowContent: function() {\n\t\treturn this; // Default response, overridden by containers\n\t},\n\n\twindowTitle: function() {\n\t\treturn Object.inspect(this).truncate(); // Default response, overridden by containers\n\t},\n\n\n\n\tcopyToHand: function(hand, evt, optCopier) {\n\t\t// Function.prototype.shouldTrace = true;\n\t\tif (optCopier)\n\t\t\tvar copier = optCopier;\n\t\telse\n\t\t\tvar copier = new Copier();\n\t\tvar copy = this.copy(copier);\n\t\tif (!optCopier)\n\t\t\tcopier.finish(); // if copier comes from outside it should call finish\n\n\t\t// when copying submorphs, make sure that the submorph that becomes a top-level morph \n\t\t// reappears in the same location as its original.\n\t\tconsole.log('copied %s', copy);\n\t\tcopy.owner = null; // so following addMorph will just leave the tfm alone\n\t\tthis.owner.addMorph(copy); // set up owner as the original parent so that... \n\t\thand.addMorph(copy); // ... it will be properly transformed by this addMorph()\n\t\thand.showAsGrabbed(copy);\n\t\t// copy.withAllSubmorphsDo(function() { this.startStepping(null); }, null);\n\t\treturn copy\n\t},\n\n\tshadowCopy: function(hand) {\n\t\t// This is currently an expensive and error-prone deep copy\n\t\t// Better would be a shallow copy unless there are submorphs outside bounds\n\t\tvar copy;\n\t\ttry { copy = this.copy(new Copier()); }\n\t\tcatch (e) { copy = Morph.makeRectangle(this.bounds()); }\n\t\tcopy.withAllSubmorphsDo( function() {\n\t\t\tif (this.fill || this.getFill()) this.setFill(Color.black);\n\t\t\telse this.setFill(null);\n\t\t\tif (this.getBorderColor()) this.setBorderColor(Color.black);\n\t\t\tthis.setFillOpacity(0.3);\n\t\t\tthis.setStrokeOpacity(0.3);\n\t\t});\n\t\tcopy.owner = null; // so later addMorph will just leave the tfm alone\n\t\treturn copy;\n\t},\n\n\tmorphToGrabOrReceiveDroppingMorph: function(evt, droppingMorph) {\n\t\treturn this.morphToGrabOrReceive(evt, droppingMorph, true);\n\t},\n\n\tmorphToGrabOrReceive: function(evt, droppingMorph, checkForDnD) {\n\t\t// If checkForDnD is false, return the morph to receive this mouse event (or null)\n\t\t// If checkForDnD is true, return the morph to grab from a mouse down event (or null)\n\t\t// If droppingMorph is not null, then check that this is a willing recipient (else null)\n\n\t\tif (this.isEpimorph)\n\t\t\treturn null;\n\n\t\tif (!this.fullContainsWorldPoint(evt.mousePoint)) return null; // not contained anywhere\n\t\t// First check all the submorphs, front first\n\t\tfor (var i = this.submorphs.length - 1; i >= 0; i--) {\n\t\t\tvar hit = this.submorphs[i].morphToGrabOrReceive(evt, droppingMorph, checkForDnD); \n\t\t\tif (hit != null) { \n\t\t\t\treturn hit; // hit a submorph\n\t\t\t}\n\t\t};\n\n\t\t// Check if it's really in this morph (not just fullBounds)\n\t\tif (!this.containsWorldPoint(evt.mousePoint)) return null;\n\n\t\t// If no DnD check, then we have a hit (unless no handler in which case a miss)\n\t\tif (!checkForDnD) return this.mouseHandler ? this : null;\n\n\t\t// On drops, check that this is a willing recipient\n\t\tif (droppingMorph != null) {\n\t\t\treturn this.acceptsDropping(droppingMorph) ? this : null;\n\t\t} else {\n\t\t\t// On grabs, can't pick up the world or morphs that handle mousedown\n\t\t\t// DI: I think the world is adequately checked for now elsewhere\n\t\t\t// else return (!evt.isCommandKey() && this === this.world()) ? null : this; \n\t\t\treturn this;\n\t\t}\n\n\t},\n\n\tmorphToReceiveEvent: function(evt) {\n\t\t// This should replace morphToGrabOrReceive... in Hand where events\n\t\t// must be displatched to morphs that are closed to DnD\n\t\treturn this.morphToGrabOrReceive(evt, null, false);\n\t},\n\n\n\tacceptsDropping: function(morph) { \n\t\treturn this.openForDragAndDrop && !(morph instanceof WindowMorph);\n\t},\n\n},\n'stepping', { // Morph stepping/timer functions\n\n startSteppingScripts: function() { }, // May be overridden to start stepping scripts\n\n\tstopStepping: function() {\n\t\tif (!this.activeScripts) return;\n\t\t// ignore null values\n\t\tthis.activeScripts.select(function (ea) { return ea }).invoke('stop', this.world());\n\t\tthis.activeScripts = null;\n\t},\n\t\n\tstopSteppingScriptNamed: function(sName) {\n\t\tif (!this.activeScripts) return;\n\t\tthis.activeScripts.select(function (ea) { return ea.scriptName == sName }).invoke('stop', this.world());\n\t\tthis.activeScripts = this.activeScripts.select(function (ea) { return ea.scriptName !== sName });\t\n\t\tif (this.activeScripts.length == 0) this.activeScripts = null;\n\t},\n\n\tstartStepping: function(stepTime, scriptName, argIfAny) {\n\t\tif (!scriptName) \n\t\t\tthrow Error(\"Old code\");\n\t\tvar action = new SchedulableAction(this, scriptName, argIfAny, stepTime);\n\t\tthis.addActiveScript(action);\n\t\taction.start(this.world());\n\t\treturn action;\n\t},\n\n\taddActiveScript: function(action) {\n\t\t// Every morph carries a list of currently active actions (alarms and repetitive scripts)\n\t\tif (!this.activeScripts) this.activeScripts = [action];\n\t\telse this.activeScripts.push(action);\n\t\tif (!action.rawNode.parentNode) \n\t\t\tthis.addMorph(action);\n\t\treturn this;\n\t\t// if we're deserializing the rawNode may already be in the markup\n\t},\n\n stopAllStepping: function() { // For me and all my submorphs \n\t\tthis.withAllSubmorphsDo( function() { this.stopStepping(); });\n },\n\n suspendAllActiveScripts: function() { // For me and all my submorphs\n\t\tthis.withAllSubmorphsDo( function() { this.suspendActiveScripts(); });\n },\n\n\tsuspendActiveScripts: function() {\n\t\tif (this.activeScripts) { \n\t\t\tthis.suspendedScripts = this.activeScripts.clone();\n\t\t\tthis.stopStepping();\n\t\t}\n\t},\n\n\tresumeAllSuspendedScripts: function() {\n\t\tvar world = WorldMorph.current();\n\t\tthis.withAllSubmorphsDo( function() {\n\t\t\tif (this.suspendedScripts) {\n\t\t\t\t// ignore null values\n\t\t\t\tthis.suspendedScripts.select(function (ea) { return ea }).invoke('start', world);\n\t\t\t\tthis.activeScripts = this.suspendedScripts;\n\t\t\t\tthis.suspendedScripts = null;\n\t\t\t}\n\t\t});\n\t},\n\n},\n'scripts', {\n\taddScript: function(funcOrString, optName) {\n\t\tvar func = Function.fromString(funcOrString);\n\t\treturn func.asScriptOf(this, optName);\n\t},\n\n\taddScriptNamed: function(name, funcOrString) {\n\t\t// DEPRECATED!!!\n\t\treturn this.addScript(funcOrString, name);\n\t},\n},\n'debugging', {\n\tnotify: function(msg, loc) {\n\t\tif (!loc) loc = this.world().positionForNewMorph();\n\t\tnew MenuMorph([[\"OK\", 0, \"toString\"]], this).openIn(this.world(), loc, false, msg); \n\t},\n\n\tshowOwnerChain: function(evt) {\n\t\tvar items = this.ownerChain().reverse().map(\n\t\t\tfunction(each) { \n\t\t\t\treturn [Object.inspect(each).truncate(), function(evt2) { each.showMorphMenu(evt) }]; \n\t\t\t});\n\t\tnew MenuMorph(items, this).openIn(this.world(), evt.point(), false, \"Top item is topmost\");\n\t},\n\n\ttoString: function() {\n\t\ttry {\n\t\t\tvar name = this.getName();\n\t\t\tif (name && name != '') name += '(' + this.constructor.name + ')';\n\t\t\telse name = (this.rawNode && this.id()) || 'morph without rawNode';\n\t\t\treturn name;\n\t\t} catch (e) {\n\t\t\t//console.log(\"toString failed on %s\", [this.id(), this.getType()]);\n\t\t\treturn \"#\";\n\t\t}\n\t},\n\n\tinspect: function() {\n\t\ttry {\n\t\t\treturn this.toString();\n\t\t} catch (err) {\n\t\t\treturn \"#\";\n\t\t}\n\t},\n\t\n\taddSvgInspector: function() {\n\t\tvar xml = Exporter.stringify(new Exporter(this).serialize(Global.document));\n\t\tvar txt = this.world().addTextWindow({\n\t\t\tcontent: xml,\n\t\t\ttitle: \"XML dump\", \n\t\t\tposition: this.world().positionForNewMorph(null, this)\n\t\t});\n\t\ttxt.innerMorph().xml = xml; // FIXME a sneaky way of passing original text.\n\t},\n\n\taddModelInspector: function() {\n\t\tvar model = this.getModel();\n\t\tif (model instanceof SyntheticModel) {\n\t\t\tvar variables = model.variables();\n\t\t\tvar list = [];\n\t\t\tfor (var i = 0; i < variables.length; i++) {\n\t\t\t\tvar varName = variables[i];\n\t\t\t\tlist.push(varName + \" = \" + model.get(varName));\n\t\t\t}\n\t\t\tthis.world().addTextListWindow({\n\t\t\t\tcontent: list,\n\t\t\t\ttitle: \"Simple Model dump\",\n\t\t\t\tposition: this.world().positionForNewMorph(null, this)\n\t\t\t});\n\t\t}\n\t},\n\n},\n'Fabrik',{\n\tisContainedIn: function(morph) {\n\t\tif (!this.owner) return false;\n\t\tif (this.owner === morph) return true;\n\t\treturn this.owner.isContainedIn(morph)\n\t},\n});\n\n\n\n// Morph factory methods for creating simple morphs easily\n\n\n\n\n// View trait\nGlobal.ViewTrait = {\n connectModel: function(plugSpec, optKickstartUpdates) {\n\t// FIXME what if already connected, \n\tif (plugSpec instanceof Relay) {\n\t // new style model\n\t this.formalModel = plugSpec;\n\t // now, go through the setters and add notifications on model\n\t if (plugSpec.delegate instanceof Record) \n\t\tplugSpec.delegate.addObserversFromSetters(plugSpec.definition, this, optKickstartUpdates);\n\t return;\n\t} else if (plugSpec instanceof Record) {\n\t this.formalModel = plugSpec;\n\t plugSpec.addObserversFromSetters(plugSpec.definition, this, optKickstartUpdates);\n\t return;\n\t}\n\t// connector makes this view pluggable to different models, as in\n\t// {model: someModel, getList: \"getItemList\", setSelection: \"chooseItem\"}\n\tvar newPlug = (plugSpec instanceof ModelPlug) ? plugSpec : new ModelPlug(plugSpec);\n\t\n\tvar model = newPlug.model;\n\tif (!(model instanceof Model) && !this.checkModel(newPlug))\n\t console.log(\"model \" + model + \" is not a Model, view \" + this);\n\n\tthis.modelPlug = newPlug;\n\n\tif (model.addDependent) { // for mvc-style updating\n\t model.addDependent(this);\n\t} \n\treturn this;\n },\n\n relayToModel: function(model, optSpec, optKickstart) {\n\treturn this.connectModel(Relay.newInstance(optSpec || {}, model), optKickstart);\n },\n\n reconnectModel: function() {\n\tif (this.formalModel instanceof Relay) {\n\t // now, go through the setters and add notifications on model\n\t //alert('delegate ' + this.formalModel.delegate);\n\t if (this.formalModel.delegate instanceof Record) {\n\t\tthis.formalModel.delegate.addObserversFromSetters(this.formalModel.definition, this);\n\t }\n\t} else if (this.formalModel instanceof Record) {\n\t this.formalModel.addObserversFromSetters(this.formalModel.definition, this);\n\t} //else alert('formal model ' + this.formalModel);\n },\n\n checkModel: function(plugSpec) {\n\t// For non-models, check that all supplied handler methods can be found\n\tvar result = true;\n\tProperties.forEachOwn(plugSpec, function(modelMsg, value) {\n\t if (modelMsg == 'model') return;\n\t var handler = plugSpec.model[value];\n\t \n\t if (!handler || !(handler instanceof Function)) {\n\t\t// console.log\n\t\talert(\"Supplied method name, \" + value + \" does not resolve to a function.\");\n\t\tresult = false;\n\t }\n\t});\n\treturn result;\n },\n\n disconnectModel: function() {\n\tvar model = this.getModel();\n\tif (model && model.removeDependent) { // for mvc-style updating\n\t model.removeDependent(this);\n\t} \n },\n\n getModel: function() {\n\tvar plug = this.getModelPlug();\n\tif (plug) return plug.model;\n\telse return this.getActualModel();\n },\n\n getActualModel: function() {\n\treturn this.formalModel instanceof Relay ? this.formalModel.delegate : this.formalModel;\n },\n \n getModelPlug: function() { \n\tvar plug = this.modelPlug;\n\treturn (plug && plug.delegate) ? plug.delegate : plug;\n },\n\n getModelValue: function(functionName, defaultValue) {\n\t// functionName is a view-specific message, such as \"getList\"\n\t// The model plug then provides a reference to the model, as well as\n\t// the specific model accessor for the aspect being viewed, say \"getItemList\"\n\t// Failure at any stage will return the default value.\n\t// TODO: optionally verify that variable name is listed in this.pins\n\tif (this.formalModel) { \n\t // snuck in compatiblitiy with new style models\n\t var impl = this.formalModel[functionName];\n\t return impl ? impl.call(this.formalModel) : defaultValue;\n\t}\n\t\n\tvar plug = this.getModelPlug();\n\tif (plug == null || plug.model == null || functionName == null) return defaultValue;\n\tvar func = plug.model[plug[functionName]];\n\tif (func == null) return defaultValue;\n\treturn func.call(plug.model); \n },\n\n setModelValue: function(functionName, newValue) {\n\t// functionName is a view-specific message, such as \"setSelection\"\n\t// The model plug then provides a reference to the model, as well as\n\t// the specific model accessor for the aspect being viewed, say \"chooseItem\"\n\t// Failure at any stage is tolerated without error.\n\t// Successful sets to the model supply not only the newValue, but also\n\t// a reference to this view. This allows the model's changed() method\n\t// to skip this view when broadcasting updateView(), and thus avoid\n\t// needless computation for a view that is already up to date.\n\t// TODO: optionally verify that variable name is listed in this.pins\n\tif (this.formalModel) { \n\t // snuck in compatiblitiy with new style models\n\t var impl = this.formalModel[functionName];\n\t return impl && impl.call(this.formalModel, newValue);\n\t}\n\tvar plug = this.getModelPlug();\n\tif (plug == null || plug.model == null || functionName == null) return null;\n\tvar func = plug.model[plug[functionName]];\n\tif (func == null) return null;\n\tfunc.call(plug.model, newValue, this);\n\treturn plug[functionName];\n },\n\n updateView: function(aspect, controller) {\n\t// This method is sent in response to logic within the model executing\n\t// this.changed(aspect, source)\n\t// The aspect used is the name of the get-message for the aspect\n\t// that needs to be updated in the view (and presumably redisplayed)\n\t// All actual view morphs will override this method with code that\n\t// checks for their aspect and does something useful in that case.\n }\n};\n\nObject.subclass('View', ViewTrait, {\n\n initialize: function(modelPlug) {\n\tif (modelPlug)\n\t this.connectModel(modelPlug);\n },\n\n getType: function() { // convenience\n\treturn this.constructor.getOriginal().type;\n },\n\n toString: function() {\n\treturn \"#<\" + this.getType() + \">\";\n }\n\n});\n\nMorph.addMethods(ViewTrait);\n\n\n// ===========================================================================\n// MVC model support\n// ===========================================================================\n\n/**\n * @class Model\n * An MVC style model class that allows changes to be automatically\n * propagated to multiple listeners/subscribers/dependents. \n */ \n\n// A typical model/view relationship is set up in the following manner:\n// panel.addMorph(m = newTextListPane(new Rectangle(200,0,200,150)));\n// m.connectModel({model: this, getList: \"getMethodList\", setSelection: \"setMethodName\"});\n// The \"plug\" object passed to connectModel() points to the model, and converts from\n// view-specific messages like getList() and setSelection() to model-specific messages\n// like getMethodList() and setMethodName. This allow a single model to have, eg,\n// several list views, each viewing a different list aspect of the model.\n\n// A number of morphs are used as views, or \"widgets\". These include TextMorph,\n// ListMorph, ButtonMorph, SliderMorph, etc. Each of these morphs uses the above\n// plug mechanism to get or set model values and to respond to model changes.\n// these are documented in Morph.getModelValue, setModelValue, and updateView\n\nObject.subclass('Model', {\n\n initialize: function(dep) { \n\t// Broadcasts an update message to all dependents when a value changes.\n\tthis.dependents = (dep != null) ? [dep] : [];\n },\n\n addDependent: function (dep) { \n\tthis.dependents.push(dep); \n },\n\n removeDependent: function (dep) {\n\tvar ix = this.dependents.indexOf(dep);\n\tif (ix < 0) return;\n\tthis.dependents.splice(ix, 1); \n },\n\n changed: function(varName, source) {\n\t// Broadcast the message \"updateView\" to all dependents\n\t// If source (a dependent) is given, we skip it (already updated)\n\t// If varName is not given, then null will be the aspect of the updateView()\n\t//console.log('changed ' + varName);\n\tfor (var i = 0; i < this.dependents.length; i++) {\n\t if (source !== this.dependents[i]) {\n\t\t// console.log('updating %s for name %s', this.dependents[i], varName);\n\t\tthis.dependents[i].updateView(varName, source);\n\t } \n\t} \n },\n\n toString: function() {\n\treturn Strings.format(\"#\", this.dependents);\n },\n\n // test?\n copyFrom: function(copier, other) {\n\tthis.dependents = [];\n\tother.dependents.forEach(function(dep) { this.dependents.push(copier.lookup(dep.id())) }, this);\n }\n\n});\n\nlively.data.Wrapper.subclass('ModelPlug', { // obsolete with CheapListMorph?\n documentation: \"A 'translation' from view's variable names to model's variable names\",\n\n initialize: function(spec) {\n\tvar props = [];\n\tProperties.forEachOwn(spec, function(p) {\n\t this[p] = spec[p];\n\t props.push(p);\n\t}, this);\n },\n \n toString: function() {\n\tvar pairs = [];\n\tProperties.forEachOwn(this, function(p, value) { if (p != 'model') pairs.push(p + \":\" + value) });\n\treturn \"#\";\n },\n\n serialize: function(modelId) {\n\tvar rawNode = LivelyNS.create(\"modelPlug\", {model: modelId});\n\tProperties.forEachOwn(this, function(prop, value) {\n\t switch (prop) {\n\t case 'model':\n\t case 'rawNode':\n\t\tbreak;\n\t default:\n\t\trawNode.appendChild(LivelyNS.create(\"accessor\", {formal: prop, actual: value}));\n\t }\n\t}, this);\n\treturn rawNode;\n },\n\n inspect: function() {\n\treturn JSON.serialize(this);\n },\n\n deserialize: function(importer, rawNode) {\n\tfor (var acc = rawNode.firstChild; acc != null; acc = acc.nextSibling) {\n\t if (acc.localName != 'accessor') continue;\n\t this[LivelyNS.getAttribute(acc, \"formal\")] = LivelyNS.getAttribute(acc, \"actual\");\n\t}\n }\n});\n\n\nModel.subclass('SyntheticModel', {\n documentation: \"A stereotyped model synthesized from a list of model variables\",\n\n initialize: function($super, vars) {\n\t$super(null);\n\tif (!(vars instanceof Array)) \n\t throw new Error(\"wrong argument to SyntheticModel: \" + vars);\n\tfor (var i = 0; i < vars.length; i++) {\n\t var v = vars[i];\n\t if (v.startsWith('-') || v.startsWith('+')) \n\t\tv = v.slice(1);\n\t this.addVariable(v, null);\n\t}\n },\n\n makeGetter: function(name) {\n\t// functional programming is fun!\n\t\n\treturn function() { \n\t return this[name]; \n\t};\n },\n\n makeSetter: function(name) {\n\treturn function(newValue, v) { \n\t this[name] = newValue; \n\t this.changed(this.getterName(name), v); \n\t};\n },\n\n addVariable: function(varName, initialValue) {\n\tthis[varName] = initialValue;\n\tthis[this.getterName(varName)] = this.makeGetter(varName);\n\tthis[this.setterName(varName)] = this.makeSetter(varName);\n },\n\n getterName: function(varName) {\n\treturn \"get\" + varName;\n },\n\n get: function(varName) {\n\tvar method = this[this.getterName(varName)];\n\tif (!method) throw new Error(this.getterName(varName) + \" not present \");\n\treturn method.call(this, varName);\n },\n\n setterName: function(varName) {\n\treturn \"set\" + varName;\n },\n\n set: function(varName, value) {\n\tvar method = this[this.setterName(varName)]\n\tif (!method) throw new Error(this.setterName(varName) + \" not present\");\n\treturn method.call(this, varName, value);\n },\n\n makePlugSpecFromPins: function(pinList) {\n\tvar spec = { model: this};\n\tpinList.forEach(function(decl) {\n\t if (!decl.startsWith('-')) { // not read-only\n\t\tvar stripped = decl.startsWith('+') ? decl.slice(1) : decl;\n\t\tspec[this.setterName(stripped)] = this.setterName(stripped);\n\t }\n\t if (!decl.startsWith('+')) { // not write-only\n\t\tvar stripped = decl.startsWith('-') ? decl.slice(1) : decl;\n\t\tspec[this.getterName(stripped)] = this.getterName(stripped);\n\t }\n\t}, this);\n\treturn spec;\n },\n\n makePlugSpec: function() {\n\t// make a plug of the form {model: this, getVar1: \"getVar1\", setVar1: \"setVar1\" .. }\n\tvar spec = {model: this};\n\tthis.variables().forEach(function(v) { \n\t var name = this.getterName(v);\n\t spec[name] = name;\n\t name = this.setterName(v);\n\t spec[name] = name;\n\t}, this);\n\treturn spec;\n },\n\n variables: function() {\n\treturn Properties.own(this).filter(function(name) { return name != 'dependents'});\n }\n});\n\n\n\n\n\n// ===========================================================================\n// World-related widgets\n// ===========================================================================\n\n// A unique characteristics of the Morphic graphics system is that\n// all the objects (morphs) live in a \"world\" that is shared between \n// different objects and even between different users. A world can\n// contain a large number of different applications/widgets, much like\n// in an operating system a folder can contain a lot of files. Worlds\n// can be linked to each other using LinkMorphs. As a consequence,\n// the entire system can contain a large number of worlds, each of\n// which contains a large number of simultaneously running applications\n// and widgets. \n\nMorph.subclass(\"PasteUpMorph\", {\n\n documentation: \"used for layout, most notably the world and, e.g., palettes\",\n\n initialize: function($super, bounds, shapeType) {\n return $super(bounds, shapeType);\n },\n \n\tcaptureMouseEvent: function PasteUpMorph$captureMouseEvent($super, evt, hasFocus) {\n\t\tif (evt.type == \"MouseDown\" && this.onMouseDown(evt)) return;\n\t\tif (evt.type == \"MouseWheel\" && this.onMouseWheel(evt)) return;\n\t\t$super(evt, hasFocus); \n\t},\n\n\tonMouseDown: function PasteUpMorph$onMouseDown($super, evt) { //default behavior is to grab a submorph\n\t\t$super(evt);\n\t\tvar m = this.morphToReceiveEvent(evt);\n\t\tif (false && m instanceof HandleMorph) { // Verify handles work with pie menus, then delete\n\t\t\tm.onMouseDown(evt); // fixme\n\t\t\treturn true;\n\t\t}\n\t\tif (Config.usePieMenus) {\n\t\t\tif (m.handlesMouseDown(evt)) return false;\n\t\t\tm.showPieMenu(evt, m);\n\t\t\treturn true;\n\t\t}\n\t\tif (m == null) { \n\t\t\tthis.makeSelection(evt); \n\t\t\treturn true; \n\t\t} else if (!evt.isCommandKey() && evt.isLeftMouseButtonDown()) {\n\t\t\tif (m === this.world()) { \n\t\t\t\tthis.makeSelection(evt); \n\t\t\t\treturn true; \n\t\t\t} else if (m.handlesMouseDown(evt)) \n\t\t\t\treturn false;\n\t\t}\n\t\tevt.hand.grabMorph(m, evt);\n\t\treturn true; \n\t},\n\n\n\tbounds: function($super, ignoreTransients, ignoreTransform) {\n\t\treturn $super(ignoreTransients, true);\n\t},\n\t\n\tonMouseWheel: function(evt) {\t\t\n\t\tif (!evt.isCommandKey()) return false;\n\t\tevt.preventDefault();\n\n\t\tvar wheelDelta = evt.wheelDelta();\n\t\tvar oldScale = this.getScale();\n\n\t\tvar minScale = 0.2, maxScale = 5;\n\t\tif (oldScale < minScale && wheelDelta < 0) return false;\n\t\tif (oldScale > maxScale && wheelDelta > 0) return false;\n\t\tvar scaleDelta = 1 + evt.wheelDelta() / 10000;\n\t\t\n\t\t// this.scaleBy(scaleDelta);\n\t\tvar newScale = oldScale * scaleDelta;\n\t\tvar newScale = Math.max(Math.min(newScale, maxScale), minScale);\n\t\tconsole.log(\"new scale \" + newScale)\n\t\tthis.setScale(newScale)\n\n\t\t// actually this should be a layoutChanged but implementing\n\t\t// layoutChanged in WorldMorph is expensive since it is always called when a\n\t\t// submorph's layout is changed (owner chain propagation)\n\t\tthis.resizeCanvasToFitWorld();\n\t\t\n\t\t// Zoom into/out of the current mouse position:\n\t\t// p is the current mouse position. If we wouldn't move the window the new mouse pos would be scaledP.\n\t\t// We calculate the vector from scaledP to p and scale that by the current scale factor\n\t\t// We end up with a vector that can be used to scroll the screen to zoom in/out\n\t\tvar p = evt.point();\n\t\tvar scaledP = p.scaleBy(1/scaleDelta);\n\t\tvar translatedP = p.subPt(scaledP).scaleBy(this.getScale());\n\t\twindow.scrollBy(translatedP.x, translatedP.y)\n\n\t\treturn true\n\t},\n\t\n okToBeGrabbedBy: function(evt) {\n // Paste-ups, especially the world, cannot be grabbed normally\n return null; \n },\n\n\tmakeSelection: function(evt) {\t//default behavior is to grab a submorph\n\t\tif (this.world().currentSelection != null) this.world().currentSelection.removeOnlyIt();\n\t\t\n\t\tvar m = new SelectionMorph(evt.point().asRectangle());\n\t\tthis.world().currentSelection = m;\n\t\t\n\t\tthis.world().addMorph(m);\n\t\tvar handle = new HandleMorph(pt(0,0), lively.scene.Rectangle, evt.hand, m, \"bottomRight\");\n\t\thandle.setExtent(pt(0, 0));\n\t\thandle.mode = 'reshape';\n\t\tm.addMorph(handle);\n\t\tevt.hand.setMouseFocus(handle);\n\t\tevt.hand.setKeyboardFocus(handle);\n\t},\n\n\n \n});\nObject.subclass('Styles');\nObject.extend(Styles, {\n\ttitleBarButtonGradient: function(color) {\n\t\tvar gfx = lively.paint;\n\t\treturn new gfx.RadialGradient([\n\t\t\t\tnew gfx.Stop(0, color.lighter(2)),\n\t\t\t\tnew gfx.Stop(0.5, color),\n\t\t\t\tnew gfx.Stop(1, color.darker())],\n\t\t\tpt(0.4, 0.2))\n\t}\n});\n\nif (!Global.DisplayThemes)\n\tGlobal.DisplayThemes = {};\n\nPasteUpMorph.subclass(\"WorldMorph\", \n'defaults', {\n documentation: \"A Morphic world (a visual container of other morphs)\",\n fill: Color.primary.blue,\n defaultExtent: pt(1280, 1024),\n\tstyleClass: ['world'],\n\t\n // Default theme for the theme manager \n},\n'initilization', {\n\tinitialize: function($super, canvas, backgroundImageId) {\n\t\tvar bounds = Rectangle.fromElement(canvas);\n\t\t// sometimes bounds has zero dimensions (when reloading thes same page, timing issues?\n\t\t// in Firefox bounds may be 1x1 size?? maybe everything should be run from onload or sth?\n\t\tif (bounds.width < 2) {\n\t\t\tbounds.width = this.defaultExtent.x;\n\t\t}\n\n\t\tif (bounds.height < 2) {\n\t\t\tbounds.height = this.defaultExtent.y;\n\t\t}\n\n\t\tif (backgroundImageId) {\n\t\t\tvar background = NodeFactory.create(\"use\");\n\t\t\tXLinkNS.setHref(background, backgroundImageId);\n\t\t\tthis.addNonMorph(background);\n\t\t}\n\t\t$super(new lively.scene.Rectangle(bounds));\n\n\t\tthis.setDisplayTheme(this.displayTheme); // apply display theme\n\n\t\t//gradient.rawNode.setAttributeNS(null, \"gradientTransform\", \"translate(0, -0.1) skewY(10)\");\t\t \n\t\tthis.enterCount = 0;\n\t},\n\n\tdoNotSerialize: ['hands', 'scheduledActions', 'lastStepTime', 'mainLoop', 'worldId', 'secondTick', 'currentScript', 'currentSelection', '_statusMessageContainer'],\n\n initializeTransientState: function($super) {\n $super();\n\n this.hands = [];\n\n\t\t\t\t\n\t\tvar theme = DisplayThemes[Config.defaultDisplayTheme];\n\t\tif (!theme)\n\t\t\tconsole.log('ERROR: could not find Theme ' + Config.defaultDisplayTheme)\n\t\tthis.displayTheme = theme; // set display them without applying it\n\t\tconsole.log('WorldMorph: updated display theme ')\n\n\n\t\tthis.withAllSubmorphsDo( function() { this.layoutChanged(); }); // Force installation of transforms\n\n this.scheduledActions = []; // an array of schedulableActions to be evaluated\n this.lastStepTime = (new Date()).getTime();\n this.mainLoopFunc = this.doOneCycle.bind(this).logErrors('Main Loop');\n this.mainLoop = Global.setTimeout(this.mainLoopFunc, 30);\n this.worldId = ++WorldMorph.worldCount;\n\t\tvar self = this;\n\t\twindow.onscroll = function() {signal(self, 'scrollChange')}\n\n return this;\n },\n\n\tcollectAllUsedFills: function($super, usedFills) {\n\t\tusedFills = $super(usedFills);\n\t\tProperties.forEachOwn(this.displayTheme, function(ea) {\n\t\t\tvar style = this[ea]\n\t\t\tif (style && (style.fill instanceof lively.paint.Gradient)) {\n\t\t\t\tusedFills.push(style.fill);\n\t\t\t} \n\t\t}.bind(this.displayTheme))\n\t\treturn usedFills\n\t},\n \n\tremove: function() {\n\t\tif (!this.rawNode.parentNode) return null; // already removed\n\t\tthis.hands.clone().forEach(function(hand) { this.removeHand(hand) }, this);\n\t\tthis.stopStepping();\n\t\tthis.removeRawNode();\n\t\treturn this;\n\t},\n},\n'private', {\n\n\t// called by insertMorph to determine the rawNode after the new inserted morph\n\tgetInsertPositionFor: function(m, isFront) {\n\t\tif (this.submorphs.length == 0) return this.hands.length > 0 ? this.hands[0].rawNode : null;\n\t\treturn isFront ? this.submorphs.last().rawNode.nextSibling : this.submorphs.first().rawNode;\n\t},\n\t\n\ttoggleNativeCursor: function(flag) {\n\t\tthis.canvas().setAttributeNS(null, \"cursor\", flag ? \"auto\" : \"none\");\n\t},\n\n\tresizeCanvasToFitWorld: function () {\n\t\tvar canvas = this.canvas();\n\t\tif (!canvas) return;\n\t\tthis.transformChanged();\n\t\tthis.fullBounds = null;\n\n\t\tvar w = this.bounds().width * this.getScale() , h = this.bounds().height * this.getScale();\n\n\t\tif (canvas.clientWidth != w && canvas.clientHeight != h) {\n\t\t\tif (canvas.offsetLeft) w += canvas.offsetLeft * this.getScale();\n\t\t\tif (canvas.offsetTop) h += canvas.offsetTop * this.getScale();\n\t\t\tcanvas.setAttribute(\"width\", w);\n\t\t\tcanvas.setAttribute(\"height\", h);\n\n\t\t}\n\t},\n\n\tdisplayOnCanvas: function(canvas) {\n\t\t// this.remove();\n\t\tif (this.rawNode.parentNode !== canvas) canvas.appendChild(this.rawNode);\n\t\tvar hand = this.addHand(new HandMorph(true));\n\t\tWorldMorph.currentWorld = this; // this conflicts with mutliple worlds\n\t\tif (Config.resizeScreenToWorldBounds)\n\t\t\tthis.resizeCanvasToFitWorld(this);\n\t\tthis.onEnter(); \n\n\t\tthis.enterCount ++;\n\t},\n \n\taddHand: function(hand) {\n\t\tif (this.hands.length > 0 && !this.hands.first())\n\t\t\tthis.hands.shift(); // FIXME: Quick bugfix. When deserializing the world the hands.first() is sometimes undefined\n\t\tthis.hands.push(hand);\n\t\thand.owner = this;\n\t\t// FIXME mouse events are correctly dispatched when using canvas or world\n\t\t// keyboard events only work when using documentElement --> problem with multiple worlds\n\t\thand.registerForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.registerForEvents(this.canvas());\n\t\thand.layoutChanged();\n\n\t\tthis.rawNode.appendChild(hand.rawNode);\n\t\treturn hand;\n\t},\n \n\tremoveHand: function(hand) {\n\t\thand.setMouseFocus(null); // cleanup, just in case\n\t\thand.setKeyboardFocus(null); // cleanup (calls blur(), which will remove the focus halo)\n\t\thand.removeRawNode();\n\t\thand.unregisterForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.unregisterForEvents(this.canvas());\n\n\t\tthis.hands.splice(this.hands.indexOf(hand), 1);\n\t},\n\n\n toggleBalloonHelp: function() {\n Morph.prototype.suppressBalloonHelp = !Morph.prototype.suppressBalloonHelp;\n },\n\n toggleDebugBackground: function() {\n // Debug background is transparent, so that we can see the console\n // if it is not otherwise visible\n Config.useDebugBackground = !Config.useDebugBackground;\n this.shape.setFillOpacity(Config.useDebugBackground ? 0.8 : 1.0);\n },\n\n chooseDisplayTheme: function(evt) { \n var themes = DisplayThemes;\n var target = this; // trouble with function scope\n var themeNames = Properties.own(themes);\n var items = themeNames.map(\n function(each) { return [each, target, \"setDisplayTheme\", themes[each]]; });\n var menu = new MenuMorph(items, this);\n menu.openIn(this.world(), evt.point());\n },\n \n setDisplayTheme: function(styleDict) { \n this.displayTheme = styleDict;\n this.withAllSubmorphsDo( function() { this.applyLinkedStyles(); });\n },\n \n restart: function() {\n window.location && window.location.reload();\n },\n\n},\n'geometry', {\n \n layoutChanged: function() {\n\t// do nothing\n },\n\n layoutOnSubmorphLayout: function() {\n\treturn false;\n },\n \n\n moveBy: function(delta) { // don't try to move the world\n },\n},\n'world', {\n\n world: function() { \n return this; \n },\n\t\n validatedWorld: function() { \n return this; \n },\n \n firstHand: function() {\n return this.hands[0];\n },\n\n onEnter: function() {},\n onExit: function() {},\n\n /**\n * override b/c of parent treatement\n */\n relativize: function(pt) { \n return pt;\n //return pt.matrixTransform(this.rawNode.parentNode.getTransformToElement(this.rawNode)); \n },\n\thideHostMouseCursor: function() {\n\t\tif (!Config.hideSystemCursor) return;\n\t\tvar\tpath = URL.codeBase.withFilename('media/nocursor.gif').pathname\n\t\tdocument.body.style.cursor = 'url(\"' + path + '\"), none';\n\t},\n\tshowHostMouseCursor: function() {\n\t\tdocument.body.style.cursor = 'default'\n\t},\n\n\n\n},\n'stepping', {\n \n // *** The new truth about ticking scripts ***\n // A morph may have any number of active scripts\n // Each is activated by a call such as\n // this.startStepping(50, \"rotateBy\", 0.1);\n // Note that stepTime is in milliseconds, as are all lower-level methods\n // The arguments are: stepTime, scriptName, argIfAny\n // This in turn will create a SchedulableAction of the form\n // { actor: aMorph, scriptName: \"rotateBy\", argIfAny: 0.1, stepTime: 50, ticks: 0 }\n // and this action will be both added to an array, activeScripts in the morph,\n // and it will be added to the world's scheduledActions list, which is an array of\n // tuples of the form [msTimeToRun, action]\n // The ticks field is used to tally ticks spent in each schedulableAction --\n // It is incremented on every execution, and it is multiplied by 0.9 every second\n // Thus giving a crude 10-second average of milliseconds spent in this script\n // every 10 seconds. The result is divided by 10 in the printouts.\n //\n // The message startSteppingScripts can be sent to morphs when they are placed in the world.\n // It is intended that this may be overridden to start any required stepping.\n // The message stopStepping will be sent when morphs are removed from the world.\n // In this case the activeScripts array of the morph is used to determine exactly what\n // scripts need to be unscheduled. Note that startSteppingScripts is not sent\n // automatically, whereas stopStepping is. We know you won't forget to \n // turn your gadgets on, but we're more concerned to turn them off when you're done.\n\n scheduleForLater: function(action, delayInMs, removePrior) {\n if (removePrior) this.stopSteppingFor(action, true); // unschedule earlier\n this.scheduleAction(new Date().getTime() + delayInMs, action);\n },\n \n startSteppingFor: function(action) {\n\t\tif (!action.scriptName) throw new Error(\"old code\");\n\t\t// New code for stepping schedulableActions\n\t\tthis.stopSteppingFor(action, true); // maybe replacing arg or stepTime\n\t\tthis.scheduleAction(new Date().getTime(), action);\n\t},\n \n stopSteppingFor: function(action, fromStart) { // should be renamed to unschedule()\n // fromStart means it is just getting rid of a previous one if there,\n\t // so not an error if not found\n\n if (this.currentScript === action) {\n\t\t // Not in queue; just prevent it from being rescheduled\n\t\t this.currentScript = null;\n\t\t return;\n\t\t};\n\n\t\tthis.scheduledActions = this.scheduledActions.reject(function(ea) {\n\t\t\tvar eaAction = ea[1]\n\t\t\treturn action.equalActorAndName(eaAction)\n\t\t})\n },\n\n \tstopSteppingScriptNamedAndRemoveFromSubmorphs: function(sName) {\n\t\tif (!this.activeScripts) return;\n\t\tvar all =this.activeScripts.select(function (ea) { return ea.scriptName == sName });\n\t\tall.invoke('stop', this.world());\n\t\tall.each(function(ea) {this.removeMorph(ea);}.bind(this));//remove\n\t\tthis.activeScripts = this.activeScripts.select(function (ea) { return ea.scriptName !== sName });\t\n\t\tif (this.activeScripts.length == 0) this.activeScripts = null;\n },\n \n validateScheduler: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n\tvar list = this.scheduledActions.clone(); // shorthand\n for (var i = 0; i < list.length; i++) {\n var actn = list[i][1];\n if (actn.actor instanceof Morph && actn.actor.validatedWorld() !== this) {\n this.stopSteppingFor(actn)\n }\n }\n },\n\n inspectScheduledActions: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n lively.Tools.inspect(this.scheduledActions.map(function(each) { return each[1]; }));\n },\n\n doOneCycle: function WorldMorph$doOneCycle(world) {\n // Process scheduled scripts\n\n // Run through the scheduledActions queue, executing those whose time has come\n // and rescheduling those that have a repeatRate\n // Note that actions with error will not get rescheduled\n // (and, unless we take the time to catch here, will cause all later \n // ones in the queue to miss this tick. Better less overhead, I say\n // DI: **NOTE** this needs to be reviewed for msClock rollover\n // -- also note we need more time info for multi-day alarm range\n // When we do this, I suggest that actions carry a date and msTime\n // and until their day is come, they carry a msTime > a day\n // That way they won't interfere with daily scheduling, but they can\n // still be dealt with on world changes, day changes, save and load.\n\t\tvar msTime = new Date().getTime();\n\t\tvar timeOfNextStep = Infinity;\n\t\tvar list = this.scheduledActions; // shorthand\n\t\tvar timeStarted = msTime; // for tallying script overheads\n\t\twhile (list.length > 0 && list[list.length - 1][0] <= msTime) {\n\t\t\tvar schedNode = list.pop(); // [time, action] -- now removed\n\t\t\tvar action = schedNode[1];\n\t\t\tthis.currentScript = action; // so visible from stopStepping\n\t\t\tlively.lang.Execution.resetDebuggingStack(); // Reset at each tick event\n\t\t\ttry {\n\t\t\t\taction.exec();\n\t\t\t} catch (er) {\n\t\t\t\tconsole.warn(\"error on actor %s: %s\", action.actor, er);\n\t\t\t\tdbgOn(true);\n\t\t\t\tlively.lang.Execution.showStack();\n\t\t\t\ttimeStarted = new Date().getTime();\n\t\t\t\tcontinue; // Note: if error in script above, it won't get rescheduled below (this is good)\n\t\t\t}\n \n\t\t\t// Note: stopStepping may set currentScript to null so it won't get rescheduled\n\t\t\tif (this.currentScript && action.stepTime > 0) {\n\t\t\t\tvar nextTime = msTime + action.stepTime;\n\t\t\t\tthis.scheduleAction(nextTime, action)\n\t\t\t}\n\t\t\tthis.currentScript = null;\n\n\t\t\tvar timeNow = new Date().getTime();\n\t\t\tvar ticks = timeNow - timeStarted;\n\t\t\tif (ticks > 0) action.ticks += ticks; // tally time spent in that script\n\t\t\ttimeStarted = timeNow;\n\t\t}\n\n\t\t// Generate a mouseMove if any ticking scripts have run so that\n\t\t// simulations can respond where, eg, a morph moves under the mouse\n\t\t// DI: This is *only* needed for the slide-keyboard-under-mouse demo (very cool)\n\t\t//\tUses extra cycles, though, and currently fails in Opera\n\t\tif (Config.nullMoveAfterTicks) { // set this true in localConfig for the demo\n\t\t\tvar myHand = this.firstHand();\n\t\t\tif (myHand) myHand.makeANullMove();\n\t\t}\n\t\tif (list.length > 0) timeOfNextStep = Math.min(list[list.length-1][0], timeOfNextStep);\n\n\t\t// Each second, run through the tick tallies and mult by 0.9 to 10-sec \"average\"\n\t\tif (!this.secondTick) this.secondTick = 0;\n\t\tvar secondsNow = Math.floor(msTime / 1000);\n\t\tif (this.secondTick != secondsNow) {\n\t\t\tthis.secondTick = secondsNow;\n\t\t\tvar tallies = {};\n\t\t\tfor (var i=0; i=0; i--) {\n var schedNode = list[i];\n if (schedNode[0] > msTime) {\n list.splice(i+1, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n return; \n }\n }\n list.splice(0, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n },\n},\n'dialogs', {\n \n\topenURLasText: function(url, title) {\n\t\t// FIXME: This should be moved with other handy services like confirm, notify, etc\t\t\n\t\tvar pane = this.addTextWindow({content: \"fetching ... \", title: title});\n\t\tvar r = new WebResource(url);\n\t\tlively.bindings.connect(r, 'content', pane.innerMorph(), 'setTextString');\n\t\tr.beAsync().get();\n\t\t\n\t},\n\n\tviewport: function() {\n\t\ttry {\n\t\t\treturn Rectangle.ensure(this.canvas().viewport);\n\t\t\t} catch (er) { // FF doesn't implement viewport ?\n\t\t\treturn this.shape.bounds();\n\t\t}\n\t},\n\n\talert: function(varargs) {\n\t\tvar message = Strings.formatFromArray($A(arguments));\n\t\tvar openDialog = function() {\n\t\t\talert(message)\n\t\t};\n\t\tthis.setStatusMessage(message, Color.red, undefined, openDialog, undefined, \"alert: \")\n\t}.logErrors('alert'),\n\n\tprompt: function(message, callback, defaultInput) {\n\t\tvar model = Record.newPlainInstance({Message: message, Input: defaultInput || \"\", Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value == true && callback) callback.call(Global, model.getInput());\n\t\t\t}\n\t\t});\n\t\tvar dialog = new PromptDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\", Input: \"Input\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t},\n\n editPrompt: function(message, callback, defaultInput) {\n\t\tvar dialog = new PromptDialogMorph();\n\t\tdialog.title = message;\n\t\tdialog.setText(defaultInput);\n\t\tdialog.callback = callback;\n\t\tdialog.openIn(this, this.positionForNewMorph(dialog));\n\t\treturn dialog\n },\n\n\tconfirm: function(message, callback) {\n\t\tvar model = Record.newPlainInstance({Message: message, Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value && callback) callback.call(Global, value);\n\t\t\t}});\n\t\tvar dialog = new ConfirmDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t\treturn dialog;\n\t},\n\tshowErrorDialog: function(error) {\n\t\tvar pane = this.addTextWindow({\n\t\t\tcontent: \"\",\n\t\t\ttitle: \"Error\", \n\t\t});\n\t\tpane.owner.setPosition(this.positionForNewMorph(pane))\n\t\tLastPane = pane\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceURL) {\n\t\t\t// works under Safari 5\n\t\t\tvar urlString = error.sourceURL;\n\t\t\tvar source = new WebResource(new URL(urlString)).get().content\n\t\t\tthis.showErrorDiaglogInWorkspace(source, error.expressionBeginOffset, error.expressionEndOffset, pane)\n\t\t\tpane.owner.setTitle('Error:' + urlString)\n\t\t\treturn pane\n\t\t}\n\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceId) {\n\t\t\tvar sourceReference = EvalSourceRegistry.current().sourceReference(error.sourceId);\n\t\t\tif (sourceReference !== undefined) {\n\t\t\t\tconsole.log('error ' + printObject(error))\n\t\t\t\tvar expressionBeginOffset = error.expressionBeginOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tvar expressionEndOffset = error.expressionEndOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tthis.showErrorDiaglogInWorkspace(sourceReference.sourceString, expressionBeginOffset, expressionEndOffset, pane)\n\t\t\t\tif (sourceReference.morph) {\n\t\t\t\t\tsourceReference.morph.showError(error, (sourceReference.offset || 0) - sourceReference.evalCodePrefixLength)\n\t\t\t\t}\n\n\t\t\t\treturn pane\n\t\t\t}\n\t\t} \n\n\t\tpane.innerMorph().setTextString(printObject(error))\t\n\t\treturn pane\n\t},\n\tshowErrorDiaglogInWorkspace: function(source, expressionBeginOffset, expressionEndOffset, pane) {\n\t\t// PRIVATE HELPER\n\t\tconsole.log(\"begin \" + expressionBeginOffset + \" end \" + expressionEndOffset)\n\t\tvar start = source.lastIndexOf(\"\\n\\n\", expressionBeginOffset)\n\t\tif (start == -1) start = 0;\n\t\tvar startOffset = expressionBeginOffset - start;\n\t\tvar stop = source.indexOf(\"\\n\", expressionEndOffset + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\n\t\tif (stop == -1) stop = source.length;\n\n\t\tconsole.log(\"source: \" + source + \"| \" + source.length+\" expressionEndOffset: \" + expressionEndOffset)\n\t\tvar excerpt = source.slice(start, stop)\n\t\tpane.innerMorph().setTextString(excerpt)\n\n\t\tpane.innerMorph().emphasizeFromTo({color: Color.red}, \n\t\t\tstartOffset, startOffset + expressionEndOffset - expressionBeginOffset);\n\t\tpane.innerMorph().replaceSelectionWith\n\t\tconsole.log(\"found excerpt: \" + excerpt + \" start: \" + start + \" stop:\" + stop)\n\t},\n},\n'new content', {\n \n\taddFramedMorph: function(morph, title, optLoc, optSuppressControls) {\n\t\tvar displ = pt(5, 5);\n\t\treturn this.addMorphAt(\n\t\t\tnew WindowMorph(morph, title, optSuppressControls), \n\t\t\toptLoc || this.positionForNewMorph(morph).subPt(displ));\n\t},\n\n\taddTextWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (Object.isString(spec.valueOf())) spec = {content: spec}; // convenience\n\t\tvar extent = spec.extent || pt(500, 200);\n\t\tvar pane = this.internalAddWindow(\n\t\t\t\tnewTextPane(extent.extentAsRectangle(), spec.content || \"\"),\n\t\t\t\tspec.title, spec.position);\n\t\tif (spec.acceptInput !== undefined) pane.innerMorph().acceptInput = spec.acceptInput;\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\taddTextListWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (spec instanceof Array) spec = {content: spec }; // convenience\n\t\tvar content = spec.content;\n\t\tif (!content) content = \"\";\n\t\tif (!(content instanceof Array)) content = [content];\n\t\tvar extent = spec.extent || pt(500, Math.min(300, content.length * TextMorph.prototype.fontSize * 1.5));\n\t\tvar rec = extent.extentAsRectangle();\n\t\tvar pane = this.internalAddWindow(newTextListPane(rec, content), spec.title, spec.position);\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\tinternalAddWindow: function(pane, titleSpec, posSpec) {\n\t\tvar pos = (posSpec instanceof Point) ? posSpec : undefined;\n\t\tpane.setBorderWidth(2); pane.setBorderColor(Color.black);\n\t\tvar win = this.addFramedMorph(pane, String(titleSpec || \"\"), pos || this.firstHand().position().subPt(pt(5, 5)));\n\t\tif (posSpec == \"center\") {\n\t\t\twin.align(win.bounds().center(), this.viewport().center());\n\t\t}\n\t\treturn pane;\n\t},\n\n\n\taddMorphFrontOrBack: function($super, m, front) {\n\t\tvar oldTop = this.topWindow();\n\t\tvar result = $super(m, front);\n\t\tif (!front || !(m instanceof WindowMorph)) return result;\n\t\t// if adding a new window on top, then make it active\n\t\tif (oldTop) oldTop.titleBar.highlight(false);\n\t\tm.takeHighlight();\n\t\treturn result;\n\t},\n\n\ttopWindow: function() {\n\t\tfor (var i= this.submorphs.length - 1; i >= 0; i--) {\n\t\t\tvar sub = this.submorphs[i];\n\t\t\tif (sub instanceof WindowMorph) return sub;\n\t\t}\n\t\treturn null;\n\t},\n\n\tpositionForNewMorph: function(newMorph, relatedMorph) {\n\t\t// this should be much smarter than the following:\n\t\tif (relatedMorph)\n\t\t\treturn relatedMorph.bounds().topLeft().addPt(pt(5, 0));\n\t\tvar pos = this.firstHand().getPosition();\n\t\tif (!newMorph) return pos;\n\t\tvar viewRect = this.windowBounds();\n\t\tvar newMorphBounds = pos.extent(newMorph.getExtent());\n\t\tif (viewRect.containsRect(newMorphBounds)) return pos;\n\t\treturn viewRect.center().subPt(newMorphBounds.extent().scaleBy(0.5));\n\t},\n\n\treactiveAddMorph: function(morph, relatedMorph) { \t// add morph in response to a user action, make it prominent\n\t\treturn this.addMorphAt(morph, this.positionForNewMorph(morph, relatedMorph));\n\t},\n \n resizeByUser: function() {\n var world = this;\n var cb = function(newSizePtLiteral) {\n \t try {\n \t var newPoint = eval(newSizePtLiteral);\n \t basicResize(world, world.canvas(), newPoint.x, newPoint.y);\n } catch(e) {\n \t world.alert('Wrong input ' + newSizePtLiteral);\n \t\t }\n \t};\n \tworld.prompt('Enter extent', cb, world.bounds().bottomRight().toString());\n },\n\n\taddProgressBar: function(optPt) {\n\t\tvar center = optPt || this.windowBounds().center()\n\t\tvar progressBar = new ProgressBarMorph(new Rectangle(0,0, 450, 30))\n\t\tthis.addMorph(progressBar);\n\t\tprogressBar.align(progressBar.bounds().center(), center);\n\t\tprogressBar.ignoreEvents();\n\t\treturn progressBar\n\t},\n}, \n'Requirements', {\n\t// this.world().showAddWorldRequirementsMenu(pt(100,100))\n\tshowAddWorldRequirementsMenu: function(pos) {\n\t\t\tvar ignoreModules = \"lively.Widgets lively.WikiWidget lively.Data lively.Base lively.defaultconfig lively.CanvasExpt lively.obsolete lively.Helper lively.miniprototype lively.demofx lively.Text lively.EmuDom lively.Core lively.bindings lively.rhino-compat lively.Tools lively.localconfig lively.Main lively.Network lively.scene lively.simpleMain lively.ChangeSet lively.ide\".split(\" \")\n\n\t\t\tvar items = ['apps', 'lively', 'Tests', 'draft']\n\t\t\t\t.select(function(ea){\n\t\t\t\t\treturn new WebResource(new URL(Config.codeBase).withFilename(ea)).exists()})\n\t\t\t\t.collect(function(eaDir) {\n\t\t\treturn [eaDir, ChangeSet.current()\n\t\t\t\t.moduleNamesInNamespace(eaDir)\n\t\t\t\t.sort()\n\t\t\t\t.reject(function(ea) { return ignoreModules.include(ea) })\n\t\t\t\t.collect(function(ea){ \n\t\t\t\t\treturn [ea, function(){\n\t\t\t\t\t\tmodule(ea).load();\n\t\t\t\t\t\tChangeSet.current().addWorldRequirement(ea);\n\t\t\t\t\t\tthis.alert(\"load \" + ea + \" module\")}\n\t\t\t\t]}\n\t\t\t)]\n\t\t});\n\n\t\tvar menu = new MenuMorph(items, this.world());\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"require module for this page\");\n\n\t},\n\t// this.world().showRemoveWorldRequirementsMenu(pt(100,100))\n\tshowRemoveWorldRequirementsMenu: function(pos) {\n\t\tvar pageModules = ChangeSet.current().getWorldRequirementsList().evaluate() \n\t\tvar items = pageModules\n\t\t\t.sort()\n\t\t\t.collect(function(ea){ \n\t\t\treturn [ea, function(){\n\t\t\t\tChangeSet.current().removeWorldRequirement(ea);\n\t\t\t\tthis.alert(\"remove \" + ea + \" module requirement\")}]\n\t\t})\n\t\tvar menu = new MenuMorph(items, this.world())\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"remove module requirement for this page\");\n\t}\n},\n'Feedback and Saving', {\n\n\tpromptAndSaveWorld: function(asJson) {\n\t\tthis.prompt(\"world file (.xhtml)\", function(filename) {\n\t\t\tif (!filename.endsWith('.xhtml')) filename += '.xhtml'\n\t\t\tvar start = new Date().getTime();\t\n\t\t\tif (asJson) this.saveWorldWithJSON(filename);\n\t\t\telse this.exportLinkedFile(filename);\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tthis.setStatusMessage(\"world save as \" + filename + \" in \" + time + \"ms\", Color.green, 3)\t\n\t\t}.bind(this)); \n\t},\n\n\tsaveWorldWithJSON: function(optURLOrPath) {\n\t\tvar world = this,\n\t\t\turl = optURLOrPath || URL.source,\n\t\t\tstart = new Date().getTime(),\n\t\t\tonFinished = function() {\n\t\t\t\tvar time = new Date().getTime() - start;\n\t\t\t\tworld.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + time + \"ms serialization)\", Color.green, 3)\n\t\t\t};\n\t\t\t\n\t\t\t\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\trequire(\"lively.SmartRefSerialization\").toRun(function() {\n\t\t\tif (world._statusMessageContainer) world._statusMessageContainer.remove();\n\t\t\tvar doc = ObjectGraphLinearizer.serializeWorld(world);\n\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t});\n\n\t\t\n\t\treturn url;\n\t},\n\t\n\tsaveWorld: function(optURLOrPath) {\n\t\tvar url = optURLOrPath || URL.source;\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\tvar start = new Date().getTime();\n\t\tvar self = this;\n\t\tvar serializeTime;\n\t\tvar onFinished = function() {\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tself.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + serializeTime + \"ms serialization)\", Color.green, 3)\n\t\t}\n\t\tvar statusMessage = WorldMorph.current().setStatusMessage(\"serializing....\");\n\t\t(function() {\n\t\t\tvar oldHand = this.firstHand();\n\t\t\tvar oldKeyboardFocus = oldHand.keyboardFocus;\n\t\t\tthis.removeHand(oldHand);\n\t\t\tvar doc;\n\t\t\tvar world = this;\n\t\t\ttry {\n\t\t\t\tdoc = Exporter.shrinkWrapMorph(this.world());\n\t\t\t\n\t\t\t} catch(e) {\n\t\t\t\tthis.setStatusMessage(\"Save failed due to:\\n\" + e, Color.red, 10, function() {\n\t\t\t\t\tworld.showErrorDialog(e)\n\t\t\t\t})\n\t\t\t} finally {\n\t\t\t\tthis.addHand(oldHand);\n\t\t\t\tconsole.log(\"setting back keyboard focus to\" + oldKeyboardFocus)\n\t\t\t\tif (oldKeyboardFocus)\n\t\t\t\t\toldKeyboardFocus.requestKeyboardFocus(oldHand);\n\t\t\t}\n\t\t\tnew DocLinkConverter(URL.codeBase, url.getDirectory()).convert(doc);\t\t\t\n\t\t\tstatusMessage.remove();\n\t\t\t(function removeJSONIfPresent() {\n\t\t\t\tvar jsonEl = doc.getElementById('LivelyJSONWorld');\n\t\t\t\tif (jsonEl) jsonEl.parentNode.removeChild(jsonEl);\n\t\t\t})()\n\t\t\tserializeTime = new Date().getTime() - start;\n\t\t\t(function() {\n\t\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t\t}).bind(this).delay(0);\n\t\t}).bind(this).delay(0);\n\t\treturn url;\n\t},\n\n\twindowBounds: function () {\n\t\tvar canvas = this.canvas();\n\t\tvar scale = 1/this.world().getScale();\n\t\tvar topLeft = pt(Global.pageXOffset - canvas.offsetLeft, Global.pageYOffset - canvas.offsetTop);\n\t\tvar width = Math.min(\n\t\t\tGlobal.document.documentElement.clientWidth * scale,\n\t\t\tWorldMorph.current().getExtent().x);\n\t\tvar height = Math.min(\n\t\t\tGlobal.document.documentElement.clientHeight * scale,\n\t\t\tWorldMorph.current().getExtent().y)\n\t\treturn topLeft.scaleBy(scale).extent(pt(width, height));\n\t},\n\t\n\tvisibleBounds: function() {\n\t\tvar windowBounds = this.windowBounds();\n\t\tvar worldBounds = this.shape.bounds(); // use shape so no stick-outs are included\n\t\tvar upperLeft = pt(Math.max(windowBounds.x, worldBounds.x), Math.max(windowBounds.y, worldBounds.y));\n\t\tvar lowerRight = pt(Math.min(windowBounds.width, worldBounds.width), Math.min(windowBounds.height, worldBounds.height));\n\t\treturn upperLeft.extent(lowerRight);\n\t},\n\n\tensureStatusMessageContainer: function() {\n\t\tif (!this._statusMessageContainer || ! this._statusMessageContainer.owner) {\n\t\t\tthis._statusMessageContainer = new StatusMessageContainer();\n\t\t\tthis._statusMessageContainer.setName(\"statusMorphContainer\");\n\t\t\tthis.addMorph(this._statusMessageContainer);\n\t\t\tthis._statusMessageContainer.startUpdate();\n\t\t};\n\t\treturn this._statusMessageContainer\n\t},\n\n\tsetStatusMessage: function(msg, color, delay, callback, optStyle, messageKind) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\treturn container.addStatusMessage(msg, color, delay, callback, optStyle, messageKind);\n\t},\t\n\n\tshowStatusProgress: function(msg) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\tvar progressBar = container.addProgressBar(msg);\t\t\n\t\treturn progressBar\n\t},\n\t\n\taskForWorldTitle: function() {\n\t\tvar self = this;\n\t\tthis.prompt('new world title', function(input) {\n\t\t\tdocument.title = input;\n\t\t}, document.title);\n\t},\n},\n/**\n *\tWorldMorph Menu \n *\n * Question: Should features register itself in the menu, \n * or should the menu give an overview of available features \n * and load the modules on demand?\n */\n'Menus ', {\n\tisProtectedWorld: function() {\n\t\treturn Global.URL && (URL.source.filename() == \"index.xhtml\")\n\t},\n\t\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.keepOnlyItemsNamed([\"inspect\", \"edit style\"]);\n\t\tmenu.addItems([['reset scale', function(evt) { var w = evt.hand.world(); w.setScale(1); w.resizeCanvasToFitWorld() }]]);\n\t\tmenu.addLine();\n\t\tmenu.addItems(this.subMenuItems(evt));\n\t\tmenu.addLine();\n\t\tmenu.addItems([\n\t\t\t[\"New subworld (LinkMorph)\", function(evt) { evt.hand.world().addMorph(new LinkMorph(null, evt.point()));}], \n\t\t\t[\"External link\", function(evt) { evt.hand.world().addMorph(new ExternalLinkMorph(URL.source, evt.point()));}],\n\t\t\t[\"authenticate for write access\", function() {\n\t\t\t\tnew NetRequest().put(URL.source.withFilename('auth'));\n\t\t\t\t// sometimes the wikiBtn seems to break after an authenticate\n\t\t\t\tif (Config.showWikiNavigator) WikiNavigator.enableWikiNavigator(true); }],\n\t\t\t[\"publish world as ... (XML)\", function() { this.promptAndSaveWorld() }],\n\t\t\t[\"publish world as ... (JSON)\", function() { this.promptAndSaveWorld(true/*asJson*/) }],\n\t\t]);\n\t\tif (! this.isProtectedWorld()) { // Global. avoids an error if Network.js not loaded\n\t\t\t// save but only if it's not the startup world\n\t\t\tmenu.addItem([\"save world (XML)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorld();\n\t\t\t}]);\n\t\t\tmenu.addItem([\"save world (JSON)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t}]);\n\t\t}\n\t\tif(Config.debugExtras) {\n\t\t\tmenu.addItem([\"arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }]);\n\t\t\tmenu.addItem([\"arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }]);\n\t\t}\n\t\tmenu.addItem([\"resize world\", this.resizeByUser]);\n\t\tmenu.addItem([\"restart system\", this.restart]);\n\t\treturn menu;\n\t},\n\t\n\tsimpleMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"Line\", function(evt) { \n\t\t\t\tvar p = evt.point(); \n\t\t\t\tvar m = Morph.makeLine([p, p.addXY(60, 30)], 2, Color.black);\n\t\t\t\tworld.addMorph(m);\n\t\t\t\tm.setPosition(evt.point())}],\n\t\t\t[\"Connector\", function(evt) { \n\t\t\t\trequire('lively.Connector').toRun(function() {\n\t\t\t\t\tvar m = Morph.makeConnector(evt.point())\n\t\t\t\t\tworld.addMorph(m);\n\t\t\t\t\tm.setGlobalEndPos(evt.point().addXY(60, 30))\n\t\t\t\t})}],\n\t\t\t[\"Rectangle\", function(evt) { world.addMorph(Morph.makeRectangle(evt.point(), pt(60, 30)));}],\n\t\t\t[\"Ellipse\", function(evt) { world.addMorph(Morph.makeCircle(evt.point(), 25)); }],\n\t\t\t[\"TextMorph\", function(evt) { \n\t\t\t\tvar text = new TextMorph(evt.point().extent(pt(120, 10)), \"This is a TextMorph\");\n\t\t\t\tworld.addMorph(text);}],\n\t\t\t[\"Star\",function(evt) { world.addMorph(Morph.makeStar(evt.point()))}],\n\t\t\t[\"Heart\", function(evt) { world.addMorph(Morph.makeHeart(evt.point()))}],\n\t\t\t[\"Marker\", function(evt) {world.addMorph(new MarkerMorph(evt.point().extent(pt(100, 100))))}]\n\t\t];\n\t},\n\n\tcomplexMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"SliderMorph\", function(evt) { world.addMorph(Widget.makeSlider(evt.point().extent(pt(120, 40))))}],\n\t\t\t[\"ButtonMorph\", function(evt) { world.addMorph(new ScriptableButtonMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ProgressBarMorph\", function(evt) { world.addMorph(new ProgressBarMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ScaleMorph\", function(evt) { world.addMorph(new ScaleMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"Clock\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = world.addMorph(new ClockMorph(evt.point(), 50));\n\t\t\t\t\tm.startSteppingScripts();\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.Examples')\n\t\t\t\t})}],\n\t\t\t[\"FabrikClock\", function(evt) {\n\t\t\t\trequire('lively.Fabrik').toRun(function() {\n\t\t\t\t\tvar clock = new FabrikClockWidget();\n\t\t\t\t\tvar morph = clock.buildView();\n\t\t\t\t\tworld.addMorph(morph);\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t\tmorph.startSteppingScripts(); }); }],\n\t\t\t[\"Text Window\", function(evt) { \n\t\t\t\tWorldMorph.current().addTextWindow(\"Editable text\"); }],\n\t\t\t[\"Piano Keyboard\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = new PianoKeyboard(evt.point());\n\t\t\t\t\tm.scaleBy(1.5);\t m.rotateBy(-Math.PI*2/12);\n\t\t\t\t\tworld.addMorph(m); }); }],\n\t\t\t[\"Kaleidoscope\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar kal = WorldMorph.current().addMorph(new SymmetryMorph(300, 7)); \n\t\t\t\t\tkal.startUp(); }) } ],\n\t\t\t[\"Image Morph\", function(evt) {\n\t\t\t\tworld.prompt('Enter image URL', function(urlString) {\n\t\t\t\t\tvar img = new ImageMorph(evt.point().extent(pt(100,100)), urlString);\n\t\t\t\t\timg.openInWorld() }) }],\n\t\t\t[\"Video Morph\", function(evt) {\n\t\t\t\tVideoMorph.openAndInteractivelyEmbed(evt.point()) }],\n\t\t\t[\"Layout Demo\", function(evt) {\n\t\t\t\trequire('lively.GridLayout').toRun(function() {\n\t\t\t\t\tGridLayoutMorph.demo(evt.hand.world(), evt.point()); }); }],\n\t\t\t[\"Effects demo (FF only)\", function(evt) { require('lively.demofx').toRun(Functions.Empty); }],\n\t\t\t[\"PresentationPage\", function(evt) { \n\t\t\t\trequire('lively.Presentation').toRun(function(){\n\t\t\t\t\tworld.addMorph(new lively.Presentation.PageMorph(new Rectangle(0,0,800,600)))\n\t\t\t\t}); \n\t\t\t}],\n\t\t\t// [\"Duplicator Panel\", function(evt) { \n\t\t\t// \trequire('lively.Graffle').toRun(function(){\n\t\t\t// \t\tworld.addMorph(Morph.makeDefaultDuplicatorPanel(evt.point()))\n\t\t\t// \t}); \n\t\t\t// }], \n\t\t\t[\"FileUpload Morph\", function(evt) { \n\t\t\t\trequire('lively.FileUploadWidget').toRun(function(){\n\t\t\t\t\tvar morph = new FileUploadMorph();\n\t\t\t\t\tworld.addMorph(morph)\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t}); \n\t\t\t}],\n\t\t];\n\t},\n\t\n\ttoolSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\tvar toolMenuItems = [\n//\t\t\t[\"Class Browser\", function(evt) { new SimpleBrowser().openIn(world, evt.point()); }],\n\t\t\t[\"System code browser (b)\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.SystemBrowser().openIn(world)})}],\n\t\t\t[\"Local code Browser\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.LocalCodeBrowser().openIn(world)})}],\n\t\t\t[\"Wiki code Browser\", function(evt) { require('lively.ide', 'lively.LKWiki').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tvar repo = new URL(input);\n\t\t\t\t\tnew ide.WikiCodeBrowser(repo).open()\n\t\t\t\t};\n\t\t\t\tworld.prompt('Wiki base URL?', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\n\t\t\t[\"Switch System browser directory...\", function(evt) { require('lively.ide').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tif (!input.endsWith('/')) input += '/';\n\t\t\t\t\tide.startSourceControl().switchCodeBase(new URL(input));\n\t\t\t\t};\n\t\t\t\tworld.prompt('Enter System browser directory (URL)', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\t\t\t\t\n\t\t\t[\"File Browser\", function(evt) { new FileBrowser().openIn(world) }],\n\t\t\t[\"Object Hierarchy Browser\", function(evt) { new ObjectBrowser().openIn(world); }],\t\n\t\t\t[\"Enable profiling\", function() {\n\t\t\t\t\tConfig.debugExtras = true;\n\t\t\t\t\tlively.lang.Execution.installStackTracers(); }],\n\t\t\t[\"Console (l)\", function(evt) {world.addFramedMorph(new ConsoleWidget(50).buildView(pt(800, 100)), \"Console\"); }],\n\t\t\t[\"TestRunner\", function(evt) { require('lively.TestFramework').toRun(function() { new TestRunner().openIn(world) }) }],\n\t\t\t[\"OMetaWorkspace\", function(evt) { require('lively.Ometa').toRun(function() { new OmetaWorkspace().open() }) }],\n\t\t\t[\"Call Stack Viewer\", function(evt) { \n\t\t\tif (Config.debugExtras) lively.lang.Execution.showStack(\"use viewer\");\n\t\t\telse new StackViewer(this).openIn(world); }],\t \n\t\t\t[\"FrameRateMorph\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new FrameRateMorph(evt.point().extent(pt(160, 10)), \"FrameRateMorph\"));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"EllipseMaker\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new EllipseMakerMorph(evt.point()));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"XHTML Browser\", function(evt) { \n\t\t\t\tvar xeno = new XenoBrowserWidget('sample.xhtml');\n\t\t\t\txeno.openIn(world); }],\n\t\t\t[\"Viewer for latest file changes\", function(evt) {\n\t\t\tvar cb = function(input) {\n\t\t\t\trequire('lively.LKWiki').toRun(function(u,m) {\n\t\t\t\t\tvar url = new URL(input);\n\t\t\t\t\tconsole.log(url);\n\t\t\t\t\tnew LatestWikiChangesList(url).openIn(world);\n\t\t\t}); }\n\t\t\t\tworld.prompt('Url to observe', cb, URL.source.getDirectory().toString()); \n\t\t\t}],\n\t\t\t[\"Version Viewer\", function(evt) {\n\t\t\t\trequire('lively.ide').toRun(function() {\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.ide');\n\t\t\t\t\tnew lively.ide.FileVersionViewer().openForURL(URL.source);\n\t\t\t\t});\n\t\t\t}],\n\t\t\t[\"MiniMap\", function(evt) {\n\t\t\t\tvar map = new MiniMapMorph();\n\t\t\t\tmap.name = 'MiniMap';\n\t\t\t\tmap.openInWorld();\n\t\t\t\tmap.setTargetWorld(world);\n\t\t\t\tmap.startSteppingScripts()\n\t\t\t}],\t\t\t\n\t\t];\n\n\t\tif (Config.debugExtras) { var index = -1;\n\t\t\tfor (var i=0; i= 0) \n\t\t\t\t\ttoolMenuItems.splice(index, 1,\n\t\t\t\t\t\t[\"-----\"],\n\t\t\t\t\t\t[\"Profiling help\", function(evt) { this.openURLasText( URL.common.project.withRelativePath(\n\t\t\t\t\t\t\t\"/trac/wiki/ProfilingHelp?format=txt\"), \"Profiling help\"); }],\n\t\t\t\t\t\t[\"Arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }],\n\t\t\t\t\t\t[\"Arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }],\n\t\t\t\t\t\t[\"Disable profiling\", function() {\n\t\t\t\t\t\t\tConfig.debugExtras = false;\n\t\t\t\t\t\t\tlively.lang.Execution.installStackTracers(\"uninstall\");\t }],\n\t\t\t\t\t\t[\"-----\"]);\n\t\t};\n\t\treturn toolMenuItems\n\t},\n\n\tscriptingSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"TileScriptingBox\", function(evt) { require('lively.TileScripting').toRun(function() {new lively.TileScripting.TileBox().openIn(world); }) }],\n\t\t\t[\"Fabrik Component Box\", function(evt) { require('lively.Fabrik').toRun(function() { Fabrik.openComponentBox(world); }) }],\n\t\t\t[\"Webcards with name\", function(evt) { require('apps.Webcards').toRun(function(){\n\t\t\t\t\tvar sds = new SimpleDataStore(pt(600, 300));\n\t\t\t\t\tworld.prompt(\"Name of stack:\", sds.openStackWithName.bind(sds));\n\t\t\t\t\tworld.addFramedMorph(sds, 'WebCards', pt(333, 222));\n\t\t\t\t}); \n\t\t\t}],\n \n\t\t];\n\t},\n\n\tpreferencesSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[(Config.usePieMenus ? \"don't \" : \"\") + \"use pie menus\",\n\t\t\t\t\t function() { Config.usePieMenus = !Config.usePieMenus; }],\n\t\t\t[\"choose display theme...\", this.chooseDisplayTheme],\n\t\t\t[(Morph.prototype.suppressBalloonHelp ? \"enable balloon help\" : \"disable balloon help\"),\n\t\t\t\t\t this.toggleBalloonHelp],\n\t\t\t[(HandMorph.prototype.useShadowMorphs ? \"don't \" : \"\") + \"show drop shadows\",\n\t\t\t function () { HandMorph.prototype.useShadowMorphs = !HandMorph.prototype.useShadowMorphs}],\n\t\t\t[(Config.showGrabHalo ? \"don't \" : \"\") + \"show bounds halos\",\n\t\t\t function () { Config.showGrabHalo = !Config.showGrabHalo}],\n\t\t\t[HandMorph.prototype.applyDropShadowFilter ? \"don't use filter shadows\" : \"use filter shadows (if supported)\",\n\t\t\t function () { HandMorph.prototype.applyDropShadowFilter = !HandMorph.prototype.applyDropShadowFilter}],\n\t\t\t[(Config.useDebugBackground ? \"use normal background\" : \"use debug background\"),\n\t\t\t\t\t this.toggleDebugBackground],\n\t\t\t[(Config.isSnappingToGrid ? \"[X]\": \"[]\") + \" snap to grid\",\n\t\t\t\t\t\t function(){Config.isSnappingToGrid = !Config.isSnappingToGrid}],\n\t\t\t[\"change title\", this, 'askForWorldTitle'],\n\t\t\t[\"add module requirements...\",\n\t\t\t\t function(){this.showAddWorldRequirementsMenu(evt.mousePoint)}],\n\t\t\t[\"remove module requirements...\",\n\t\t\t\t function(){this.showRemoveWorldRequirementsMenu(evt.mousePoint)}]\n\t\t];\n\t},\n\t\n\n\thelpSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn\t[\n\t\t\t[\"Connect documentation\", function(evt) {\n\t\t\t\trequire('lively.bindings').toRun(function() {\n\t\t\t\t\tworld.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/ConnectHelp?format=txt\"), \"Connect documentation\");\n\t\t\t\t})\n\t\t\t}],\n\t\t\t[\"Command key help\", function(evt) {\n\t\t\t\tthis.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/CommandKeyHelp?format=txt\"), \"Command key help\"); }]\n\t\t];\n\t},\n\t\n\tsubMenuItems: function(evt) {\n\t\t//console.log(\"mouse point == %s\", evt.mousePoint);\n\t\treturn [\n\t\t\t['Simple morphs', this.simpleMorphsSubMenuItems(evt)],\n\t\t\t['Complex morphs', this.complexMorphsSubMenuItems(evt)],\n\t\t\t['Tools', this.toolSubMenuItems(evt)],\n\t\t\t['Scripting', this.scriptingSubMenuItems(evt)],\n\t\t\t['Preferences', this.preferencesSubMenuItems(evt)],\n\t\t\t['Help', this.helpSubMenuItems(evt)]];\n\t},\n\t\n\tshowPieMenu: function(evt) {\n\t\tvar beTouchFn;\n\t\tif (UserAgent.isTouch) {\n\t\t\tif (Config.touchBeMouse) {\n\t\t\t\t// If we were in mouse mode; switch back to touch\n\t\t\t\tbeTouchFn = function(e) {\n\t\t\t\t\t//ClipboardHack.ensurePasteBuffer().blur();\n\t\t\t\t\tConfig.touchBeMouse = false; // currently not used\n\t\t\t\t\t// evt.hand.lookTouchy()\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Otherwise, switch to mouse mode now (we just clicked in world)\n\t\t\t\t// ClipboardHack.ensurePasteBuffer().focus();\n\t\t\t\tConfig.touchBeMouse = true; // currently not used\n\t\t\t\t// evt.hand.lookNormal()\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tvar menu, targetMorph = this;\n\t\tvar items = [\n\t\t\t['make selection ([NE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SW])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t((UserAgent.isTouch) ? ['use touch ((O))', beTouchFn]\n\t\t\t\t: ['make selection ([NW])', function(evt) { targetMorph.makeSelection(evt); }])\n\t\t\t];\n\t\tmenu = new PieMenuMorph(items, this, 0, beTouchFn);\n\t\tmenu.open(evt);\n\t}\n \n},\n'Copy And Paste (Private)',{\n\t/* Actions */\n\t\n\t\n\t\n\tpastePosition: function() {\n\t\tvar pos = this.hands.first().lastMouseDownPoint;\n\t\tif (!pos || pos.eqPt(pt(0,0)))\n\t\t\tpos = this.hands.first().getPosition();\n\t\treturn pos\n\t},\n\t\n\t\n\t\n\t// similarities to Fabrik >> pasteComponentFromXMLStringIntoFabrik\n\t// TODO refactor\n\tpasteFromSource: function(source){\n\t\tvar copier = new ClipboardCopier();\n\t\tcopier.pastePosition = this.pastePosition();\n\t\tcopier.pasteMorphsFromSource(source, this.pasteDestinationMorph());\n\t},\n\t\n\tcopySelectionAsXMLString: function() {\n\t\tif (!this.currentSelection) {\n\t\t\tconsole.log(\"WorldMorph: don't know what to copy\")\n\t\t\treturn\n\t\t}\n\t\tvar selectedMorphs = this.currentSelection.selectedMorphs\n\t\tif (selectedMorphs.length == 0) {\n\t\t\tconsole.log(\"WorldMorph: selection is empty\")\n\t\t\treturn \n\t\t};\n\t\treturn new ClipboardCopier().copyMorphsAsXMLString(selectedMorphs)\n\t},\n\n\tpasteDestinationMorph: function() {\n\t\treturn this;\n\t},\n\t\n\t\n},\n'Keyboard Events',{\n\n\ttakesKeyboardFocus: Functions.True,\n\t\n\tonKeyDown: function(evt) {\n\t\t// console.log(\"WorldMorph onKeyDown \" + this + \" --- \" + evt + \" char: \" + evt.getKeyChar() )\n\t\tvar key = evt.getKeyChar().toLowerCase();\n\t\tif (evt.isCommandKey() && evt.isShiftDown()) {\n\t\t\tif (key == 'f') {\n\t\t\t\tvar world = this;\n\t\t\t\trequire('lively.ide').toRun(function(unused, ide) {\n\t\t\t\t\tworld.prompt(\"browse references in source\", function(whatToSearch) {\n\t\t\t\t\t\tide.startSourceControl().browseReferencesTo(whatToSearch);\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\tif (key == 'b') {\n\t\t\t\t// for safari where without shift is blocked\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tif (evt.isCommandKey() && !evt.isShiftDown()) {\n\t\t\tif (key == 'b') {\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'l') { // (L)ogger\n\t\t\t\tnew ConsoleWidget().open();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'k') { // Workspace\n\t\t\t\tthis.addTextWindow(\"Workspace\");\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 's') { // save\n\t\t\t\tif (!this.isProtectedWorld()) {\n\t\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t\t} else {\n\t\t\t\t\tthis.setStatusMessage(\"Warning: Did not save world, because it is protected!\", Color.red, 3)\n\t\t\t\t}\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\n\t\t\t}\n\t\t}\n\t\treturn ClipboardHack.tryClipboardAction(evt, this);\n\t},\n\t\n\tonKeyPress: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyPress \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false;\n\t},\n\n\tonKeyUp: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyUp \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false\n\t},\n},\n'Commands',{\n\n\tdoCopy: function() {\n\t\tvar source = this.copySelectionAsXMLString();\n\t\tTextMorph.clipboardString = source;\n\t},\n\t\n\tdoPaste: function() {\n\t\tif (TextMorph.clipboardString) {\n\t\t\t// console.log(\"paste morphs...\")\n\t\t\tthis.pasteFromSource(TextMorph.clipboardString);\n\t\t}\n\t},\n\t\n\tdoCut: function() {\n\t\tconsole.log(\"cut selection\")\n\t\tthis.doCopy();\n \t\tif (this.currentSelection) \n\t\t\tthis.currentSelection.remove();\n\t},\n},\n'local code', {\n\tgetChangeSet: function() {\n\t\treturn ChangeSet.fromWorld(this);\n\t},\n\tsetChangeSet: function(cs) {\n\t\tcs.addHookTo(cs.findOrCreateDefNodeOfWorld(this.rawNode));\n\t},\n\n\tgetCodeNode: function() {\n\t\tvar codeElement = Query.find('./svg:defs/*[local-name()=\"code\"]', this.rawNode);\n\t\treturn codeElement;\n\t},\n\treplaceCodeNode: function(newCodeNode) {\n\t\tthis.getDefsNode().replaceChild(this.getCodeNode(), newCodeNode);\n\t\treturn newCodeNode;\n\t},\n\n\n\n})\n\n\nObject.extend(WorldMorph, { \n worldCount: 0,\n \n currentWorld: null,\n \n current: function() {\n return WorldMorph.currentWorld;\n }\n});\n\n\n\n/**\n * @class HandMorph\n * Since there may be multiple users manipulating a Morphic world\n * simultaneously, we do not want to use the default system cursor. \n */ \n\nMorph.subclass(\"HandMorph\", \n'default properties', { \n documentation: \"Defines a visual representation for the user's cursor.\",\n applyDropShadowFilter: !!Config.useDropShadow,\n dropShadowFilter: \"url(#DropShadowFilter)\",\n useShadowMorphs: Config.useShadowMorphs,\n\n shadowOffset: pt(5,5),\n handleOnCapture: false,\n logDnD: Config.logDnD,\n grabHaloLabelStyle: {fontSize: Math.floor((Config.defaultFontSize || 12) *0.85), padding: Rectangle.inset(0)},\n\n},\n'Basic',{\n initialize: function($super, local) {\n $super(new lively.scene.Polygon([pt(0,0), pt(10, 8), pt(4,9), pt(8,16), pt(4,9), pt(0, 12)]));\n\t\tthis.applyStyle({fill: local ? Color.primary.blue : Color.primary.red, borderColor: Color.black, borderWidth: 1});\n\t\n this.isLocal = local;\n\n this.keyboardFocus = null;\n this.mouseFocus = null;\n\t\tthis.mouseFocusChanges_ = 0; // count mouse focus changes until reset\n this.mouseOverMorph = null;\n this.lastMouseEvent = null;\n this.lastMouseDownPoint = pt(0,0);\n this.lastMouseDownEvent = null;\n this.hasMovedSignificantly = false;\n this.grabInfo = null;\n \n this.mouseButtonPressed = false;\n\n this.keyboardFocus = null; \n\n this.priorPoint = null;\n this.owner = null;\n\t\tthis.boundMorph = null; // surrounds bounds\n\t\tthis.layoutChangedCount = 0; // to prevent recursion on layoutChanged\n return this;\n },\n\n\tid: function() {\n\t\tif (!this.rawNode) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.rawNode.getAttribute(\"id\");\n\t},\n\n world: function() {\n return this.owner;\n },\n},\n'Looks',{\n\n lookNormal: function(morph) {\n this.shape.setVertices([pt(0,0), pt(10, 8), pt(4,9), pt(8,16), pt(4,9), pt(0, 12)]);\n },\n\t\n\tlookTouchy: function(morph) {\n\t\t// Make the cursor look polygonal to indicate touch events go to pan/zoom\n\t\tvar n = 5, r = 10, theta = 2*Math.PI/n;\n\t\tvar verts = [0, 1, 2, 3, 4, 0].map(function(i) { return Point.polar(r, i*theta).addXY(20,0) });\n\t\tthis.shape.setVertices(verts);\n },\n\n\n lookLinky: function(morph) {\n this.shape.setVertices([pt(0,0), pt(18,10), pt(10,18), pt(0,0)]);\n },\n\n\tlookLikeAnUpDownArrow: function() {\n\t\t// /\\\n\t\t// /_ _\\\n\t\t// _||_\n\t\t// \\ /\n\t\t// \\/\n\t\tvar verts = [\n\t\t\tpt(8.0,0.0), pt(16.0,8.0), pt(12.0,8.0), pt(12.0,16.0), pt(16.0,16.0),\n\t\t\tpt(8.0,24.0), pt(0.0,16.0), pt(4.0,16.0), pt(4.0,8.0), pt(0.0,8.0)\n\t\t];\n\t\tthis.shape.setVertices(verts);\n\t},\n},\n'Event Registering',{\n\taddOrRemoveEvents: function(morphOrNode, eventNames, isRemove) {\n\t\tvar node = morphOrNode.rawNode || morphOrNode;\n\t\tvar selector = isRemove ? 'removeEventListener' : 'addEventListener';\n\t\teventNames.forEach(function(name) { \n node[selector](name, this, this.handleOnCapture);\n\t\t}, this);\n\t},\n\t\n registerForEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.basicInputEvents);\n },\n\n unregisterForEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.basicInputEvents, true);\n },\n \n registerForKeyboardEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.keyboardEvents);\n },\n\n unregisterForKeyboardEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.keyboardEvents, true);\n },\n\n},\n'Focus',{\n resetMouseFocusChanges: function() {\n\t\tvar result = this.mouseFocusChanges_;\n\t\tthis.mouseFocusChanges_ = 0;\n\t\treturn result;\n },\n\n setMouseFocus: function(morphOrNull) {\n //console.log('setMouseFocus: ' + morphOrNull);\n\t\tthis.mouseFocus = morphOrNull;\n\t\t// this.setFill(this.mouseFocus ? Color.primary.blue.lighter(2) : Color.primary.blue);\n\t\tthis.mouseFocusChanges_ ++;\n },\n \n setKeyboardFocus: function(morphOrNull) {\n if (this.keyboardFocus === morphOrNull) return;\n\n if (this.keyboardFocus != null) {\n // console.log('blur %s', this.keyboardFocus);\n this.keyboardFocus.onBlur(this);\n this.keyboardFocus.setHasKeyboardFocus(false);\n }\n \n this.keyboardFocus = morphOrNull; \n \n if (this.keyboardFocus) {\n this.keyboardFocus.onFocus(this);\n }\n },\n \n},\n'Event Handling',{\n\t// this is the DOM Event callback\n\thandleEvent: function HandMorph$handleEvent(rawEvt) {\n\t\tvar evt = new Event(rawEvt);\n\t\t// for mutliple worlds since keyboard events can only be registered for entire documentElement\n\t\tif (rawEvt.world && rawEvt.world != this.world())\n\t\t\treturn evt;\n\t\trawEvt.world = this.world();\n\t\tevt.setCanvas(this.canvas());\n\t\tevt.hand = this;\n\t\t//if(Config.showLivelyConsole) console.log(\"event type = \" + rawEvt.type + \", platform = \" + window.navigator.platform);\n\n\t\tlively.lang.Execution.resetDebuggingStack();\n\t\tswitch (evt.type) {\n\t\t\tcase \"MouseWheel\":\n\t\t\tcase \"MouseMove\":\n\t\t\tcase \"MouseDown\":\n\t\t\tcase \"MouseUp\":\n\t\t\t\tthis.handleMouseEvent(evt);\n\t\t\t\tbreak;\n\t\t\tcase \"KeyDown\":\n\t\t\tcase \"KeyPress\": \n\t\t\tcase \"KeyUp\":\n\t\t\t\tthis.handleKeyboardEvent(evt);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.log(\"unknown event type \" + evt.type);\n\t\t}\n\t\tevt.stopPropagation();\n\t\treturn evt; // for touch development FIXME remove\n\t}.logErrors('Event Handler'),\n\n armProfileFor: function(evtType) { \n\t\tthis.profileArmed = evtType; // either \"MouseDown\" or \"MouseUp\"\n },\n\n\tmakeANullMove: function() {\n\t\t// Process a null mouseMove event -- no change in x, y\n\t\t// Allows simulations to respond where, eg, a morph moves under the mouse\n\t\t// Note: Fabrik generates also Mouse events with newFakeMouseEvent; to be merged\n\t\tvar last = this.lastMouseEvent;\n\t\tif (!last) return;\n\t\tvar nullMove = new Event(last.rawEvent);\n\t\tnullMove.type = \"MouseMove\";\n\t\tnullMove.hand = this;\n\t\t// console.log(\"last = \" + Object.inspect(this.lastMouseEvent));\n\t\t// console.log(\"null = \" + Object.inspect(nullMove));\n\t\tthis.reallyHandleMouseEvent(nullMove);\n\t\tthis.lastMouseEvent = last; // Restore -- necess??\n\t},\n\n\thandleMouseEvent: function HandMorph$handleMouseEvent(evt) {\n\t\tif(!Config.debugExtras || !this.profileArmed || this.profileArmed != evt.type) {\n\t\t\t// Profile not armed or event doesnt match\n\t\t\treturn this.reallyHandleMouseEvent(evt);\n\t\t}\n\t\t// Run profile during handling of this event\n\t\tthis.profileArmed = null; // Only this once\n\t\tvar result;\n\t\tlively.lang.Execution.trace(function() { result = this.reallyHandleMouseEvent(evt) }.bind(this), this.profilingOptions );\n\t\treturn result;\n\t},\n\n\treallyHandleMouseEvent: function HandMorph$reallyHandleMouseEvent(evt) { \n\t\t// console.log(\"reallyHandleMouseEvent \" + evt + \" focus \" + this.mouseFocus);\n\t\t// var rawPosition = evt.mousePoint;\n\t\tvar world = this.owner;\n\t\tevt.mousePoint = evt.mousePoint.matrixTransform(world.getTransform().createInverse()); // for scaling\n\t\tevt.setButtonPressedAndPriorPoint(this.mouseButtonPressed, \n\t\t\t\t\t this.lastMouseEvent ? this.lastMouseEvent.mousePoint : null);\n\t\t//-------------\n\t\t// mouse move\n\t\t//-------------\n\t\tif (evt.type == \"MouseMove\" || evt.type == \"MouseWheel\") { // it is just a move\n\t\t\tthis.setPosition(evt.mousePoint);\n\t\t\t\n\t\t\tif(evt.isShiftDown())\n\t\t\t\tthis.alignToGrid();\n\t\t\t\n\t\t\tthis.updateGrabHalo();\n\t\t\t\n\t\t\tif (evt.mousePoint.dist(this.lastMouseDownPoint) > 10) { \n\t\t\t\tthis.hasMovedSignificantly = true;\n\t\t\t}\n\t\t\t\n\t\t\tif (this.mouseFocus) { // if mouseFocus is set, events go to that morph\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t} else if (world) {\n\t\t\t\tvar receiver = world.morphToReceiveEvent(evt);\n\t\t\t\t// console.log(\"found receiver: \" + receiver)\n\t\t\t\tif (this.checkMouseOverAndOut(receiver, evt)) {\t // mouseOverMorph has changed...\n\t\t\t\t\tif (!receiver || !receiver.canvas()) return false;\t// prevent errors after world-switch\n\t\t\t\t\t// Note if onMouseOver sets focus, it will get onMouseMove\n\t\t\t\t\tif (this.mouseFocus) this.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t\t\telse if (!evt.hand.hasSubmorphs()) world.captureMouseEvent(evt, false); \n\t\t\t\t} else if (receiver) receiver.captureMouseEvent(evt, false);\n\t\t\t}\n\t\t\tthis.lastMouseEvent = evt;\n\t\t\treturn true;\n\t\t} \n\n\t\n\t\t//-------------------\n\t\t// mouse up or down\n\t\t//-------------------\n\t\tif (!evt.mousePoint.eqPt(this.position())) { // Only happens in some OSes\n\t\t\t// and when window wake-up click hits a morph\n\t\t\tthis.moveBy(evt.mousePoint.subPt(this.position())); \n\t\t}\n\n\t\tthis.mouseButtonPressed = (evt.type == \"MouseDown\"); \n\t\tthis.setBorderWidth(this.mouseButtonPressed ? 2 : 1);\n\t\tevt.setButtonPressedAndPriorPoint(this.mouseButtonPressed, this.lastMouseEvent ? this.lastMouseEvent.mousePoint : null);\n\t\n\t\tif (this.mouseFocus != null) {\n\t\t\tif (this.mouseButtonPressed) {\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t\tthis.lastMouseDownPoint = evt.mousePoint; \n\t\t\t} else {\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.hasSubmorphs() && (evt.type == \"MouseDown\" || this.hasMovedSignificantly)) {\n\t\t\t\t// If laden, then drop on mouse up or down\n\t\t\t\tvar m = this.topSubmorph();\n\t\t\t\tvar receiver = world.morphToGrabOrReceiveDroppingMorph(evt, m);\n\t\t\t\t// For now, failed drops go to world; later maybe put them back?\n\t\t\t\tthis.dropMorphsOn(receiver || world);\n\t\t\t} else {\n\t\t\t\t// console.log(\"hand dispatching event %s to owner %s\", evt, this.owner);\n\t\t\t\t// This will tell the world to send the event to the right morph\n\t\t\t\t// We do not dispatch mouseup the same way -- only if focus gets set on mousedown\n\t\t\t\tif (evt.type == \"MouseDown\") world.captureMouseEvent(evt, false);\n\t\t\t}\n\t\t\tif (evt.type == \"MouseDown\") {\n\t\t\t\tthis.lastMouseDownPoint = evt.mousePoint;\n\t\t\t\tthis.lastMouseDownEvent = evt;\n\t\t\t\tthis.hasMovedSignificantly = false; \n\t\t\t}\n\t\t}\n\t\tthis.lastMouseEvent = evt; \n\t\treturn true;\n\t},\n},\n'Misc',{\t\n checkMouseUpIsInClickTimeSpan: function(mouseUpEvent) {\n\t\t// console.log(\"checkMouseUpIsInClickTimeSpan \" + this.lastMouseDownEvent.timeStamp )\n\t\tif (!this.lastMouseDownEvent || !mouseUpEvent)\n\t\t\treturn false;\n\t\treturn (mouseUpEvent.timeStamp - this.lastMouseDownEvent.timeStamp) < (400)\n\t},\n\n checkMouseOverAndOut: function(newMouseOverMorph, evt) {\n\t\tif (newMouseOverMorph === this.mouseOverMorph) return false;\n\n\t\t// if over a new morph, send onMouseOut, onMouseOver\n\t\tif (this.mouseOverMorph) this.mouseOverMorph.onMouseOut(evt);\n\t\tthis.mouseOverMorph = newMouseOverMorph;\n\t\t// console.log('msOverMorph set to: ' + Object.inspect(this.mouseOverMorph));\n\t\tif (this.mouseOverMorph) this.mouseOverMorph.onMouseOver(evt);\n\t\treturn true;\n\t},\n\n layoutChanged: function($super) {\n\t\tthis.layoutChangedCount ++;\n\t\ttry {\n\t\t\t$super();\n\t\t\tif (this.layoutChangedCount == 1) {\n\t\t\t\tConfig.showGrabHalo && this.updateGrabHalo();\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.layoutChangedCount --;\n\t\t}\n },\n},\n'Keyboard Events',{\n\tisKeyDown: function(character) {\n\t\tif (!this.keysDown)\n\t\t\treturn false;\n\t\treturn this.keysDown[character]\n\t},\n\t\n\tforgetKeyDown: function(evt) {\n\t\tif (!this.keysDown)\n\t\t\treturn;\n\t\tthis.keysDown[evt.getKeyChar()] = false;\n\t\t// hack, around weired events when command is pressed\n\t\tif (evt.getKeyCode() == 91) {\n\t\t\t// console.log(\"clear keydown list...\")\n\t\t\tthis.keysDown = {};\n\t\t\n\t\t};\n\t},\n\n\trememberKeyDown: function(evt) {\n\t\tif (!this.keysDown) {\n\t\t\tthis.keysDown = {};\n\t\t};\n \t\t//console.log(\"remember KeyDown \" + evt.getKeyChar())\n\t\tthis.keysDown[evt.getKeyChar().toUpperCase()] = true;\n\t},\n\n handleKeyboardEvent: function(evt) { \n\t\t// console.log(\"event: \" + evt )\n\t\tif(evt.type == \"KeyUp\") {\n \t\t\tthis.forgetKeyDown(evt);\t\t\t\n\t\t};\n if (this.hasSubmorphs()) {\n if (evt.type == \"KeyDown\" && this.moveSubmorphs(evt)) return;\n else if (evt.type == \"KeyPress\" && this.transformSubmorphs(evt)) return;\n }\n\t\tvar consumed = false;\n // manual bubbling up b/c the event won't bubble by itself\n\t\tvar world = this.world();\n for (var responder = this.keyboardFocus || world; responder != null; responder = responder.owner || world) {\n\t\t\tif (responder.takesKeyboardFocus()) {\n var handler = responder[evt.handlerName()];\n if (handler) {\n if (handler.call(responder, evt)) {\n\t\t\t\t\t\tconsumed = true;\n break; // event consumed?\t\t\n\t\t\t\t\t}\n }\n }\n\t\t\tif (responder == world) break;\n }\n\n\t\tif (!consumed) {\n\t\t\t// console.log(\"not consumed \" + evt)\n\t\t\t// the single command key evt \n\t\t\tif (evt.isCommandKey()) // rk: what is that supposed to do?\n\t\t\t\tClipboardHack.selectPasteBuffer();\t\t\t\n\t\t\t\t\n\t\t\t// remember key down for mouse events\n\t\t\tif(evt.type == \"KeyPress\") {\n\t\t\t\tthis.rememberKeyDown(evt);\n\t\t\t};\n\t\t};\n\t\tthis.blockBrowserKeyBindings(evt);\n },\n\t\n blockBrowserKeyBindings: function(evt) {\n\t\tswitch (evt.getKeyCode()) {\n\t\t\tcase Event.KEY_SPACEBAR: // [don't] scroll\n\t\t \t// stop keypress but don't try to stop preceeding keydown,\n\t\t \t// which would prevent keypress from firing and being handled by Text etc\n\t\t \tif (evt.type == \"KeyPress\") evt.stop();\n\t\t \tbreak;\n\t\t case Event.KEY_BACKSPACE: // [don't] go to the previous page \n\t\t \tevt.stop();\n\t\t \tbreak;\n\t\t\tcase 22:\n\t\t\tcase 3:\n\t\t\tcase 24:\n\t\t\t\tif (evt.isCtrlDown() && evt.type == \"KeyPress\") \n\t\t\t\t\tevt.preventDefault(); // ctrl+x, ctrl+c, or ctrl+v pressed\n\t\t\t\tbreak;\n\t\t\t}\n\t\tswitch (evt.getKeyChar()) {\n\t\t\tcase \"[\":\n\t\t\tcase \"]\":\n\t\t \tif (evt.isMetaDown() && evt.type == \"KeyPress\") {\n\t\t\t\t\t// Safari would want to navigate the history\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tbreak;\n\t\t }\n\t\t}\t\n },\n},\n'Geometry',{\n\tbounds: function($super) {\n\t\t// account for the extra extent of the drop shadow\n\t\t// FIXME drop shadow ...\n\t\treturn this.shadowMorph ? $super().expandBy(this.shadowOffset.x) : $super();\n\t},\n\n\tgetInsertPositionFor: function(m, isFront) {\n\t\tif (this.submorphs.length == 0) return this.shape.rawNode;\n\t\treturn isFront ? this.submorphs.last().rawNode : this.submorphs.first().rawNode;\n\t},\n\n toString: function($super) { \n var superString = $super();\n var extraString = Strings.format(\", local=%s,id=%s\", this.isLocal, this.id());\n if (!this.hasSubmorphs()) \n\t\t\treturn superString + \", an empty hand\" + extraString;\n return Strings.format(\"%s, a hand carrying %s%s\", superString, this.topSubmorph(), extraString);\n },\n\n\tsetPosition: function($super, pos) {\n\t\t$super(pos);\n\t\tif (this.hasSubmorphs())\n\t\t\tthis.scrollDuringDrag()\n\t\treturn pos;\n\t},\n},\n'Indicator',{\n\tremoveIndicatorMorph: function() {\n\t\tif (!this.indicatorMorph)\n\t\t\treturn;\n\t\tthis.indicatorMorph.remove();\n\t\tthis.indicatorMorph = undefined;\n\t},\n\n\tensureIndicatorMorph: function() {\n\t\tif (this.indicatorMorph)\n\t\t\treturn this.indicatorMorph;\n\t\tvar morph = new TextMorph(new Rectangle(0,0,100,20));\n\t\tmorph.setPosition(this.shape.bounds().bottomRight().addPt(pt(-5,-5)))\n\t\tmorph.ignoreEvents();\n\t\tmorph.isEpimorph = true;\n\t\tmorph.setBorderWidth(0);\n\t\tmorph.setFill(null);\n\t\tthis.indicatorMorph = morph;\n\t\tthis.addMorph(morph);\n\t\treturn morph\n\t},\n\n\thasSubmorphs: function() {\n\t\tif (this.submorphs.length == 0)\n\t\t\treturn false;\n\t\telse\n\t\t\treturn this.submorphs.reject(function(ea) {return ea.isEpimorph}).length != 0;\n\t},\n},\n'Scrolling',{\n\tscrollDuringDrag: function(counter) {\n\t\tvar scrollSpeed = 0.3; // should go into config options?\n\t\tvar maxSteps = 30;\n\t\t\n\t\tvar world = this.world();\n\t\tvar wb = world.windowBounds();\n\t\tvar pos = this.getPosition();\n\t\tcounter = counter || 1;\n\t\t\n\t\tvar worldScale = world.getScale();\n\t\tvar steps = counter * scrollSpeed * worldScale;\n\t\tsteps = Math.min(steps, maxSteps);\n\t\tvar animate = false;\n\t\tvar self = this;\n\t\t\n\t\tvar scroll = function(delta) {\n\t\t\tvar oldPos = pt(Global.scrollX, Global.scrollY)\n\t\t\tGlobal.scrollBy(delta.x, delta.y);\t\t\tvar newPos = pt(Global.scrollX, Global.scrollY)\n\t\t\tvar scrollDelta = newPos.subPt(oldPos).scaleBy(1 / worldScale);\n\t\t\tself.moveBy(scrollDelta.scaleBy(1))\n\t\t\tanimate = true;\n\t\t};\n\t\tvar offset = 50\n\t\tif (pos.x + offset > wb.right()) scroll(pt(steps,0));\n\t\tif (pos.x - offset < wb.left()) scroll(pt(-steps,0));\n\t\tif (pos.y - offset < wb.top()) scroll(pt(0, - steps));\n\t\tif (pos.y + offset > wb.bottom()) scroll(pt(0, steps))\n\t\tif (animate) {\n\t\t\t(function(){self.scrollDuringDrag( counter + 1)}).delay()\t\n\t\t}\n\t}\n},\n'Fabrik Extension (DEPRICATED)',{\n changed: function($super, morph) {\n $super();\n this.globalPosition = this.getPosition();\n this.submorphs.forEach(function(ea){\n // console.log(\"changed \"+ ea);\n ea.changed(\"globalPosition\", this.getPosition());\n }, this);\n },\n});\n\nMorph.subclass('LinkMorph', {\n\n documentation: \"two-way hyperlink between two Lively worlds\",\n helpText: \"Click here to enter or leave a subworld.\\n\" +\n \"Use menu 'grab' to move me. Drag objects\\n\" +\n \"onto me to transport objects between worlds.\",\n openForDragAndDrop: false,\n suppressHandles: true,\n\tstyle: {\n\t\tborderColor: Color.black, \n\t\tfill: lively.lang.let(lively.paint, function(g) { \n\t\t\treturn new g.RadialGradient([new g.Stop(0, Color.blue.lighter()) , new g.Stop(0.5, Color.blue), \n\t\t\tnew g.Stop(1, Color.blue.darker())], pt(0.4, 0.2))})\n\t},\n \n\tinitialize: function($super, otherWorld, initialPosition) {\n\t\t// In a scripter, type: world.addMorph(new LinkMorph(null))\n\n\t\t// Note: Initial position can be specified either as a rectangle or point.\n\t\t// If no position is specified, place the icon in the lower left corner\n\t\t// of the screen.\n\t\tinitialPosition = initialPosition || WorldMorph.current().bounds().bottomLeft().addXY(50, -50);\n\t\t$super(new lively.scene.Ellipse(initialPosition, 25));\n\t\tvar bounds = this.shape.bounds();\n\n\t\t// Make me look a bit like a world\n\t\t[new Rectangle(0.15,0,0.7,1), new Rectangle(0.35,0,0.3,1), new Rectangle(0,0.3,1,0.4)].forEach(function(each) {\n\t\t\t// Make longitude / latitude lines\n\t\t\tvar lineMorph = new Morph(new lively.scene.Ellipse(bounds.scaleByRect(each)));\n\t\t\tlineMorph.applyStyle({fill: null, borderWidth: 1, borderColor: Color.black}).ignoreEvents();\n\t\t\tthis.addMorph(lineMorph);\n\t\t}, this);\n\n\t\tif (!otherWorld) {\n\t\t\tthis.myWorld = this.makeNewWorld(this.canvas());\n\t\t\tthis.addPathBack();\n\t\t} else {\n\t\t\tthis.myWorld = otherWorld;\n\t\t}\n\t\treturn this;\n\t},\n \n\tmakeNewWorld: function(canvas) {\n\t\treturn new WorldMorph(canvas);\n\t},\n \n\taddPathBack: function() {\n\t\tvar pathBack = new LinkMorph(WorldMorph.current(), this.bounds().center());\n\n\t\tpathBack.setFill(lively.lang.let(lively.paint, function(gfx) {\n\t\t\treturn new gfx.RadialGradient([new gfx.Stop(0, Color.orange), \n\t\t\tnew gfx.Stop(0.5, Color.red), \n\t\t\tnew gfx.Stop(1, Color.red.darker(2))],\n\t\t\tpt(0.4, 0.2));\n\t\t}));\n\n\t\tthis.myWorld.addMorph(pathBack);\n\t\treturn pathBack;\n\t},\n \n\tonDeserialize: function() {\n\t\t//if (!this.myWorld) \n\t\tthis.myWorld = WorldMorph.current(); // a link to the current world: a reasonable default?\n\t},\n\n\thandlesMouseDown: function(evt) {\n\t\treturn true; \n\t},\n\n\tonMouseDown: function(evt) {\n\t\tthis.enterMyWorld(evt); \n\t\treturn true; \n\t},\n\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.addItem([\"publish linked world as ... \", function() { \n\t\tthis.world().prompt(\"world file (.xhtml)\", this.exportLinkedFile.bind(this)); }]);\n\t\tmenu.replaceItemNamed(\"package\", [\"package linked world\", function(evt) {\n\t\t\tnew PackageMorph(this.myWorld).openIn(this.world(), this.bounds().topLeft()); this.remove()} ]);\n\t\treturn menu;\n\t},\n\n\tenterMyWorld: function(evt) { // needs vars for oldWorld, newWorld\n\t\tcarriedMorphs = [];\n\n\t\t// Save, and suspend stepping of, any carried morphs\n\t\tevt.hand.unbundleCarriedSelection();\n\t\tevt.hand.carriedMorphsDo( function (m) {\n\t\t\tm.suspendAllActiveScripts();\n\t\t\tcarriedMorphs.splice(0, 0, m);\n\t\t\tevt.hand.shadowMorphsDo( function(m) { m.stopAllStepping(); });\n\t\t\tevt.hand.showAsUngrabbed(m);\n\t\t});\n\t\tevt.hand.removeAllMorphs();\n\t\tthis.hideHelp();\n\t\tthis.myWorld.changed();\n\t\tvar oldWorld = WorldMorph.current();\n\t\toldWorld.onExit(); \n\n\t\tif (Config.suspendScriptsOnWorldExit)\n\t\t\toldWorld.suspendAllActiveScripts();\n\n\t\tvar canvas = oldWorld.canvas();\n\t\toldWorld.remove(); // some SVG calls may stop working after this point in the old world.\n\n\t\tconsole.log('left world %s through %s', oldWorld, this);\n\n\t\t// display world first, then add hand, order is important!\n\t\tvar newWorld = this.myWorld;\n\t\tif (newWorld.owner) {\n\t\t\tconsole.log(\"new world had an owner, removing\");\n\t\t\tnewWorld.remove();\n\t\t}\n\n\t\tnewWorld.displayOnCanvas(canvas); // Becomes current at this point\n\n\t\tif (Config.suspendScriptsOnWorldExit) { \n\t\t\tnewWorld.resumeAllSuspendedScripts();\n\t\t}\n\n\t\tcarriedMorphs.forEach(function(m) {\n\t\t\tvar hand = newWorld.firstHand();\n\t\t\tm.resumeAllSuspendedScripts();\n\t\t\thand.addMorphAsGrabbed(m);\n\t\t});\n\n\t\tif (Config.showThumbnail) {\n\t\t\tvar scale = 0.1;\n\t\t\tif (newWorld.thumbnail) {\n\t\t\t\tconsole.log(\"disposing of a thumbnail\");\n\t\t\t\tnewWorld.thumbnail.remove();\n\t\t\t}\n\t\t\tnewWorld.thumbnail = Morph.makeRectangle(Rectangle.fromElement(canvas));\n\t\t\tnewWorld.thumbnail.setPosition(this.bounds().bottomRight());\n\t\t\tnewWorld.addMorph(newWorld.thumbnail);\n\t\t\tnewWorld.thumbnail.setScale(scale);\n\t\t\tnewWorld.thumbnail.addMorph(oldWorld);\n\t\t}\n\n\t\tif (carriedMorphs.length > 0) newWorld.firstHand().emergingFromWormHole = true; // prevent re-entering\n\t},\n \n\tonMouseOver: function($super, evt) {\n\t\tif (evt.hand.hasSubmorphs()) { // if hand is laden enter world bearing gifts\n\t\t\tif (!evt.hand.emergingFromWormHole) this.enterMyWorld(evt);\n\t\t} else {\n\t\t\t$super(evt);\n\t\t}\n\t},\n\n\tonMouseOut: function($super, evt) {\n\t\tevt.hand.emergingFromWormHole = false;\n\t\t$super(evt);\n\t},\n\n\tgetHelpText: function() {\n\t\treturn this.helpText;\n\t},\n\t\n\taddLabel: function(text) {\n\t\tvar label = new TextMorph(pt(110, 25).extentAsRectangle(), text).applyStyle({borderRadius: 10, borderWidth: 2});\n\t\tthis.addMorph(label);\n\t\tlabel.align(label.bounds().leftCenter(), this.shape.bounds().rightCenter().addXY(5, 0));\n\t\tlabel.linkToStyles(['raisedBorder']);\n\t\treturn label;\n\t},\n \n});\n\nLinkMorph.subclass('ExternalLinkMorph', {\n\n documentation: \"A link to a different web page, presumably containing another LK\",\n\n style: { borderColor: Color.black, fill: new lively.paint.RadialGradient([new lively.paint.Stop(0, Color.green), \n\t\t\t\t\t\t\t\t\t new lively.paint.Stop(1, Color.yellow)])},\n \n initialize: function($super, url, position) {\n\t\t$super(null, position || pt(0, 0));\n\t\tthis.url = url;\n\t\tthis.win = null; // browser window\n },\n\n makeNewWorld: Functions.Null, \n \n addPathBack: Functions.Null,\n\n\tenterMyWorld: function(evt) {\n\t\tif (evt.isCommandKey()) {\n\t\t\tthis.world().confirm(\"Leave current runtime to enter another page?\", function (answer) {\n\t\t\t\tif (answer) Global.location = this.url.toString();\n\t\t\t\telse console.log(\"cancelled loading \" + this.url);\n\t\t\t});\n\t\t} else {\n\t\t\tif (this.win && !this.win.closed) this.win.focus();\n\t\t\telse this.win = Global.window.open(this.url);\n\t\t}\n\t},\n \n getHelpText: function() {\n\t\treturn \"Click to enter \" + this.url;\n },\n\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.addItem([\"set link target...\", function() {\n\t\t\tthis.world().prompt(\"Set new target file\", function(answer) {\n\t\t\t\tthis.url = URL.source.withFilename(answer);\n\t\t\t}.bind(this), URL.source.toString());\n\t\t}]);\n\t\treturn menu;\n\t}\n \n});\n\n\n/**\n * Morpsh for Structuring and Layouting \n */\n\nMorph.subclass('BoxMorph', {\n\n documentation: \"Occupies a rectangular area of the screen, can be laid out\",\n\n initialize: function($super, initialBounds) {\n\t\t$super(new lively.scene.Rectangle(initialBounds));\n },\n\n});\n\nBoxMorph.subclass('ContainerMorph', {\n documentation: \"Box morph whose shape grows to contain all its submrphs\",\n\n\tinitialize: function($super,rect) {\n\t\t$super(rect);//new Rectangle(0,0,0,0));\n\t},\n\n initializeTransientState: function($super) {\n $super();\n this.priorExtent = this.innerBounds().extent();\n },\n\n\taddMorph: function($super, m, isFront) {\n\t\tvar ret = $super(m, isFront);\n\t\tvar submorphBounds = this.submorphBounds(true);\n\t\tif (submorphBounds)\n\t\t\tthis.shape.setBounds(submorphBounds.outsetByRect(this.padding));\n\t\treturn ret;\n\t},\n\n\tadjustForNewBounds: function ($super) {\n\t\t// borrowed from PanelMorph\n\t\t// Compute scales of old submorph extents in priorExtent, then scale up to new extent\n\t\t$super();\n\t\tvar newExtent = this.innerBounds().extent();\n\t\tvar scalePt = newExtent.scaleByPt(this.priorExtent.invertedSafely());\n\t\tthis.submorphs.forEach(function(sub) {\n\t\t\tsub.setPosition(sub.getPosition().scaleByPt(scalePt));\n\t\t\tsub.setExtent(sub.getExtent().scaleByPt(scalePt));\n\t\t});\n\t\tthis.priorExtent = newExtent;\n\t}, \n});\n\n/**\n * Hacks \n */\nGlobal.ClipboardHack = {\n\tensurePasteBuffer: function() {\n\t\t// Return a reference to a text element to serve as our proxy for communication\n\t\t// with the OS about text such as cut/paste, or iPad keyboard input\n\t\tif (UserAgent.isMozilla && UserAgent.fireFoxVersion) return;\n\t\tvar buffer = document.getElementById(\"copypastebuffer\");\n\t\tif (buffer) return buffer;\n\n\t\t// Not there yet -- create a new one\n\t\tbuffer = document.createElement(\"textarea\");\n\t\tbuffer.setAttribute(\"cols\",\"1\");\n\t\tbuffer.setAttribute(\"rows\",\"1\");\n\t\tbuffer.setAttribute(\"id\",\"copypastebuffer\");\n\t\t// buffer.setAttribute(\"style\",\"position:absolute;z-index: -400;left:0px; top:1px; width:1px; height:1px;\");\n\t\tif (UserAgent.isTouch) { // hack to test text input on iPad\n\t\t\tbuffer.setAttribute(\"style\",\"position:fixed;z-index: 5;left:0px; top:0px; width:100px; height:30px;\");\n\t\t} else {\n\t\t\t// the Clipboard buffer needs a minimum width, otherwise it will scroll the page on the first paste\n\t\t\tbuffer.setAttribute(\"style\",\"position:fixed;z-index: -5;left:0px; top:0px; width:100px; height:100px;\");\n\t\t}\n\t\tbuffer.textContent = \"NoText\";\n\t\tvar outerBody = Global.document.body || Global.parent.document.body;\n\t\touterBody.appendChild(buffer);\n\t\treturn buffer;\n\t},\n\t\n\tselectPasteBuffer: function() {\n\t\tvar buffer = this.ensurePasteBuffer();\n\t\tif (buffer) buffer.select();\n\t},\n\t\n\tinvokeKeyboard: function() {\n\t \t\tif (!UserAgent.isTouch) return;\n\t\t\tvar buffer = this.ensurePasteBuffer();\n\t\t\tif (buffer) buffer.focus();\n\t},\n\t\n\ttryClipboardAction: function(evt, target) {\n // Copy and Paste Hack that works in Webkit/Safari\n if (!evt.isMetaDown() && !evt.isCtrlDown()) return false;\n\n\t\t// Multiworld Code\n\t\tif (evt.hand.world().currentSelection != target && evt.hand.world() != target && evt.hand.keyboardFocus != target) return false;\n\n\t\tthis.selectPasteBuffer();\n var buffer = this.ensurePasteBuffer();\n if(!buffer) return false;\n if (evt.getKeyChar().toLowerCase() === \"v\" || evt.getKeyCode() === 22) {\t\n\t\t\tvar paste_executed = false;\n\t\t buffer.onpaste = function() {\n\t\t\t\tif (paste_executed) return; // BUG Workaround: Safari 5.0 (6533.16), calls the paste two times\n\t\t\t\tpaste_executed = true;\n\t\t\t\tTextMorph.clipboardString = event.clipboardData.getData(\"text/plain\");\n if(target.doPaste) target.doPaste();\n };\n \tbuffer.focus();\n \treturn true;\n };\n if (evt.getKeyChar().toLowerCase() === \"c\" || evt.getKeyCode() === 3) {\n\t\t\tif(target.doCopy) target.doCopy();\n\t\t\tbuffer.textContent = TextMorph.clipboardString;\n\t\t\tbuffer.select();\n \tbuffer.focus();\n \treturn true;\n };\n if (evt.getKeyChar().toLowerCase() === \"x\" || evt.getKeyCode() === 24) {\n\t\t\tif (target.doCut) target.doCut();\n\t\t\tbuffer.textContent = TextMorph.clipboardString;\n\t\t\tbuffer.select();\n \tbuffer.focus();\n \treturn true;\n };\n\t\t// console.log('Clipboard action not successful');\n\t\treturn false;\n },\n\n}\n\nObject.extend(Global, { // various stuff\n\tbasicResize: function(world, canvas, newWidth, newHeight) {\n\t\tcanvas.setAttribute(\"width\", newWidth);\n\t\tcanvas.setAttribute(\"height\", newHeight);\n\t\tworld.setExtent(pt(newWidth, newHeight));\n\t\tworld.fullBounds = new Rectangle(0, 0, newWidth, newHeight);\n\t},\n\n\tonresize: function(evt) {\n\t\tif (!Config.onWindowResizeUpdateWorldBounds) return; \n\t\tvar h = document.getElementsByTagName('html')[0];\n\t var world = WorldMorph.current();\n\t\tif (!world) {\n\t\t\tconsole.log(\"Error: No world to resize.\")\n\t\t\treturn;\n\t\t}\t\t\n\t\t// Todo: get rid of the arbitrary offset without getting scrollbars\n\t var newWidth = h.clientWidth - 4;\n\t var newHeight = h.clientHeight- 4;\n\t},\n\n\t$morph: function getMorphNamedShortcut(name) {\n\t\treturn WorldMorph.current().getMorphNamed(name);\n\t},\n\n\tinteractiveEval: function(text) {\n\t // FIXME for compatibility, load jQuery for some interactive conveniences\n\t\t// ECMAScript 3rd edition, section 12.4: \n\t\t// “Note that an ExpressionStatement cannot start with an opening curly brace because that might make it ambiguous with a Block.“\n\t\t//text = '(' + text + ')'; // workaround for that issue\n\t\treturn eval(text);\n\t},\n\t\n});\n\n\nObject.subclass('ClipboardCopier', {\n\t\n\tpastePosition: pt(0,0),\n\n\tcreateBaseDocument: function(source) {\n\t\treturn new DOMParser().parseFromString('' +\n\t\t\t'', /* \"text/xml\" */ \"application/xml\");\n\t},\n\n\tloadMorphsWithWorldTrunkFromSource: function(source) {\n \tvar xml = this.createBaseDocument(source);\n\t\tvar systemDictionary = xml.getElementById(\"SystemDictionary\");\n\t\tvar globalSystemDictionary = lively.data.Wrapper.prototype.dictionary();\n\t\tif(systemDictionary) {\n\t\t\t$A(systemDictionary.childNodes).each(function(ea) {\n\t\t\t\tvar result = lively.data.FragmentURI.getElement(ea.id);\n\t\t\t\t\n\t\t\t\t// TODO: give the element a new id and map it, is there an implemnentation laying around somewhere here?\n\t\t\t\tif(!result) \n\t\t\t\t\tglobalSystemDictionary.appendChild(ea.cloneNode(true))\n\t\t\t})\n\t\t}\n\t\tvar world = new Importer().loadWorldContents(xml);\n\t\treturn world.submorphs\n },\t\n\n\tcalcTopLeftOfPoints: function(points) {\n\t\tvar min_x;\n\t\tvar min_y;\n\t\tpoints.each(function(ea) {\n\t\t\tif (!min_x || ea.x < min_x)\n\t\t\t\tmin_x = ea.x;\n\t\t\tif (!min_y || ea.y < min_y)\n\t\t\t\tmin_y = ea.y;\n\t\t});\n\t\treturn pt(min_x, min_y)\n\t},\n\n\t\n\n\tcalcPasteOffsetFrom: function(morphs) {\n\t\tif(morphs.length == 0)\n\t\t\treturn;\n\t\tvar topLeft = this.calcTopLeftOfPoints(morphs.collect(function(ea) {return ea.getPosition()}))\t\t\n\t\treturn this.pastePosition.subPt(topLeft);\n\t},\n\n\tcopyMorphsAsXMLString: function(morphs) {\n\t\tvar copier = new Copier();\n\t\tvar doc = this.createBaseDocument();\n\t\tvar worldNode = doc.childNodes[0].childNodes[0];\n\t\t\n\t\tvar container = new Morph.makeRectangle(new Rectangle(0,0,10,10));\n\t\tcontainer.isSelectionContainer = true;\n\t\t\t\t\n\t\tmorphs.each(function(ea) {\n\t\t\tcontainer.addMorph(ea.copy(copier));\n\t\t})\n\t\tcopier.finish()\n\t\tvar systemDictionary =\tcontainer.rawNode.appendChild(NodeFactory.create(\"defs\"));\n\t\tsystemDictionary.setAttribute(\"id\", \"SystemDictionary\");\n\t\t\n\t\tworldNode.appendChild(container.rawNode);\n\t\tvar exporter = new Exporter(container);\n\t\tcontainer.dictionary = function() { return systemDictionary}\n\t\tvar helpers = exporter.extendForSerialization(systemDictionary);\n\t\tvar result = Exporter.stringify(container.rawNode);\n\t\texporter.removeHelperNodes(helpers);\n\t\tdelete container.dictionary\n\t\n\t\treturn result\n\t},\n\n\t// cut and past is not identity preserving\n\tpasteMorphsFromSource: function(source, pasteDestinationMorph){\n\t\tvar morphs = this.loadMorphsWithWorldTrunkFromSource(source);\n\t\tif (morphs.length == 0) {\n\t\t\tvar pos = this.pastePosition();\n\t\t\tvar textMorph = new TextMorph(new Rectangle(pos.x,pos.y,200,100), source);\n\t\t\tthis.addMorph(textMorph);\n\t\t\treturn;\n\t\t}\n\t\t// unpack potential selection morph\n\t\tif(morphs[0] && morphs[0].isSelectionContainer) {\n\t\t\tmorphs = morphs[0].submorphs\n\t\t};\n\t\tvar copier = new Copier();\n\t\tvar offset = this.calcPasteOffsetFrom(morphs);\n\t\tmorphs.each(function(ea) {\n\t\t\tvar copy = ea.copy(copier);\n\t\t\tpasteDestinationMorph.addMorph(copy)\n\t\t\tif (offset) {\n\t\t\t\tcopy.moveBy(offset)\n\t\t\t}\t\n\t\t}, this);\n\t\tcopier.finish()\n\t},\n\n});\n\n\n/**\n * Misc\n */\n\nObject.subclass('DocLinkConverter', {\n\n\tinitialize: function(codeBase, toDir) {\n\t\tif (!codeBase.toString().endsWith('/')) codeBase = codeBase.toString() + '/';\n\t\tif (!toDir.toString().endsWith('/')) toDir = toDir.toString() + '/';\n\t\tthis.codeBase = new URL(codeBase);\n\t\tthis.toDir = new URL(toDir).withRelativePartsResolved();\n\t},\n\n\tconvert: function(doc) {\n\t\tvar scripts = $A(doc.getElementsByTagName('script'));\n\t\tif (scripts.length <= 0) {\n\t\t\tconsole.warn('could not convert scripts in doc in DocLinkConverter because no scripts found!');\n\t\t\treturn doc;\n\t\t}\n\t\tthis.convertLinks(scripts);\n\t\tthis.convertAndRemoveCodeBaseDefs(scripts);\n\t\treturn doc;\n\t},\n\n\tconvertAndRemoveCodeBaseDefs: function(scripts) {\n\t\tvar codeBaseDefs = scripts.select(function(el) {\n\t\t\treturn el.firstChild && el.firstChild.data && el.firstChild.data.startsWith('Config.codeBase=');\n\t\t});\n\n\t\tvar codeBaseDef = this.createCodeBaseDef(this.codeBaseFrom(this.codeBase, this.toDir));\n\t\t\n\t\tif (codeBaseDefs.length == 0) {\n\t\t\tvar script = NodeFactory.create('script');\n\t\t\tscript.setAttribute('name', 'codeBase');\n\t\t\tscript.appendChild(NodeFactory.createCDATA(codeBaseDef));\n\n\t\t\tvar localConfigScript = this.findScriptEndingWith('localconfig.js', scripts);\n\t\t\tif (localConfigScript) {\n\t\t\t\tlocalConfigScript.parentNode.insertBefore(script, localConfigScript);\n\t\t\t\tlocalConfigScript.parentNode.insertBefore(NodeFactory.createNL(), localConfigScript);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (codeBaseDefs.length >= 1) {\n\n\t\t\tvar cdata = codeBaseDefs[0].firstChild;\n\t\t\tcdata.data = codeBaseDef;\n\t\t}\n\n\t\t// remove remaining\n\t\tfor (var i = 1; i < codeBaseDefs.length; i++)\n\t\t\tcodeBaseDefs[i].parentNode.removeChild(codeBaseDefs[i]);\n\t},\n\n\tconvertLinks: function(scripts) {\n\t\tvar links = scripts.select(function(el) { return this.getURLFrom(el) != null }, this);\n\t\tlinks.forEach(function(el) {\n\t\t\tvar url = this.getURLFrom(el);\n\t\t\tvar newUrl = this.convertPath(url);\n\t\t\tthis.setURLTo(el, newUrl);\n\t\t}, this);\n\t},\n\n\tconvertPath: function(path) {\n\t\tif (path.startsWith('http')) return path;\n\t\tvar fn = this.extractFilename(path);\n\t\tvar relative = this.relativeLivelyPathFrom(this.codeBase, this.toDir);\n\t\treturn relative + fn;\n\t},\n\n\tcodeBaseFrom: function(codeBase, toDir) {\n\t\tvar urlCodeBase = new URL(codeBase);\n\t\tvar urlToDir = new URL(toDir);\n\n\t\tif ((urlCodeBase.normalizedHostname() == urlToDir.normalizedHostname()) && (urlCodeBase.port == urlToDir.port))\n\t\t\treturn this.relativeCodeBaseFrom(codeBase, toDir);\n\t\telse\n\t\t\treturn urlCodeBase.toString();\n\t},\n\n\trelativeCodeBaseFrom: function(codeBase, toDir) {\n\t\tcodeBase = new URL(codeBase);\n\t\ttoDir = new URL(toDir);\n\t\tvar relative = toDir.relativePathFrom(codeBase);\n\t\tif (relative.startsWith('/')) throw dbgOn(new Error('relative looks different than expected'));\n\t\tvar levels = relative.split('/').length -1\n\t\tvar result = range(1, levels).collect(function() { return '..' }).join('/');\n\t\tif (result.length > 0) result += '/';\n\t\treturn result;\n\t},\n\n\trelativeLivelyPathFrom: function(codeBase, toDir) {\n\t\treturn this.codeBaseFrom(codeBase, toDir) + 'lively/';\n\t},\n\n\textractFilename: function(url) {\n\t\treturn url.substring(url.lastIndexOf('/') + 1, url.length);\n\t},\n\n\tcreateCodeBaseDef: function(relPath) {\n\t\treturn Strings.format('Config.codeBase=Config.getDocumentDirectory()+\\'%s\\'', relPath);\n\t},\n\n\tfindScriptEndingWith: function(str, scripts) {\n\t\treturn scripts.detect(function(node) {\n\t\t\t\tvar url = this.getURLFrom(node);\n\t\t\t\treturn url && url.endsWith(str)\n\t\t\t}, this);\n\t},\n\n\tgetURLFrom: function(el) {\n\t\treturn el.getAttribute('xlink:href') || el.getAttribute('src')\n\t},\n\n\tsetURLTo: function(el, url) {\n\t\tif (el.getAttribute('xlink:href'))\n\t\t\tel.setAttribute('xlink:href', url)\n\t\telse\n\t\t\tel.setAttribute('src', url)\n\t},\n\n});\n\nMorph.subclass('PseudoMorph', {\n description: \"This hack to make various objects serializable, despite not being morphs\",\n \n\tinitialize: function($super) {\n\t\t$super(new lively.scene.Group());\n\t\tthis.setVisible(false);\n\t}\n\n});\n\n\nPseudoMorph.subclass('Invocation', {\n\n\tinitialize: function($super, actor, scriptName, argIfAny) {\n\t\t$super();\n\t\tthis.actor = actor;\n\t\tthis.scriptName = scriptName;\n\t\tthis.argIfAny = argIfAny; // better be primitive\n\t},\n\n\texec: function Invocation$exec() {\n\t\tif (!this.actor) {\n\t\t\tconsole.warn(\"no actor on script %s\", this);\n\t\t\treturn null;\n\t\t}\n\t\tvar func = this.actor[this.scriptName];\n\t\tif (func) {\n\t\t\treturn func.call(this.actor, this.argIfAny);\n\t\t} else {\n\t\t\t//console.warn(\"no callback on actor %s\", this.actor);\n\t\t\treturn null;\n\t\t}\n\t},\n\n});\n\nInvocation.subclass('SchedulableAction', {\n\n\tdocumentation: \"Description of a periodic action\",\n\tbeVerbose: false,\n\n\tinitialize: function($super, actor, scriptName, argIfAny, stepTime) {\n\t\t$super(actor, scriptName, argIfAny);\n\t\tthis.stepTime = stepTime;\n\t\tthis.ticks = 0;\n\t},\n\n\ttoString: function() {\n\t\treturn Strings.format(\"#\", \n\t\tthis.actor, this.scriptName, this.argIfAny, this.stepTime);\n\t},\n\n\tstop: function(world) {\n\t\tif (this.beVerbose) console.log(\"stopped stepping task %s\", this);\n\t\tworld.stopSteppingFor(this);\n\t},\n\n\tstart: function(world) {\n\t\tif (this.beVerbose) console.log(\"started stepping task %s\", this);\n\t\tworld.startSteppingFor(this);\n\t},\n\n\tequalActorAndName: function(other) {\n\t\tif (!other) \n\t\t\treturn false;\n\t\tif (this === other) \n\t\t\treturn true;\n\t\treturn (this.actor === other.actor) && (this.scriptName == other.scriptName)\n\t}\n});\n\n/**\n * Layout Manager \n * TODO: Move into own package\n *\n */\nObject.subclass('LayoutManager',\n'testing', {\n\tlayoutAllowed: function() { return LayoutManager.layoutAllowed() },\n},\n'layouting', {\n\tlayout: function(supermorph) {},\n\tonReshape: function(morph) {\n\t\tmorph.adjustForNewBounds();\n\t},\n},\n'positioning', {\n\tpositionForInsert: function(morph, ownerMorph) {\n\t\treturn morph.getPosition();\n\t\t// return pt(this.leftPaddingOf(ownerMorph), this.topPaddingOf(ownerMorph));\n\t},\n},\n'morphic extensions', {\n\n setBounds: function(target, newRect) {\n\t\t// DI: Note get/setBounds should be deprecated in favor of get/setExtent and get/setPosition\n\t\t// This is so that layout management can move things around without triggering redundant or\n\t\t// recursive calls on adjustForNewBounds(q.v.)\n\n\t\t// All calls on morph.setBounds should be converted to two calls as above (or just one if,\n\t\t// eg, only the extent or position is changing).\n\n\t\t// Of course setBounds remains entirely valid as a message to the *shape* object and, \n\t\t// in fact, shape.setBounds() will have to be called from both setPosition and setExtent\n\t\t// but adjustForNewBounds will only need to be called from setExtent.\n\n\t\t// Finally, there is an argument for calling layoutChanged from setPosition and setExtent,\n\t\t// since the caller must do it otherwise. This would simplify things overall.\n\n\t\t// DI: Note that there is an inconsistency here, in that we are reading and comparing\n\t\t// the full bounds, yet if we set extent, it only affects the shape (ie, innerBounds)\n\t\n\t\tvar priorBounds = target.bounds();\n\n\t\tif (!newRect.topLeft().eqPt(priorBounds.topLeft())) { // Only set position if it changes\n\t\t target.setPosition(newRect.topLeft());\n\t\t}\n\t\tif (!newRect.extent().eqPt(priorBounds.extent())) { // Only set extent if it changes\n\t\t // FIXME some shapes don't support setFromRect\n\t\t target.shape.setBounds(newRect.extent().extentAsRectangle());\n\t \t target.adjustForNewBounds();\n\t\t}\n },\n\n\tsetExtent: function(target, newExtent) {\n\t\ttarget.setBounds(target.getPosition().extent(newExtent));\n\t},\n\n\tsetPosition: function(target, newPosition) {\n\t\tif (!newPosition) return;\n\t\tvar delta = newPosition.subPt(target.getPosition());\n\t\ttarget.translateBy(delta);\n\t\treturn delta;\n\t},\n\n layoutChanged: function(target) {},\n\n beforeAddMorph: function(supermorph, submorph, isFront) { // isFront -> general spec of location?\n },\n\n afterAddMorph: function(owner, morph, isFront) { // isFront -> general spec of location?\n\t\tthis.layout(owner);\n },\n\n beforeRemoveMorph: function(supermorph, submorph) {},\n\n afterRemoveMorph: function(supermorph, submorph) {\n\t\t// new behavior:\n\t\tsupermorph.layoutChanged();\n\t\tthis.layout(supermorph); // FIXME\n },\n\n},\n'derived accessing', {\n\n\torderedSubMorphsOf: function(morph) {\n\t\treturn morph.visibleSubmorphs();\n\t},\n\n\tleftMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.left() : 0;\n\t},\n\n\trightMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.right() : 0;\n\t},\n\n\ttopMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.top() : 0;\n\t},\n\n\tbottomMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.bottom() : 0;\n\t},\n\n rightPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.right() : 0;\n },\n\n\tleftPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.left() : 0;\n\t},\n\n\ttopPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.top() : 0;\n\t},\n\n\tbottomPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.bottom() : 0;\n\t},\n},\n'serialization', {\n\ttoLiteral: function() {\n\t\treturn {}\n\t},\n});\n\nObject.extend(LayoutManager, {\n\tdefaultInstance: new LayoutManager(),\n\tfromLiteral: function(literal) { return this.defaultInstance },\n\n\tlayoutAllowed: function() { return !this.suppressLayout },\n\tnoLayoutDuring: function(callback) {\n\t\tthis.suppressLayout = true;\n\t\ttry {\n\t\t\tcallback();\n\t\t} finally {\n\t\t\tthis.suppressLayout = false\n\t\t};\n\t},\n});\n\nLayoutManager.subclass('HorizontalLayout', { // alignment more than anything\n\n\tlayout: function(supermorph) {\n\t\tif (!this.layoutAllowed()) return;\n\t\tvar x = this.leftPaddingOf(supermorph),\n\t\t\ty = this.topPaddingOf(supermorph),\n\t\t\theight = supermorph.getExtent().y - this.bottomPaddingOf(supermorph)\n\t\t\tsubmorphs = this.orderedSubMorphsOf(supermorph);\n\t\tfor (var i = 0; i < submorphs.length; i++) {\n\t\t\tvar submorph = submorphs[i];\n\t\t\tx += this.leftMarginOf(submorph)\n\t\t\tsubmorph.align(submorph.bounds().topLeft(), pt(x, y));\n\t\t\tif (submorph.vResizing === 'spaceFill')\n\t\t\t\tsubmorph.setExtent(submorph.getExtent().withY(height))\n\t\t\tx += submorph.bounds().width;\n\t\t\tx += this.rightMarginOf(submorph);\n\t\t}\n\t},\n\t\n});\n\nMorph.addMethods('default layout manager', {\n\tlayoutManager: LayoutManager.defaultInstance,\n});\n\nObject.extend(HorizontalLayout, { \n\tdefaultInstance: new HorizontalLayout(),\n\tfromLiteral: function(literal) { return this.defaultInstance }, \n})\n\n\nLayoutManager.subclass('VerticalLayout', { // alignment more than anything\n\n\tlayout: function(supermorph) {\n\t\tif (!this.layoutAllowed()) return;\n\t\tvar x = this.leftPaddingOf(supermorph),\n\t\t\ty = this.topPaddingOf(supermorph),\n\t\t\tsubmorphs = supermorph.visibleSubmorphs();\n\t\tfor (var i = 0; i < submorphs.length; i++) {\n\t\t\tvar submorph = submorphs[i]\n\t\t\t\t// x = submorph.bounds().left();\n\t\t\ty += this.topMarginOf(submorph)\n\t\t\tsubmorph.align(submorph.bounds().topLeft(), pt(x, y));\n\t\t\ty += submorph.bounds().height;\n\t\t\ty += this.bottomMarginOf(submorph);\n\t\t}\n\t},\n\n});\n\nObject.extend(VerticalLayout, { \n\tdefaultInstance: new VerticalLayout(),\n\tfromLiteral: function(literal) { return this.defaultInstance }, \n})\n\nconsole.log('loaded Core.js');\n\n}); // end of module","__LivelyClassName__":"lively.ide.ModuleWrapper","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":228}},"229":{"registeredObject":{"name":"lively.Core","type":"moduleDef","startIndex":1132,"stopIndex":235713,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":230},{"__isSmartRef__":true,"id":231},{"__isSmartRef__":true,"id":234},{"__isSmartRef__":true,"id":235},{"__isSmartRef__":true,"id":236},{"__isSmartRef__":true,"id":237},{"__isSmartRef__":true,"id":243},{"__isSmartRef__":true,"id":244},{"__isSmartRef__":true,"id":245},{"__isSmartRef__":true,"id":257},{"__isSmartRef__":true,"id":258},{"__isSmartRef__":true,"id":274},{"__isSmartRef__":true,"id":275},{"__isSmartRef__":true,"id":285},{"__isSmartRef__":true,"id":286},{"__isSmartRef__":true,"id":291},{"__isSmartRef__":true,"id":292},{"__isSmartRef__":true,"id":301},{"__isSmartRef__":true,"id":302},{"__isSmartRef__":true,"id":310},{"__isSmartRef__":true,"id":311},{"__isSmartRef__":true,"id":312},{"__isSmartRef__":true,"id":313},{"__isSmartRef__":true,"id":314},{"__isSmartRef__":true,"id":315},{"__isSmartRef__":true,"id":316},{"__isSmartRef__":true,"id":317},{"__isSmartRef__":true,"id":320},{"__isSmartRef__":true,"id":321},{"__isSmartRef__":true,"id":329},{"__isSmartRef__":true,"id":330},{"__isSmartRef__":true,"id":343},{"__isSmartRef__":true,"id":344},{"__isSmartRef__":true,"id":365},{"__isSmartRef__":true,"id":368},{"__isSmartRef__":true,"id":369},{"__isSmartRef__":true,"id":391},{"__isSmartRef__":true,"id":392},{"__isSmartRef__":true,"id":395},{"__isSmartRef__":true,"id":396},{"__isSmartRef__":true,"id":402},{"__isSmartRef__":true,"id":403},{"__isSmartRef__":true,"id":407},{"__isSmartRef__":true,"id":408},{"__isSmartRef__":true,"id":412},{"__isSmartRef__":true,"id":413},{"__isSmartRef__":true,"id":419},{"__isSmartRef__":true,"id":420},{"__isSmartRef__":true,"id":421},{"__isSmartRef__":true,"id":422},{"__isSmartRef__":true,"id":434},{"__isSmartRef__":true,"id":435},{"__isSmartRef__":true,"id":736},{"__isSmartRef__":true,"id":737},{"__isSmartRef__":true,"id":750},{"__isSmartRef__":true,"id":751},{"__isSmartRef__":true,"id":756},{"__isSmartRef__":true,"id":757},{"__isSmartRef__":true,"id":758},{"__isSmartRef__":true,"id":759},{"__isSmartRef__":true,"id":767},{"__isSmartRef__":true,"id":768},{"__isSmartRef__":true,"id":776},{"__isSmartRef__":true,"id":777},{"__isSmartRef__":true,"id":791},{"__isSmartRef__":true,"id":792},{"__isSmartRef__":true,"id":802},{"__isSmartRef__":true,"id":803},{"__isSmartRef__":true,"id":806},{"__isSmartRef__":true,"id":807},{"__isSmartRef__":true,"id":808},{"__isSmartRef__":true,"id":809},{"__isSmartRef__":true,"id":810},{"__isSmartRef__":true,"id":921},{"__isSmartRef__":true,"id":926},{"__isSmartRef__":true,"id":927},{"__isSmartRef__":true,"id":985},{"__isSmartRef__":true,"id":986},{"__isSmartRef__":true,"id":1005},{"__isSmartRef__":true,"id":1006},{"__isSmartRef__":true,"id":1016},{"__isSmartRef__":true,"id":1017},{"__isSmartRef__":true,"id":1021},{"__isSmartRef__":true,"id":1022},{"__isSmartRef__":true,"id":1029},{"__isSmartRef__":true,"id":1030},{"__isSmartRef__":true,"id":1036},{"__isSmartRef__":true,"id":1042},{"__isSmartRef__":true,"id":1043},{"__isSmartRef__":true,"id":1052},{"__isSmartRef__":true,"id":1053},{"__isSmartRef__":true,"id":1068},{"__isSmartRef__":true,"id":1069},{"__isSmartRef__":true,"id":1073},{"__isSmartRef__":true,"id":1074},{"__isSmartRef__":true,"id":1078},{"__isSmartRef__":true,"id":1079},{"__isSmartRef__":true,"id":1088},{"__isSmartRef__":true,"id":1089},{"__isSmartRef__":true,"id":1118},{"__isSmartRef__":true,"id":1119},{"__isSmartRef__":true,"id":1125},{"__isSmartRef__":true,"id":1126},{"__isSmartRef__":true,"id":1129},{"__isSmartRef__":true,"id":1130},{"__isSmartRef__":true,"id":1133},{"__isSmartRef__":true,"id":1134},{"__isSmartRef__":true,"id":1138},{"__isSmartRef__":true,"id":1141},{"__isSmartRef__":true,"id":1142},{"__isSmartRef__":true,"id":1146},{"__isSmartRef__":true,"id":1147}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":229}},"230":{"registeredObject":{"name":null,"type":"comment","startIndex":1184,"stopIndex":1224,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":230}},"231":{"registeredObject":{"name":"Global","type":"klassExtensionDef","startIndex":1225,"stopIndex":1293,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":232}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":233}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":231}},"232":{"registeredObject":{"name":"Loader","type":"propertyDef","startIndex":1249,"stopIndex":1266,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":233},"className":"Global","_owner":{"__isSmartRef__":true,"id":231},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":232}},"233":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":1247,"stopIndex":1290,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":232}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":233}},"234":{"registeredObject":{"name":null,"type":"comment","startIndex":1294,"stopIndex":1341,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":234}},"235":{"registeredObject":{"name":"testModuleLoad","type":"functionDef","startIndex":1342,"stopIndex":1810,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":235}},"236":{"registeredObject":{"name":null,"type":"comment","startIndex":1811,"stopIndex":2035,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":236}},"237":{"registeredObject":{"name":"Global","type":"klassExtensionDef","startIndex":2036,"stopIndex":2860,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":238},{"__isSmartRef__":true,"id":240},{"__isSmartRef__":true,"id":241},{"__isSmartRef__":true,"id":242}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":239}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":237}},"238":{"registeredObject":{"name":"alert","type":"propertyDef","startIndex":2061,"stopIndex":2222,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":239},"className":"Global","_owner":{"__isSmartRef__":true,"id":237},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":238}},"239":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":2058,"stopIndex":2857,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":238},{"__isSmartRef__":true,"id":240},{"__isSmartRef__":true,"id":241},{"__isSmartRef__":true,"id":242}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":239}},"240":{"registeredObject":{"name":"alertOK","type":"propertyDef","startIndex":2225,"stopIndex":2403,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":239},"className":"Global","_owner":{"__isSmartRef__":true,"id":237},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":240}},"241":{"registeredObject":{"name":"onerror","type":"propertyDef","startIndex":2406,"stopIndex":2506,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":239},"className":"Global","_owner":{"__isSmartRef__":true,"id":237},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":241}},"242":{"registeredObject":{"name":"onbeforeunload","type":"propertyDef","startIndex":2510,"stopIndex":2856,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":239},"className":"Global","_owner":{"__isSmartRef__":true,"id":237},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":242}},"243":{"registeredObject":{"name":null,"type":"comment","startIndex":2861,"stopIndex":2862,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":243}},"244":{"registeredObject":{"name":"configFromURL","type":"functionDef","startIndex":2863,"stopIndex":3802,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":244}},"245":{"registeredObject":{"name":"Global.Namespace","type":"objectDef","startIndex":3803,"stopIndex":4350,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":246},{"__isSmartRef__":true,"id":248},{"__isSmartRef__":true,"id":249},{"__isSmartRef__":true,"id":250},{"__isSmartRef__":true,"id":251},{"__isSmartRef__":true,"id":252},{"__isSmartRef__":true,"id":253},{"__isSmartRef__":true,"id":254},{"__isSmartRef__":true,"id":255},{"__isSmartRef__":true,"id":256}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":245}},"246":{"registeredObject":{"name":"SVG","type":"propertyDef","startIndex":3824,"stopIndex":3860,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":246}},"247":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":19,"stopIndex":545,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":246},{"__isSmartRef__":true,"id":248},{"__isSmartRef__":true,"id":249},{"__isSmartRef__":true,"id":250},{"__isSmartRef__":true,"id":251},{"__isSmartRef__":true,"id":252},{"__isSmartRef__":true,"id":253},{"__isSmartRef__":true,"id":254},{"__isSmartRef__":true,"id":255},{"__isSmartRef__":true,"id":256}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":247}},"248":{"registeredObject":{"name":"LIVELY","type":"propertyDef","startIndex":3863,"stopIndex":3964,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":248}},"249":{"registeredObject":{"name":"XLINK","type":"propertyDef","startIndex":3967,"stopIndex":4007,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":249}},"250":{"registeredObject":{"name":"XHTML","type":"propertyDef","startIndex":4010,"stopIndex":4050,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":250}},"251":{"registeredObject":{"name":"ATOM","type":"propertyDef","startIndex":4052,"stopIndex":4090,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":251}},"252":{"registeredObject":{"name":"OPENSEARCH","type":"propertyDef","startIndex":4093,"stopIndex":4169,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":252}},"253":{"registeredObject":{"name":"GBS","type":"propertyDef","startIndex":4171,"stopIndex":4217,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":253}},"254":{"registeredObject":{"name":"DC","type":"propertyDef","startIndex":4219,"stopIndex":4252,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":254}},"255":{"registeredObject":{"name":"BATCH","type":"propertyDef","startIndex":4254,"stopIndex":4303,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":255}},"256":{"registeredObject":{"name":"GD","type":"propertyDef","startIndex":4305,"stopIndex":4346,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":247},"_owner":{"__isSmartRef__":true,"id":245},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":256}},"257":{"registeredObject":{"name":null,"type":"comment","startIndex":4351,"stopIndex":4351,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":257}},"258":{"registeredObject":{"name":"Global.Converter","type":"objectDef","startIndex":4352,"stopIndex":10803,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":259},{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":262},{"__isSmartRef__":true,"id":263},{"__isSmartRef__":true,"id":264},{"__isSmartRef__":true,"id":265},{"__isSmartRef__":true,"id":266},{"__isSmartRef__":true,"id":267},{"__isSmartRef__":true,"id":268},{"__isSmartRef__":true,"id":269},{"__isSmartRef__":true,"id":270},{"__isSmartRef__":true,"id":271},{"__isSmartRef__":true,"id":272},{"__isSmartRef__":true,"id":273}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":258}},"259":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":4373,"stopIndex":4453,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":259}},"260":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":19,"stopIndex":6449,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":259},{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":262},{"__isSmartRef__":true,"id":263},{"__isSmartRef__":true,"id":264},{"__isSmartRef__":true,"id":265},{"__isSmartRef__":true,"id":266},{"__isSmartRef__":true,"id":267},{"__isSmartRef__":true,"id":268},{"__isSmartRef__":true,"id":269},{"__isSmartRef__":true,"id":270},{"__isSmartRef__":true,"id":271},{"__isSmartRef__":true,"id":272},{"__isSmartRef__":true,"id":273}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":260}},"261":{"registeredObject":{"name":"toBoolean","type":"propertyDef","startIndex":4457,"stopIndex":4543,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":261}},"262":{"registeredObject":{"name":"fromBoolean","type":"propertyDef","startIndex":4546,"stopIndex":4762,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":262}},"263":{"registeredObject":{"name":"parseInset","type":"propertyDef","startIndex":4765,"stopIndex":5654,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":263}},"264":{"registeredObject":{"name":"wrapperAndNodeEncodeFilter","type":"propertyDef","startIndex":5657,"stopIndex":5975,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":264}},"265":{"registeredObject":{"name":"wrapperAndNodeDecodeFilter","type":"propertyDef","startIndex":5978,"stopIndex":6546,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":265}},"266":{"registeredObject":{"name":"nodeEncodeFilter","type":"propertyDef","startIndex":6549,"stopIndex":6960,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":266}},"267":{"registeredObject":{"name":"toJSONAttribute","type":"propertyDef","startIndex":6967,"stopIndex":7096,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":267}},"268":{"registeredObject":{"name":"nodeDecodeFilter","type":"propertyDef","startIndex":7099,"stopIndex":7656,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":268}},"269":{"registeredObject":{"name":"fromJSONAttribute","type":"propertyDef","startIndex":7659,"stopIndex":7787,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":269}},"270":{"registeredObject":{"name":"needsJSONEncoding","type":"propertyDef","startIndex":7794,"stopIndex":8073,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":270}},"271":{"registeredObject":{"name":"quoteCDATAEndSequence","type":"propertyDef","startIndex":8076,"stopIndex":8336,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":271}},"272":{"registeredObject":{"name":"encodeProperty","type":"propertyDef","startIndex":8339,"stopIndex":10232,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":272}},"273":{"registeredObject":{"name":"isJSONConformant","type":"propertyDef","startIndex":10239,"stopIndex":10800,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":260},"_owner":{"__isSmartRef__":true,"id":258},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":273}},"274":{"registeredObject":{"name":null,"type":"comment","startIndex":10804,"stopIndex":10805,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":274}},"275":{"registeredObject":{"name":"Global.NodeFactory","type":"objectDef","startIndex":10806,"stopIndex":11909,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":276},{"__isSmartRef__":true,"id":278},{"__isSmartRef__":true,"id":279},{"__isSmartRef__":true,"id":280},{"__isSmartRef__":true,"id":281},{"__isSmartRef__":true,"id":282},{"__isSmartRef__":true,"id":283},{"__isSmartRef__":true,"id":284}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":275}},"276":{"registeredObject":{"name":"createNS","type":"propertyDef","startIndex":10830,"stopIndex":10995,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":276}},"277":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":21,"stopIndex":1101,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":276},{"__isSmartRef__":true,"id":278},{"__isSmartRef__":true,"id":279},{"__isSmartRef__":true,"id":280},{"__isSmartRef__":true,"id":281},{"__isSmartRef__":true,"id":282},{"__isSmartRef__":true,"id":283},{"__isSmartRef__":true,"id":284}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":277}},"278":{"registeredObject":{"name":"create","type":"propertyDef","startIndex":10998,"stopIndex":11243,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":278}},"279":{"registeredObject":{"name":"extend","type":"propertyDef","startIndex":11246,"stopIndex":11485,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":279}},"280":{"registeredObject":{"name":"createText","type":"propertyDef","startIndex":11488,"stopIndex":11576,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":280}},"281":{"registeredObject":{"name":"createNL","type":"propertyDef","startIndex":11583,"stopIndex":11667,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":281}},"282":{"registeredObject":{"name":"createCDATA","type":"propertyDef","startIndex":11670,"stopIndex":11763,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":282}},"283":{"registeredObject":{"name":"CDATAType","type":"propertyDef","startIndex":11766,"stopIndex":11838,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":283}},"284":{"registeredObject":{"name":"TextType","type":"propertyDef","startIndex":11842,"stopIndex":11906,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":277},"_owner":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":284}},"285":{"registeredObject":{"name":null,"type":"comment","startIndex":11910,"stopIndex":11910,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":285}},"286":{"registeredObject":{"name":"Global.XLinkNS","type":"objectDef","startIndex":11911,"stopIndex":12394,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":287},{"__isSmartRef__":true,"id":289},{"__isSmartRef__":true,"id":290}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":286}},"287":{"registeredObject":{"name":"create","type":"propertyDef","startIndex":11930,"stopIndex":12192,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":288},"_owner":{"__isSmartRef__":true,"id":286},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":287}},"288":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":17,"stopIndex":481,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":287},{"__isSmartRef__":true,"id":289},{"__isSmartRef__":true,"id":290}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":288}},"289":{"registeredObject":{"name":"setHref","type":"propertyDef","startIndex":12194,"stopIndex":12295,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":288},"_owner":{"__isSmartRef__":true,"id":286},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":289}},"290":{"registeredObject":{"name":"getHref","type":"propertyDef","startIndex":12302,"stopIndex":12391,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":288},"_owner":{"__isSmartRef__":true,"id":286},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":290}},"291":{"registeredObject":{"name":null,"type":"comment","startIndex":12395,"stopIndex":12395,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":291}},"292":{"registeredObject":{"name":"Global.LivelyNS","type":"objectDef","startIndex":12396,"stopIndex":13337,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":293},{"__isSmartRef__":true,"id":295},{"__isSmartRef__":true,"id":296},{"__isSmartRef__":true,"id":297},{"__isSmartRef__":true,"id":298},{"__isSmartRef__":true,"id":299},{"__isSmartRef__":true,"id":300}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":292}},"293":{"registeredObject":{"name":"prefix","type":"propertyDef","startIndex":12417,"stopIndex":12435,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":294},"_owner":{"__isSmartRef__":true,"id":292},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":293}},"294":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":18,"stopIndex":939,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":293},{"__isSmartRef__":true,"id":295},{"__isSmartRef__":true,"id":296},{"__isSmartRef__":true,"id":297},{"__isSmartRef__":true,"id":298},{"__isSmartRef__":true,"id":299},{"__isSmartRef__":true,"id":300}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":294}},"295":{"registeredObject":{"name":"create","type":"propertyDef","startIndex":12438,"stopIndex":12589,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":294},"_owner":{"__isSmartRef__":true,"id":292},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":295}},"296":{"registeredObject":{"name":"getAttribute","type":"propertyDef","startIndex":12592,"stopIndex":12824,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":294},"_owner":{"__isSmartRef__":true,"id":292},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":296}},"297":{"registeredObject":{"name":"removeAttribute","type":"propertyDef","startIndex":12827,"stopIndex":12956,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":294},"_owner":{"__isSmartRef__":true,"id":292},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":297}},"298":{"registeredObject":{"name":"setAttribute","type":"propertyDef","startIndex":12959,"stopIndex":13104,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":294},"_owner":{"__isSmartRef__":true,"id":292},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":298}},"299":{"registeredObject":{"name":"getType","type":"propertyDef","startIndex":13107,"stopIndex":13221,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":294},"_owner":{"__isSmartRef__":true,"id":292},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":299}},"300":{"registeredObject":{"name":"setType","type":"propertyDef","startIndex":13224,"stopIndex":13333,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":294},"_owner":{"__isSmartRef__":true,"id":292},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":300}},"301":{"registeredObject":{"name":null,"type":"comment","startIndex":13338,"stopIndex":13338,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":301}},"302":{"registeredObject":{"name":"Global.XHTMLNS","type":"objectDef","startIndex":13339,"stopIndex":14001,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":303},{"__isSmartRef__":true,"id":305},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":308},{"__isSmartRef__":true,"id":309}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":302}},"303":{"registeredObject":{"name":"create","type":"propertyDef","startIndex":13359,"stopIndex":13465,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":304},"_owner":{"__isSmartRef__":true,"id":302},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":303}},"304":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":17,"stopIndex":660,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":303},{"__isSmartRef__":true,"id":305},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":308},{"__isSmartRef__":true,"id":309}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":304}},"305":{"registeredObject":{"name":"getAttribute","type":"propertyDef","startIndex":13468,"stopIndex":13630,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":304},"_owner":{"__isSmartRef__":true,"id":302},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":305}},"306":{"registeredObject":{"name":"removeAttribute","type":"propertyDef","startIndex":13633,"stopIndex":13721,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":304},"_owner":{"__isSmartRef__":true,"id":302},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":306}},"307":{"registeredObject":{"name":"setAttribute","type":"propertyDef","startIndex":13724,"stopIndex":13813,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":304},"_owner":{"__isSmartRef__":true,"id":302},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":307}},"308":{"registeredObject":{"name":"getType","type":"propertyDef","startIndex":13816,"stopIndex":13901,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":304},"_owner":{"__isSmartRef__":true,"id":302},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":308}},"309":{"registeredObject":{"name":"setType","type":"propertyDef","startIndex":13904,"stopIndex":13998,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":304},"_owner":{"__isSmartRef__":true,"id":302},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":309}},"310":{"registeredObject":{"name":null,"type":"comment","startIndex":14002,"stopIndex":14002,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":310}},"311":{"registeredObject":{"name":"addRecordStuffToWrapper","type":"functionDef","startIndex":14003,"stopIndex":14210,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":311}},"312":{"registeredObject":{"name":null,"type":"comment","startIndex":14211,"stopIndex":14213,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":312}},"313":{"registeredObject":{"name":null,"type":"unknown","startIndex":14214,"stopIndex":14264,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":313}},"314":{"registeredObject":{"name":null,"type":"comment","startIndex":14265,"stopIndex":14801,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":314}},"315":{"registeredObject":{"name":"setupEvent","type":"functionDef","startIndex":14802,"stopIndex":20307,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":315}},"316":{"registeredObject":{"name":null,"type":"comment","startIndex":20308,"stopIndex":20308,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":316}},"317":{"registeredObject":{"name":"Global","type":"klassExtensionDef","startIndex":20309,"stopIndex":20870,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":318}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":319}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":317}},"318":{"registeredObject":{"name":"equals","type":"propertyDef","startIndex":20333,"stopIndex":20864,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":319},"className":"Global","_owner":{"__isSmartRef__":true,"id":317},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":318}},"319":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":20331,"stopIndex":20867,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":318}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":319}},"320":{"registeredObject":{"name":null,"type":"comment","startIndex":20871,"stopIndex":20872,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":320}},"321":{"registeredObject":{"name":"Exporter","type":"klassDef","startIndex":20873,"stopIndex":22302,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":322},{"__isSmartRef__":true,"id":324},{"__isSmartRef__":true,"id":325},{"__isSmartRef__":true,"id":326},{"__isSmartRef__":true,"id":327},{"__isSmartRef__":true,"id":328}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":323}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":321}},"322":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":20903,"stopIndex":20968,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":323},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":321},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":322}},"323":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":20901,"stopIndex":22299,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":322},{"__isSmartRef__":true,"id":324},{"__isSmartRef__":true,"id":325},{"__isSmartRef__":true,"id":326},{"__isSmartRef__":true,"id":327},{"__isSmartRef__":true,"id":328}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":323}},"324":{"registeredObject":{"name":"rootMorph","type":"propertyDef","startIndex":20971,"stopIndex":20990,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":323},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":321},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":324}},"325":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":20993,"stopIndex":21144,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":323},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":321},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":325}},"326":{"registeredObject":{"name":"extendForSerialization","type":"propertyDef","startIndex":21147,"stopIndex":21831,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":323},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":321},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":326}},"327":{"registeredObject":{"name":"removeHelperNodes","type":"propertyDef","startIndex":21834,"stopIndex":21992,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":323},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":321},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":327}},"328":{"registeredObject":{"name":"serialize","type":"propertyDef","startIndex":21996,"stopIndex":22297,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":323},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":321},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":328}},"329":{"registeredObject":{"name":null,"type":"comment","startIndex":22303,"stopIndex":22303,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":329}},"330":{"registeredObject":{"name":"Exporter","type":"klassExtensionDef","startIndex":22304,"stopIndex":26088,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":331},{"__isSmartRef__":true,"id":333},{"__isSmartRef__":true,"id":334},{"__isSmartRef__":true,"id":335},{"__isSmartRef__":true,"id":336},{"__isSmartRef__":true,"id":337},{"__isSmartRef__":true,"id":338},{"__isSmartRef__":true,"id":339},{"__isSmartRef__":true,"id":340},{"__isSmartRef__":true,"id":341},{"__isSmartRef__":true,"id":342}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":332}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":330}},"331":{"registeredObject":{"name":"stringify","type":"propertyDef","startIndex":22331,"stopIndex":22430,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":331}},"332":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":22328,"stopIndex":26085,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":331},{"__isSmartRef__":true,"id":333},{"__isSmartRef__":true,"id":334},{"__isSmartRef__":true,"id":335},{"__isSmartRef__":true,"id":336},{"__isSmartRef__":true,"id":337},{"__isSmartRef__":true,"id":338},{"__isSmartRef__":true,"id":339},{"__isSmartRef__":true,"id":340},{"__isSmartRef__":true,"id":341},{"__isSmartRef__":true,"id":342}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":332}},"333":{"registeredObject":{"name":"stringifyArray","type":"propertyDef","startIndex":22433,"stopIndex":22553,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":333}},"334":{"registeredObject":{"name":"shrinkWrapNode","type":"propertyDef","startIndex":22556,"stopIndex":22847,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":334}},"335":{"registeredObject":{"name":"shrinkWrapMorph","type":"propertyDef","startIndex":22850,"stopIndex":23631,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":335}},"336":{"registeredObject":{"name":"stripEpimorphs","type":"propertyDef","startIndex":23635,"stopIndex":23813,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":336}},"337":{"registeredObject":{"name":"stripIgnoredMorphs","type":"propertyDef","startIndex":23817,"stopIndex":24007,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":337}},"338":{"registeredObject":{"name":"stripMorphsOfFields","type":"propertyDef","startIndex":24011,"stopIndex":24230,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":338}},"339":{"registeredObject":{"name":"addSystemDictionary","type":"propertyDef","startIndex":24234,"stopIndex":24588,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":339}},"340":{"registeredObject":{"name":"saveDocumentToFile","type":"propertyDef","startIndex":24591,"stopIndex":25572,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":340}},"341":{"registeredObject":{"name":"showSaveStatus","type":"propertyDef","startIndex":25575,"stopIndex":25962,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":341}},"342":{"registeredObject":{"name":"saveNodeToFile","type":"propertyDef","startIndex":25966,"stopIndex":26084,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":332},"className":"Exporter","_owner":{"__isSmartRef__":true,"id":330},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":342}},"343":{"registeredObject":{"name":null,"type":"comment","startIndex":26089,"stopIndex":26089,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":343}},"344":{"registeredObject":{"name":"Copier","type":"klassDef","startIndex":26090,"stopIndex":31397,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":345},{"__isSmartRef__":true,"id":347},{"__isSmartRef__":true,"id":348},{"__isSmartRef__":true,"id":349},{"__isSmartRef__":true,"id":350},{"__isSmartRef__":true,"id":351},{"__isSmartRef__":true,"id":352},{"__isSmartRef__":true,"id":353},{"__isSmartRef__":true,"id":354},{"__isSmartRef__":true,"id":355},{"__isSmartRef__":true,"id":356},{"__isSmartRef__":true,"id":357},{"__isSmartRef__":true,"id":358},{"__isSmartRef__":true,"id":359},{"__isSmartRef__":true,"id":360},{"__isSmartRef__":true,"id":361},{"__isSmartRef__":true,"id":362},{"__isSmartRef__":true,"id":363},{"__isSmartRef__":true,"id":364}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":346}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":344}},"345":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":26118,"stopIndex":26179,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":345}},"346":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":26116,"stopIndex":31392,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":345},{"__isSmartRef__":true,"id":347},{"__isSmartRef__":true,"id":348},{"__isSmartRef__":true,"id":349},{"__isSmartRef__":true,"id":350},{"__isSmartRef__":true,"id":351},{"__isSmartRef__":true,"id":352},{"__isSmartRef__":true,"id":353},{"__isSmartRef__":true,"id":354},{"__isSmartRef__":true,"id":355},{"__isSmartRef__":true,"id":356},{"__isSmartRef__":true,"id":357},{"__isSmartRef__":true,"id":358},{"__isSmartRef__":true,"id":359},{"__isSmartRef__":true,"id":360},{"__isSmartRef__":true,"id":361},{"__isSmartRef__":true,"id":362},{"__isSmartRef__":true,"id":363},{"__isSmartRef__":true,"id":364}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":346}},"347":{"registeredObject":{"name":"isCopier","type":"propertyDef","startIndex":26182,"stopIndex":26197,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":347}},"348":{"registeredObject":{"name":"wrapperMap","type":"propertyDef","startIndex":26201,"stopIndex":26218,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":348}},"349":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":26221,"stopIndex":26271,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":349}},"350":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":26274,"stopIndex":26350,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":350}},"351":{"registeredObject":{"name":"addMapping","type":"propertyDef","startIndex":26353,"stopIndex":26461,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":351}},"352":{"registeredObject":{"name":"lookup","type":"propertyDef","startIndex":26464,"stopIndex":26526,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":352}},"353":{"registeredObject":{"name":"lookUpOrCopy","type":"propertyDef","startIndex":26530,"stopIndex":26869,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":353}},"354":{"registeredObject":{"name":"lookUpOrTakeOriginal","type":"propertyDef","startIndex":26872,"stopIndex":27067,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":354}},"355":{"registeredObject":{"name":"shallowCopyProperties","type":"propertyDef","startIndex":27070,"stopIndex":27204,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":355}},"356":{"registeredObject":{"name":"copyProperties","type":"propertyDef","startIndex":27208,"stopIndex":27328,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":356}},"357":{"registeredObject":{"name":"copyNewProperties","type":"propertyDef","startIndex":27331,"stopIndex":27487,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":357}},"358":{"registeredObject":{"name":"shallowCopyProperty","type":"propertyDef","startIndex":27490,"stopIndex":28113,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":358}},"359":{"registeredObject":{"name":"smartCopyProperty","type":"propertyDef","startIndex":28117,"stopIndex":28532,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":359}},"360":{"registeredObject":{"name":"copyOrPatchProperty","type":"propertyDef","startIndex":28536,"stopIndex":28880,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":360}},"361":{"registeredObject":{"name":"copyProperty","type":"propertyDef","startIndex":28884,"stopIndex":29847,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":361}},"362":{"registeredObject":{"name":"addPatchSite","type":"propertyDef","startIndex":29852,"stopIndex":29969,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":362}},"363":{"registeredObject":{"name":"patchReferences","type":"propertyDef","startIndex":29972,"stopIndex":31335,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":363}},"364":{"registeredObject":{"name":"finish","type":"propertyDef","startIndex":31339,"stopIndex":31389,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":346},"className":"Copier","_owner":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":364}},"365":{"registeredObject":{"name":"Copier","type":"klassExtensionDef","startIndex":31398,"stopIndex":31569,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":366}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":367}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":365}},"366":{"registeredObject":{"name":"marker","type":"propertyDef","startIndex":31422,"stopIndex":31564,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":367},"className":"Copier","_owner":{"__isSmartRef__":true,"id":365},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":366}},"367":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":31420,"stopIndex":31566,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":366}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":367}},"368":{"registeredObject":{"name":null,"type":"comment","startIndex":31570,"stopIndex":31571,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":368}},"369":{"registeredObject":{"name":"Importer","type":"klassDef","startIndex":31572,"stopIndex":37709,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":370},{"__isSmartRef__":true,"id":372},{"__isSmartRef__":true,"id":373},{"__isSmartRef__":true,"id":374},{"__isSmartRef__":true,"id":375},{"__isSmartRef__":true,"id":376},{"__isSmartRef__":true,"id":377},{"__isSmartRef__":true,"id":378},{"__isSmartRef__":true,"id":379},{"__isSmartRef__":true,"id":380},{"__isSmartRef__":true,"id":381},{"__isSmartRef__":true,"id":382},{"__isSmartRef__":true,"id":383},{"__isSmartRef__":true,"id":384},{"__isSmartRef__":true,"id":385},{"__isSmartRef__":true,"id":386},{"__isSmartRef__":true,"id":387},{"__isSmartRef__":true,"id":388},{"__isSmartRef__":true,"id":389},{"__isSmartRef__":true,"id":390}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Copier","categories":[{"__isSmartRef__":true,"id":371}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":369}},"370":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":31602,"stopIndex":31670,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":370}},"371":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":31600,"stopIndex":37706,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":370},{"__isSmartRef__":true,"id":372},{"__isSmartRef__":true,"id":373},{"__isSmartRef__":true,"id":374},{"__isSmartRef__":true,"id":375},{"__isSmartRef__":true,"id":376},{"__isSmartRef__":true,"id":377},{"__isSmartRef__":true,"id":378},{"__isSmartRef__":true,"id":379},{"__isSmartRef__":true,"id":380},{"__isSmartRef__":true,"id":381},{"__isSmartRef__":true,"id":382},{"__isSmartRef__":true,"id":383},{"__isSmartRef__":true,"id":384},{"__isSmartRef__":true,"id":385},{"__isSmartRef__":true,"id":386},{"__isSmartRef__":true,"id":387},{"__isSmartRef__":true,"id":388},{"__isSmartRef__":true,"id":389},{"__isSmartRef__":true,"id":390}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":371}},"372":{"registeredObject":{"name":"isImporter","type":"propertyDef","startIndex":31673,"stopIndex":31690,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":372}},"373":{"registeredObject":{"name":"verbose","type":"propertyDef","startIndex":31694,"stopIndex":31729,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":373}},"374":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":31736,"stopIndex":31782,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":374}},"375":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":31785,"stopIndex":31896,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":375}},"376":{"registeredObject":{"name":"canvas","type":"propertyDef","startIndex":31899,"stopIndex":31950,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":376}},"377":{"registeredObject":{"name":"getBaseDocument","type":"propertyDef","startIndex":31953,"stopIndex":32380,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":377}},"378":{"registeredObject":{"name":"canvasContent","type":"propertyDef","startIndex":32388,"stopIndex":32661,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":378}},"379":{"registeredObject":{"name":"clearCanvas","type":"propertyDef","startIndex":32664,"stopIndex":32903,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":379}},"380":{"registeredObject":{"name":"startScripts","type":"propertyDef","startIndex":32906,"stopIndex":33179,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":380}},"381":{"registeredObject":{"name":"importWrapperFromNode","type":"propertyDef","startIndex":33190,"stopIndex":34242,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":381}},"382":{"registeredObject":{"name":"importWrapperFromString","type":"propertyDef","startIndex":34245,"stopIndex":34355,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":382}},"383":{"registeredObject":{"name":"parse","type":"propertyDef","startIndex":34358,"stopIndex":34710,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":383}},"384":{"registeredObject":{"name":"importFromNodeList","type":"propertyDef","startIndex":34713,"stopIndex":35100,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":384}},"385":{"registeredObject":{"name":"finishImport","type":"propertyDef","startIndex":35103,"stopIndex":35320,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":385}},"386":{"registeredObject":{"name":"hookupModels","type":"propertyDef","startIndex":35323,"stopIndex":35596,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":386}},"387":{"registeredObject":{"name":"runDeserializationHooks","type":"propertyDef","startIndex":35599,"stopIndex":36018,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":387}},"388":{"registeredObject":{"name":"loadWorldInSubworld","type":"propertyDef","startIndex":36022,"stopIndex":36634,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":388}},"389":{"registeredObject":{"name":"loadWorldContentsInCurrent","type":"propertyDef","startIndex":36637,"stopIndex":36862,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":389}},"390":{"registeredObject":{"name":"loadWorldContents","type":"propertyDef","startIndex":36869,"stopIndex":37705,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":371},"className":"Importer","_owner":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":390}},"391":{"registeredObject":{"name":null,"type":"comment","startIndex":37710,"stopIndex":37710,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":391}},"392":{"registeredObject":{"name":"Importer","type":"klassExtensionDef","startIndex":37711,"stopIndex":37849,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":393}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":394}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":392}},"393":{"registeredObject":{"name":"marker","type":"propertyDef","startIndex":37737,"stopIndex":37844,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":394},"className":"Importer","_owner":{"__isSmartRef__":true,"id":392},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":393}},"394":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":37735,"stopIndex":37846,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":393}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":394}},"395":{"registeredObject":{"name":null,"type":"comment","startIndex":37850,"stopIndex":37851,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":395}},"396":{"registeredObject":{"name":"Function","type":"klassExtensionDef","startIndex":37852,"stopIndex":38384,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":397},{"__isSmartRef__":true,"id":399},{"__isSmartRef__":true,"id":400},{"__isSmartRef__":true,"id":401}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":398}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":396}},"397":{"registeredObject":{"name":"toLiteral","type":"propertyDef","startIndex":37892,"stopIndex":37951,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":398},"className":"Function","_owner":{"__isSmartRef__":true,"id":396},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":397}},"398":{"registeredObject":{"name":"serialization","type":"categoryDef","startIndex":37873,"stopIndex":38381,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":397},{"__isSmartRef__":true,"id":399},{"__isSmartRef__":true,"id":400},{"__isSmartRef__":true,"id":401}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":398}},"399":{"registeredObject":{"name":"unbind","type":"propertyDef","startIndex":37953,"stopIndex":38055,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":398},"className":"Function","_owner":{"__isSmartRef__":true,"id":396},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":399}},"400":{"registeredObject":{"name":"asScript","type":"propertyDef","startIndex":38057,"stopIndex":38162,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":398},"className":"Function","_owner":{"__isSmartRef__":true,"id":396},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":400}},"401":{"registeredObject":{"name":"asScriptOf","type":"propertyDef","startIndex":38164,"stopIndex":38379,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":398},"className":"Function","_owner":{"__isSmartRef__":true,"id":396},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":401}},"402":{"registeredObject":{"name":null,"type":"comment","startIndex":38385,"stopIndex":38385,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":402}},"403":{"registeredObject":{"name":"Function","type":"klassExtensionDef","startIndex":38386,"stopIndex":38598,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":404},{"__isSmartRef__":true,"id":406}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":405}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":403}},"404":{"registeredObject":{"name":"fromString","type":"propertyDef","startIndex":38412,"stopIndex":38504,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":405},"className":"Function","_owner":{"__isSmartRef__":true,"id":403},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":404}},"405":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":38410,"stopIndex":38595,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":404},{"__isSmartRef__":true,"id":406}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":405}},"406":{"registeredObject":{"name":"fromLiteral","type":"propertyDef","startIndex":38507,"stopIndex":38593,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":405},"className":"Function","_owner":{"__isSmartRef__":true,"id":403},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":406}},"407":{"registeredObject":{"name":null,"type":"comment","startIndex":38599,"stopIndex":38782,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":407}},"408":{"registeredObject":{"name":"MouseHandlerForDragging","type":"klassDef","startIndex":38783,"stopIndex":39329,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":409},{"__isSmartRef__":true,"id":411}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":410}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":408}},"409":{"registeredObject":{"name":"handleMouseEvent","type":"propertyDef","startIndex":38829,"stopIndex":39285,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":410},"className":"MouseHandlerForDragging","_owner":{"__isSmartRef__":true,"id":408},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":409}},"410":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":38826,"stopIndex":39326,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":409},{"__isSmartRef__":true,"id":411}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":410}},"411":{"registeredObject":{"name":"handlesMouseDown","type":"propertyDef","startIndex":39288,"stopIndex":39325,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":410},"className":"MouseHandlerForDragging","_owner":{"__isSmartRef__":true,"id":408},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":411}},"412":{"registeredObject":{"name":null,"type":"comment","startIndex":39330,"stopIndex":39330,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":412}},"413":{"registeredObject":{"name":"MouseHandlerForRelay","type":"klassDef","startIndex":39331,"stopIndex":40293,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":414},{"__isSmartRef__":true,"id":416},{"__isSmartRef__":true,"id":417},{"__isSmartRef__":true,"id":418}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":415}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":413}},"414":{"registeredObject":{"name":"defaultEventSpec","type":"propertyDef","startIndex":39374,"stopIndex":39473,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":415},"className":"MouseHandlerForRelay","_owner":{"__isSmartRef__":true,"id":413},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":414}},"415":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":39371,"stopIndex":40290,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":414},{"__isSmartRef__":true,"id":416},{"__isSmartRef__":true,"id":417},{"__isSmartRef__":true,"id":418}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":415}},"416":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":39477,"stopIndex":39765,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":415},"className":"MouseHandlerForRelay","_owner":{"__isSmartRef__":true,"id":413},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":416}},"417":{"registeredObject":{"name":"handleMouseEvent","type":"propertyDef","startIndex":39768,"stopIndex":40249,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":415},"className":"MouseHandlerForRelay","_owner":{"__isSmartRef__":true,"id":413},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":417}},"418":{"registeredObject":{"name":"handlesMouseDown","type":"propertyDef","startIndex":40252,"stopIndex":40289,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":415},"className":"MouseHandlerForRelay","_owner":{"__isSmartRef__":true,"id":413},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":418}},"419":{"registeredObject":{"name":null,"type":"comment","startIndex":40294,"stopIndex":40318,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":419}},"420":{"registeredObject":{"name":"Morph","type":"klassDef","startIndex":40319,"stopIndex":40357,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"lively.data.Wrapper","categories":[],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":420}},"421":{"registeredObject":{"name":null,"type":"comment","startIndex":40358,"stopIndex":40358,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":421}},"422":{"registeredObject":{"name":"Morph","type":"klassExtensionDef","startIndex":40359,"stopIndex":45178,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":423},{"__isSmartRef__":true,"id":425},{"__isSmartRef__":true,"id":426},{"__isSmartRef__":true,"id":427},{"__isSmartRef__":true,"id":428},{"__isSmartRef__":true,"id":429},{"__isSmartRef__":true,"id":430},{"__isSmartRef__":true,"id":431},{"__isSmartRef__":true,"id":432},{"__isSmartRef__":true,"id":433}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":424}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":422}},"423":{"registeredObject":{"name":"onLayoutChange","type":"propertyDef","startIndex":40382,"stopIndex":40856,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":423}},"424":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":40380,"stopIndex":45175,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":423},{"__isSmartRef__":true,"id":425},{"__isSmartRef__":true,"id":426},{"__isSmartRef__":true,"id":427},{"__isSmartRef__":true,"id":428},{"__isSmartRef__":true,"id":429},{"__isSmartRef__":true,"id":430},{"__isSmartRef__":true,"id":431},{"__isSmartRef__":true,"id":432},{"__isSmartRef__":true,"id":433}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":424}},"425":{"registeredObject":{"name":"fromLiteral","type":"propertyDef","startIndex":40859,"stopIndex":41174,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":425}},"426":{"registeredObject":{"name":"makeLine","type":"propertyDef","startIndex":41177,"stopIndex":41608,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":426}},"427":{"registeredObject":{"name":"makeCircle","type":"propertyDef","startIndex":41611,"stopIndex":41944,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":427}},"428":{"registeredObject":{"name":"makeEllipse","type":"propertyDef","startIndex":41947,"stopIndex":42225,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":428}},"429":{"registeredObject":{"name":"makeRectangle","type":"propertyDef","startIndex":42228,"stopIndex":42952,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":429}},"430":{"registeredObject":{"name":"makePolygon","type":"propertyDef","startIndex":42955,"stopIndex":43275,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":430}},"431":{"registeredObject":{"name":"makeStar","type":"propertyDef","startIndex":43278,"stopIndex":43772,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":431}},"432":{"registeredObject":{"name":"makeCurve","type":"propertyDef","startIndex":43776,"stopIndex":44608,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":432}},"433":{"registeredObject":{"name":"makeHeart","type":"propertyDef","startIndex":44611,"stopIndex":45173,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":424},"className":"Morph","_owner":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":433}},"434":{"registeredObject":{"name":null,"type":"comment","startIndex":45179,"stopIndex":45179,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":434}},"435":{"registeredObject":{"name":"Morph","type":"klassExtensionDef","startIndex":45180,"stopIndex":128642,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":436},{"__isSmartRef__":true,"id":438},{"__isSmartRef__":true,"id":439},{"__isSmartRef__":true,"id":440},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":443},{"__isSmartRef__":true,"id":444},{"__isSmartRef__":true,"id":445},{"__isSmartRef__":true,"id":446},{"__isSmartRef__":true,"id":447},{"__isSmartRef__":true,"id":448},{"__isSmartRef__":true,"id":449},{"__isSmartRef__":true,"id":450},{"__isSmartRef__":true,"id":451},{"__isSmartRef__":true,"id":452},{"__isSmartRef__":true,"id":453},{"__isSmartRef__":true,"id":454},{"__isSmartRef__":true,"id":455},{"__isSmartRef__":true,"id":456},{"__isSmartRef__":true,"id":457},{"__isSmartRef__":true,"id":458},{"__isSmartRef__":true,"id":460},{"__isSmartRef__":true,"id":461},{"__isSmartRef__":true,"id":462},{"__isSmartRef__":true,"id":463},{"__isSmartRef__":true,"id":464},{"__isSmartRef__":true,"id":466},{"__isSmartRef__":true,"id":467},{"__isSmartRef__":true,"id":468},{"__isSmartRef__":true,"id":469},{"__isSmartRef__":true,"id":470},{"__isSmartRef__":true,"id":471},{"__isSmartRef__":true,"id":472},{"__isSmartRef__":true,"id":473},{"__isSmartRef__":true,"id":475},{"__isSmartRef__":true,"id":476},{"__isSmartRef__":true,"id":477},{"__isSmartRef__":true,"id":478},{"__isSmartRef__":true,"id":479},{"__isSmartRef__":true,"id":480},{"__isSmartRef__":true,"id":481},{"__isSmartRef__":true,"id":482},{"__isSmartRef__":true,"id":483},{"__isSmartRef__":true,"id":485},{"__isSmartRef__":true,"id":486},{"__isSmartRef__":true,"id":487},{"__isSmartRef__":true,"id":488},{"__isSmartRef__":true,"id":489},{"__isSmartRef__":true,"id":491},{"__isSmartRef__":true,"id":492},{"__isSmartRef__":true,"id":493},{"__isSmartRef__":true,"id":494},{"__isSmartRef__":true,"id":495},{"__isSmartRef__":true,"id":496},{"__isSmartRef__":true,"id":497},{"__isSmartRef__":true,"id":498},{"__isSmartRef__":true,"id":500},{"__isSmartRef__":true,"id":501},{"__isSmartRef__":true,"id":502},{"__isSmartRef__":true,"id":503},{"__isSmartRef__":true,"id":504},{"__isSmartRef__":true,"id":505},{"__isSmartRef__":true,"id":506},{"__isSmartRef__":true,"id":507},{"__isSmartRef__":true,"id":508},{"__isSmartRef__":true,"id":509},{"__isSmartRef__":true,"id":510},{"__isSmartRef__":true,"id":511},{"__isSmartRef__":true,"id":512},{"__isSmartRef__":true,"id":513},{"__isSmartRef__":true,"id":514},{"__isSmartRef__":true,"id":515},{"__isSmartRef__":true,"id":516},{"__isSmartRef__":true,"id":517},{"__isSmartRef__":true,"id":518},{"__isSmartRef__":true,"id":519},{"__isSmartRef__":true,"id":520},{"__isSmartRef__":true,"id":521},{"__isSmartRef__":true,"id":522},{"__isSmartRef__":true,"id":524},{"__isSmartRef__":true,"id":525},{"__isSmartRef__":true,"id":526},{"__isSmartRef__":true,"id":527},{"__isSmartRef__":true,"id":528},{"__isSmartRef__":true,"id":529},{"__isSmartRef__":true,"id":531},{"__isSmartRef__":true,"id":532},{"__isSmartRef__":true,"id":533},{"__isSmartRef__":true,"id":534},{"__isSmartRef__":true,"id":535},{"__isSmartRef__":true,"id":536},{"__isSmartRef__":true,"id":537},{"__isSmartRef__":true,"id":538},{"__isSmartRef__":true,"id":539},{"__isSmartRef__":true,"id":540},{"__isSmartRef__":true,"id":541},{"__isSmartRef__":true,"id":542},{"__isSmartRef__":true,"id":543},{"__isSmartRef__":true,"id":544},{"__isSmartRef__":true,"id":545},{"__isSmartRef__":true,"id":546},{"__isSmartRef__":true,"id":547},{"__isSmartRef__":true,"id":548},{"__isSmartRef__":true,"id":549},{"__isSmartRef__":true,"id":550},{"__isSmartRef__":true,"id":551},{"__isSmartRef__":true,"id":552},{"__isSmartRef__":true,"id":553},{"__isSmartRef__":true,"id":554},{"__isSmartRef__":true,"id":556},{"__isSmartRef__":true,"id":557},{"__isSmartRef__":true,"id":558},{"__isSmartRef__":true,"id":559},{"__isSmartRef__":true,"id":560},{"__isSmartRef__":true,"id":561},{"__isSmartRef__":true,"id":562},{"__isSmartRef__":true,"id":563},{"__isSmartRef__":true,"id":564},{"__isSmartRef__":true,"id":565},{"__isSmartRef__":true,"id":566},{"__isSmartRef__":true,"id":567},{"__isSmartRef__":true,"id":568},{"__isSmartRef__":true,"id":569},{"__isSmartRef__":true,"id":570},{"__isSmartRef__":true,"id":571},{"__isSmartRef__":true,"id":572},{"__isSmartRef__":true,"id":573},{"__isSmartRef__":true,"id":574},{"__isSmartRef__":true,"id":575},{"__isSmartRef__":true,"id":576},{"__isSmartRef__":true,"id":577},{"__isSmartRef__":true,"id":578},{"__isSmartRef__":true,"id":580},{"__isSmartRef__":true,"id":581},{"__isSmartRef__":true,"id":582},{"__isSmartRef__":true,"id":584},{"__isSmartRef__":true,"id":585},{"__isSmartRef__":true,"id":587},{"__isSmartRef__":true,"id":588},{"__isSmartRef__":true,"id":589},{"__isSmartRef__":true,"id":590},{"__isSmartRef__":true,"id":591},{"__isSmartRef__":true,"id":592},{"__isSmartRef__":true,"id":593},{"__isSmartRef__":true,"id":594},{"__isSmartRef__":true,"id":595},{"__isSmartRef__":true,"id":596},{"__isSmartRef__":true,"id":597},{"__isSmartRef__":true,"id":598},{"__isSmartRef__":true,"id":600},{"__isSmartRef__":true,"id":601},{"__isSmartRef__":true,"id":602},{"__isSmartRef__":true,"id":603},{"__isSmartRef__":true,"id":604},{"__isSmartRef__":true,"id":605},{"__isSmartRef__":true,"id":606},{"__isSmartRef__":true,"id":607},{"__isSmartRef__":true,"id":608},{"__isSmartRef__":true,"id":609},{"__isSmartRef__":true,"id":610},{"__isSmartRef__":true,"id":611},{"__isSmartRef__":true,"id":612},{"__isSmartRef__":true,"id":613},{"__isSmartRef__":true,"id":614},{"__isSmartRef__":true,"id":615},{"__isSmartRef__":true,"id":616},{"__isSmartRef__":true,"id":617},{"__isSmartRef__":true,"id":618},{"__isSmartRef__":true,"id":619},{"__isSmartRef__":true,"id":620},{"__isSmartRef__":true,"id":622},{"__isSmartRef__":true,"id":623},{"__isSmartRef__":true,"id":624},{"__isSmartRef__":true,"id":626},{"__isSmartRef__":true,"id":627},{"__isSmartRef__":true,"id":628},{"__isSmartRef__":true,"id":629},{"__isSmartRef__":true,"id":631},{"__isSmartRef__":true,"id":632},{"__isSmartRef__":true,"id":633},{"__isSmartRef__":true,"id":635},{"__isSmartRef__":true,"id":636},{"__isSmartRef__":true,"id":637},{"__isSmartRef__":true,"id":638},{"__isSmartRef__":true,"id":639},{"__isSmartRef__":true,"id":640},{"__isSmartRef__":true,"id":641},{"__isSmartRef__":true,"id":642},{"__isSmartRef__":true,"id":643},{"__isSmartRef__":true,"id":644},{"__isSmartRef__":true,"id":645},{"__isSmartRef__":true,"id":646},{"__isSmartRef__":true,"id":647},{"__isSmartRef__":true,"id":648},{"__isSmartRef__":true,"id":649},{"__isSmartRef__":true,"id":650},{"__isSmartRef__":true,"id":651},{"__isSmartRef__":true,"id":652},{"__isSmartRef__":true,"id":653},{"__isSmartRef__":true,"id":654},{"__isSmartRef__":true,"id":655},{"__isSmartRef__":true,"id":656},{"__isSmartRef__":true,"id":657},{"__isSmartRef__":true,"id":658},{"__isSmartRef__":true,"id":659},{"__isSmartRef__":true,"id":661},{"__isSmartRef__":true,"id":662},{"__isSmartRef__":true,"id":663},{"__isSmartRef__":true,"id":664},{"__isSmartRef__":true,"id":665},{"__isSmartRef__":true,"id":667},{"__isSmartRef__":true,"id":668},{"__isSmartRef__":true,"id":669},{"__isSmartRef__":true,"id":670},{"__isSmartRef__":true,"id":671},{"__isSmartRef__":true,"id":672},{"__isSmartRef__":true,"id":673},{"__isSmartRef__":true,"id":674},{"__isSmartRef__":true,"id":675},{"__isSmartRef__":true,"id":676},{"__isSmartRef__":true,"id":677},{"__isSmartRef__":true,"id":678},{"__isSmartRef__":true,"id":679},{"__isSmartRef__":true,"id":680},{"__isSmartRef__":true,"id":681},{"__isSmartRef__":true,"id":682},{"__isSmartRef__":true,"id":683},{"__isSmartRef__":true,"id":684},{"__isSmartRef__":true,"id":685},{"__isSmartRef__":true,"id":686},{"__isSmartRef__":true,"id":687},{"__isSmartRef__":true,"id":688},{"__isSmartRef__":true,"id":689},{"__isSmartRef__":true,"id":690},{"__isSmartRef__":true,"id":692},{"__isSmartRef__":true,"id":693},{"__isSmartRef__":true,"id":694},{"__isSmartRef__":true,"id":695},{"__isSmartRef__":true,"id":696},{"__isSmartRef__":true,"id":697},{"__isSmartRef__":true,"id":698},{"__isSmartRef__":true,"id":699},{"__isSmartRef__":true,"id":700},{"__isSmartRef__":true,"id":701},{"__isSmartRef__":true,"id":703},{"__isSmartRef__":true,"id":704},{"__isSmartRef__":true,"id":705},{"__isSmartRef__":true,"id":706},{"__isSmartRef__":true,"id":707},{"__isSmartRef__":true,"id":708},{"__isSmartRef__":true,"id":709},{"__isSmartRef__":true,"id":710},{"__isSmartRef__":true,"id":711},{"__isSmartRef__":true,"id":712},{"__isSmartRef__":true,"id":713},{"__isSmartRef__":true,"id":714},{"__isSmartRef__":true,"id":716},{"__isSmartRef__":true,"id":717},{"__isSmartRef__":true,"id":718},{"__isSmartRef__":true,"id":719},{"__isSmartRef__":true,"id":720},{"__isSmartRef__":true,"id":721},{"__isSmartRef__":true,"id":722},{"__isSmartRef__":true,"id":723},{"__isSmartRef__":true,"id":724},{"__isSmartRef__":true,"id":726},{"__isSmartRef__":true,"id":727},{"__isSmartRef__":true,"id":729},{"__isSmartRef__":true,"id":730},{"__isSmartRef__":true,"id":731},{"__isSmartRef__":true,"id":732},{"__isSmartRef__":true,"id":733},{"__isSmartRef__":true,"id":734}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":437},{"__isSmartRef__":true,"id":459},{"__isSmartRef__":true,"id":465},{"__isSmartRef__":true,"id":474},{"__isSmartRef__":true,"id":484},{"__isSmartRef__":true,"id":490},{"__isSmartRef__":true,"id":499},{"__isSmartRef__":true,"id":523},{"__isSmartRef__":true,"id":530},{"__isSmartRef__":true,"id":555},{"__isSmartRef__":true,"id":579},{"__isSmartRef__":true,"id":583},{"__isSmartRef__":true,"id":586},{"__isSmartRef__":true,"id":599},{"__isSmartRef__":true,"id":621},{"__isSmartRef__":true,"id":625},{"__isSmartRef__":true,"id":630},{"__isSmartRef__":true,"id":634},{"__isSmartRef__":true,"id":660},{"__isSmartRef__":true,"id":666},{"__isSmartRef__":true,"id":691},{"__isSmartRef__":true,"id":702},{"__isSmartRef__":true,"id":715},{"__isSmartRef__":true,"id":725},{"__isSmartRef__":true,"id":728},{"__isSmartRef__":true,"id":735}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":435}},"436":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":45211,"stopIndex":45298,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":436}},"437":{"registeredObject":{"name":"settings","type":"categoryDef","startIndex":45197,"stopIndex":46689,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":436},{"__isSmartRef__":true,"id":438},{"__isSmartRef__":true,"id":439},{"__isSmartRef__":true,"id":440},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":443},{"__isSmartRef__":true,"id":444},{"__isSmartRef__":true,"id":445},{"__isSmartRef__":true,"id":446},{"__isSmartRef__":true,"id":447},{"__isSmartRef__":true,"id":448},{"__isSmartRef__":true,"id":449},{"__isSmartRef__":true,"id":450},{"__isSmartRef__":true,"id":451},{"__isSmartRef__":true,"id":452},{"__isSmartRef__":true,"id":453},{"__isSmartRef__":true,"id":454},{"__isSmartRef__":true,"id":455},{"__isSmartRef__":true,"id":456},{"__isSmartRef__":true,"id":457}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":437}},"438":{"registeredObject":{"name":"doNotSerialize","type":"propertyDef","startIndex":45302,"stopIndex":45333,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":438}},"439":{"registeredObject":{"name":"name","type":"propertyDef","startIndex":45336,"stopIndex":45367,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":439}},"440":{"registeredObject":{"name":"rotation","type":"propertyDef","startIndex":45369,"stopIndex":45386,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":440}},"441":{"registeredObject":{"name":"scalePoint","type":"propertyDef","startIndex":45388,"stopIndex":45411,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":441}},"442":{"registeredObject":{"name":"style","type":"propertyDef","startIndex":45414,"stopIndex":45427,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":442}},"443":{"registeredObject":{"name":"focusHaloBorderWidth","type":"propertyDef","startIndex":45430,"stopIndex":45457,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":443}},"444":{"registeredObject":{"name":"fishEye","type":"propertyDef","startIndex":45460,"stopIndex":45478,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":444}},"445":{"registeredObject":{"name":"fisheyeScale","type":"propertyDef","startIndex":45479,"stopIndex":45545,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":445}},"446":{"registeredObject":{"name":"fisheyeGrowth","type":"propertyDef","startIndex":45546,"stopIndex":45607,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":446}},"447":{"registeredObject":{"name":"fisheyeProximity","type":"propertyDef","startIndex":45608,"stopIndex":45692,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":447}},"448":{"registeredObject":{"name":"keyboardHandler","type":"propertyDef","startIndex":45749,"stopIndex":45774,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":448}},"449":{"registeredObject":{"name":"layoutHandler","type":"propertyDef","startIndex":45775,"stopIndex":45846,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":449}},"450":{"registeredObject":{"name":"openForDragAndDrop","type":"propertyDef","startIndex":45847,"stopIndex":45933,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":450}},"451":{"registeredObject":{"name":"mouseHandler","type":"propertyDef","startIndex":45934,"stopIndex":46040,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":451}},"452":{"registeredObject":{"name":"noShallowCopyProperties","type":"propertyDef","startIndex":46087,"stopIndex":46247,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":452}},"453":{"registeredObject":{"name":"doNotCopyProperties","type":"propertyDef","startIndex":46251,"stopIndex":46388,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":453}},"454":{"registeredObject":{"name":"isEpimorph","type":"propertyDef","startIndex":46391,"stopIndex":46412,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":454}},"455":{"registeredObject":{"name":"ignoreWhenCopying","type":"propertyDef","startIndex":46413,"stopIndex":46516,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":455}},"456":{"registeredObject":{"name":"suppressBalloonHelp","type":"propertyDef","startIndex":46578,"stopIndex":46629,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":456}},"457":{"registeredObject":{"name":"nextNavigableSibling","type":"propertyDef","startIndex":46632,"stopIndex":46662,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":437},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":457}},"458":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":46710,"stopIndex":47226,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":459},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":458}},"459":{"registeredObject":{"name":"initializing","type":"categoryDef","startIndex":46691,"stopIndex":48444,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":458},{"__isSmartRef__":true,"id":460},{"__isSmartRef__":true,"id":461},{"__isSmartRef__":true,"id":462},{"__isSmartRef__":true,"id":463}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":459}},"460":{"registeredObject":{"name":"createRawNode","type":"propertyDef","startIndex":47229,"stopIndex":47290,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":459},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":460}},"461":{"registeredObject":{"name":"internalInitialize","type":"propertyDef","startIndex":47295,"stopIndex":47528,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":459},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":461}},"462":{"registeredObject":{"name":"initializePersistentState","type":"propertyDef","startIndex":47531,"stopIndex":48020,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":459},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":462}},"463":{"registeredObject":{"name":"initializeTransientState","type":"propertyDef","startIndex":48023,"stopIndex":48440,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":459},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":463}},"464":{"registeredObject":{"name":"okToDuplicate","type":"propertyDef","startIndex":48460,"stopIndex":48490,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":464}},"465":{"registeredObject":{"name":"copying","type":"categoryDef","startIndex":48446,"stopIndex":52523,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":464},{"__isSmartRef__":true,"id":466},{"__isSmartRef__":true,"id":467},{"__isSmartRef__":true,"id":468},{"__isSmartRef__":true,"id":469},{"__isSmartRef__":true,"id":470},{"__isSmartRef__":true,"id":471},{"__isSmartRef__":true,"id":472}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":465}},"466":{"registeredObject":{"name":"shallowCopy","type":"propertyDef","startIndex":48512,"stopIndex":48694,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":466}},"467":{"registeredObject":{"name":"duplicate","type":"propertyDef","startIndex":48697,"stopIndex":48916,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":467}},"468":{"registeredObject":{"name":"copySubmorphsFrom","type":"propertyDef","startIndex":48924,"stopIndex":49535,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":468}},"469":{"registeredObject":{"name":"copyAttributesFrom","type":"propertyDef","startIndex":49539,"stopIndex":51015,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":469}},"470":{"registeredObject":{"name":"copyActiveScriptsFrom","type":"propertyDef","startIndex":51018,"stopIndex":51437,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":470}},"471":{"registeredObject":{"name":"copyModelFrom","type":"propertyDef","startIndex":51440,"stopIndex":51762,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":471}},"472":{"registeredObject":{"name":"copyFrom","type":"propertyDef","startIndex":51765,"stopIndex":52519,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":465},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":472}},"473":{"registeredObject":{"name":"deserialize","type":"propertyDef","startIndex":52546,"stopIndex":53208,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":473}},"474":{"registeredObject":{"name":"serialization","type":"categoryDef","startIndex":52525,"stopIndex":58870,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":473},{"__isSmartRef__":true,"id":475},{"__isSmartRef__":true,"id":476},{"__isSmartRef__":true,"id":477},{"__isSmartRef__":true,"id":478},{"__isSmartRef__":true,"id":479},{"__isSmartRef__":true,"id":480},{"__isSmartRef__":true,"id":481},{"__isSmartRef__":true,"id":482}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":474}},"475":{"registeredObject":{"name":"prepareForSerialization","type":"propertyDef","startIndex":53211,"stopIndex":53874,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":475}},"476":{"registeredObject":{"name":"restorePersistentState","type":"propertyDef","startIndex":53881,"stopIndex":54175,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":476}},"477":{"registeredObject":{"name":"restoreFromSubnode","type":"propertyDef","startIndex":54178,"stopIndex":54245,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":477}},"478":{"registeredObject":{"name":"restoreFromDefsNode","type":"propertyDef","startIndex":54248,"stopIndex":54690,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":478}},"479":{"registeredObject":{"name":"restoreFromSubnodes","type":"propertyDef","startIndex":54693,"stopIndex":57679,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":479}},"480":{"registeredObject":{"name":"resolveUriToObject","type":"propertyDef","startIndex":57682,"stopIndex":58045,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":480}},"481":{"registeredObject":{"name":"collectAllUsedFills","type":"propertyDef","startIndex":58050,"stopIndex":58484,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":481}},"482":{"registeredObject":{"name":"exportLinkedFile","type":"propertyDef","startIndex":58487,"stopIndex":58866,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":474},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":482}},"483":{"registeredObject":{"name":"getName","type":"propertyDef","startIndex":58887,"stopIndex":58928,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":484},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":483}},"484":{"registeredObject":{"name":"accessing","type":"categoryDef","startIndex":58872,"stopIndex":59387,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":483},{"__isSmartRef__":true,"id":485},{"__isSmartRef__":true,"id":486},{"__isSmartRef__":true,"id":487},{"__isSmartRef__":true,"id":488}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":484}},"485":{"registeredObject":{"name":"setName","type":"propertyDef","startIndex":58931,"stopIndex":58987,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":484},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":485}},"486":{"registeredObject":{"name":"canvas","type":"propertyDef","startIndex":58990,"stopIndex":59051,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":484},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":486}},"487":{"registeredObject":{"name":"getOwnerWidget","type":"propertyDef","startIndex":59055,"stopIndex":59148,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":484},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":487}},"488":{"registeredObject":{"name":"ownerChain","type":"propertyDef","startIndex":59151,"stopIndex":59383,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":484},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":488}},"489":{"registeredObject":{"name":"getStyleClass","type":"propertyDef","startIndex":59414,"stopIndex":59473,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":489}},"490":{"registeredObject":{"name":"styling","type":"categoryDef","startIndex":59389,"stopIndex":62734,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":489},{"__isSmartRef__":true,"id":491},{"__isSmartRef__":true,"id":492},{"__isSmartRef__":true,"id":493},{"__isSmartRef__":true,"id":494},{"__isSmartRef__":true,"id":495},{"__isSmartRef__":true,"id":496},{"__isSmartRef__":true,"id":497}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":490}},"491":{"registeredObject":{"name":"setStyleClass","type":"propertyDef","startIndex":59476,"stopIndex":59741,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":491}},"492":{"registeredObject":{"name":"applyStyle","type":"propertyDef","startIndex":59744,"stopIndex":61058,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":492}},"493":{"registeredObject":{"name":"makeStyleSpec","type":"propertyDef","startIndex":61061,"stopIndex":61619,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":493}},"494":{"registeredObject":{"name":"applyStyleNamed","type":"propertyDef","startIndex":61622,"stopIndex":61796,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":494}},"495":{"registeredObject":{"name":"styleNamed","type":"propertyDef","startIndex":61799,"stopIndex":62228,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":495}},"496":{"registeredObject":{"name":"linkToStyles","type":"propertyDef","startIndex":62231,"stopIndex":62467,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":496}},"497":{"registeredObject":{"name":"applyLinkedStyles","type":"propertyDef","startIndex":62470,"stopIndex":62731,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":490},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":497}},"498":{"registeredObject":{"name":"setFill","type":"propertyDef","startIndex":62816,"stopIndex":62906,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":498}},"499":{"registeredObject":{"name":"appearance","type":"categoryDef","startIndex":62736,"stopIndex":66633,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":498},{"__isSmartRef__":true,"id":500},{"__isSmartRef__":true,"id":501},{"__isSmartRef__":true,"id":502},{"__isSmartRef__":true,"id":503},{"__isSmartRef__":true,"id":504},{"__isSmartRef__":true,"id":505},{"__isSmartRef__":true,"id":506},{"__isSmartRef__":true,"id":507},{"__isSmartRef__":true,"id":508},{"__isSmartRef__":true,"id":509},{"__isSmartRef__":true,"id":510},{"__isSmartRef__":true,"id":511},{"__isSmartRef__":true,"id":512},{"__isSmartRef__":true,"id":513},{"__isSmartRef__":true,"id":514},{"__isSmartRef__":true,"id":515},{"__isSmartRef__":true,"id":516},{"__isSmartRef__":true,"id":517},{"__isSmartRef__":true,"id":518},{"__isSmartRef__":true,"id":519},{"__isSmartRef__":true,"id":520},{"__isSmartRef__":true,"id":521}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":499}},"500":{"registeredObject":{"name":"getFill","type":"propertyDef","startIndex":62909,"stopIndex":62961,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":500}},"501":{"registeredObject":{"name":"setBorderColor","type":"propertyDef","startIndex":62964,"stopIndex":63077,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":501}},"502":{"registeredObject":{"name":"getBorderColor","type":"propertyDef","startIndex":63080,"stopIndex":63173,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":502}},"503":{"registeredObject":{"name":"nearlyZeroBorderWidth","type":"propertyDef","startIndex":63176,"stopIndex":63239,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":503}},"504":{"registeredObject":{"name":"setBorderWidth","type":"propertyDef","startIndex":63242,"stopIndex":63799,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":504}},"505":{"registeredObject":{"name":"getBorderWidth","type":"propertyDef","startIndex":63802,"stopIndex":63906,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":505}},"506":{"registeredObject":{"name":"setBorderRadius","type":"propertyDef","startIndex":63909,"stopIndex":64013,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":506}},"507":{"registeredObject":{"name":"getBorderRadius","type":"propertyDef","startIndex":64016,"stopIndex":64090,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":507}},"508":{"registeredObject":{"name":"shapeRoundEdgesBy","type":"propertyDef","startIndex":64093,"stopIndex":64156,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":508}},"509":{"registeredObject":{"name":"getFillOpacity","type":"propertyDef","startIndex":64159,"stopIndex":64226,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":509}},"510":{"registeredObject":{"name":"setFillOpacity","type":"propertyDef","startIndex":64229,"stopIndex":64363,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":510}},"511":{"registeredObject":{"name":"setStrokeOpacity","type":"propertyDef","startIndex":64366,"stopIndex":64505,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":511}},"512":{"registeredObject":{"name":"getStrokeOpacity","type":"propertyDef","startIndex":64508,"stopIndex":64578,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":512}},"513":{"registeredObject":{"name":"setLineJoin","type":"propertyDef","startIndex":64581,"stopIndex":64670,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":513}},"514":{"registeredObject":{"name":"getLineJoin","type":"propertyDef","startIndex":64673,"stopIndex":64733,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":514}},"515":{"registeredObject":{"name":"setLineCap","type":"propertyDef","startIndex":64737,"stopIndex":64821,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":515}},"516":{"registeredObject":{"name":"getLineCap","type":"propertyDef","startIndex":64824,"stopIndex":64883,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":516}},"517":{"registeredObject":{"name":"toggleFisheye","type":"propertyDef","startIndex":64886,"stopIndex":65186,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":517}},"518":{"registeredObject":{"name":"setFisheyeScale","type":"propertyDef","startIndex":65189,"stopIndex":65880,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":518}},"519":{"registeredObject":{"name":"isVisible","type":"propertyDef","startIndex":65883,"stopIndex":66168,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":519}},"520":{"registeredObject":{"name":"setVisible","type":"propertyDef","startIndex":66171,"stopIndex":66396,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":520}},"521":{"registeredObject":{"name":"applyFilter","type":"propertyDef","startIndex":66400,"stopIndex":66628,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":499},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":521}},"522":{"registeredObject":{"name":"applyFunctionToShape","type":"propertyDef","startIndex":66655,"stopIndex":66981,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":523},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":522}},"523":{"registeredObject":{"name":"shape related","type":"categoryDef","startIndex":66635,"stopIndex":68401,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":522},{"__isSmartRef__":true,"id":524},{"__isSmartRef__":true,"id":525},{"__isSmartRef__":true,"id":526},{"__isSmartRef__":true,"id":527},{"__isSmartRef__":true,"id":528}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":523}},"524":{"registeredObject":{"name":"internalSetShape","type":"propertyDef","startIndex":66984,"stopIndex":67260,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":523},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":524}},"525":{"registeredObject":{"name":"setShape","type":"propertyDef","startIndex":67263,"stopIndex":67387,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":523},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":525}},"526":{"registeredObject":{"name":"reshape","type":"propertyDef","startIndex":67390,"stopIndex":67732,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":523},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":526}},"527":{"registeredObject":{"name":"setVertices","type":"propertyDef","startIndex":67735,"stopIndex":67920,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":523},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":527}},"528":{"registeredObject":{"name":"beClipMorph","type":"propertyDef","startIndex":67923,"stopIndex":68397,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":523},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":528}},"529":{"registeredObject":{"name":"padding","type":"propertyDef","startIndex":68418,"stopIndex":68590,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":529}},"530":{"registeredObject":{"name":"layouting","type":"categoryDef","startIndex":68403,"stopIndex":74577,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":529},{"__isSmartRef__":true,"id":531},{"__isSmartRef__":true,"id":532},{"__isSmartRef__":true,"id":533},{"__isSmartRef__":true,"id":534},{"__isSmartRef__":true,"id":535},{"__isSmartRef__":true,"id":536},{"__isSmartRef__":true,"id":537},{"__isSmartRef__":true,"id":538},{"__isSmartRef__":true,"id":539},{"__isSmartRef__":true,"id":540},{"__isSmartRef__":true,"id":541},{"__isSmartRef__":true,"id":542},{"__isSmartRef__":true,"id":543},{"__isSmartRef__":true,"id":544},{"__isSmartRef__":true,"id":545},{"__isSmartRef__":true,"id":546},{"__isSmartRef__":true,"id":547},{"__isSmartRef__":true,"id":548},{"__isSmartRef__":true,"id":549},{"__isSmartRef__":true,"id":550},{"__isSmartRef__":true,"id":551},{"__isSmartRef__":true,"id":552},{"__isSmartRef__":true,"id":553}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":530}},"531":{"registeredObject":{"name":"margin","type":"propertyDef","startIndex":68591,"stopIndex":68680,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":531}},"532":{"registeredObject":{"name":"layoutManager","type":"propertyDef","startIndex":68728,"stopIndex":68748,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":532}},"533":{"registeredObject":{"name":"relayout","type":"propertyDef","startIndex":68783,"stopIndex":68922,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":533}},"534":{"registeredObject":{"name":"setBounds","type":"propertyDef","startIndex":68925,"stopIndex":69084,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":534}},"535":{"registeredObject":{"name":"setExtent","type":"propertyDef","startIndex":69087,"stopIndex":69192,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":535}},"536":{"registeredObject":{"name":"getExtent","type":"propertyDef","startIndex":69195,"stopIndex":69264,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":536}},"537":{"registeredObject":{"name":"position","type":"propertyDef","startIndex":69267,"stopIndex":69386,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":537}},"538":{"registeredObject":{"name":"getPosition","type":"propertyDef","startIndex":69389,"stopIndex":69478,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":538}},"539":{"registeredObject":{"name":"setPosition","type":"propertyDef","startIndex":69481,"stopIndex":69596,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":539}},"540":{"registeredObject":{"name":"containsPoint","type":"propertyDef","startIndex":69599,"stopIndex":69772,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":540}},"541":{"registeredObject":{"name":"containsWorldPoint","type":"propertyDef","startIndex":69775,"stopIndex":69951,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":541}},"542":{"registeredObject":{"name":"fullContainsPoint","type":"propertyDef","startIndex":69954,"stopIndex":70061,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":542}},"543":{"registeredObject":{"name":"fullContainsWorldPoint","type":"propertyDef","startIndex":70064,"stopIndex":70252,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":543}},"544":{"registeredObject":{"name":"bounds","type":"propertyDef","startIndex":70255,"stopIndex":71057,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":544}},"545":{"registeredObject":{"name":"submorphBounds","type":"propertyDef","startIndex":71064,"stopIndex":71452,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":545}},"546":{"registeredObject":{"name":"innerBounds","type":"propertyDef","startIndex":71459,"stopIndex":71640,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":546}},"547":{"registeredObject":{"name":"localBorderBounds","type":"propertyDef","startIndex":71647,"stopIndex":72210,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":547}},"548":{"registeredObject":{"name":"changed","type":"propertyDef","startIndex":72214,"stopIndex":72415,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":548}},"549":{"registeredObject":{"name":"invalidRect","type":"propertyDef","startIndex":72418,"stopIndex":72507,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":549}},"550":{"registeredObject":{"name":"layoutOnSubmorphLayout","type":"propertyDef","startIndex":72510,"stopIndex":72719,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":550}},"551":{"registeredObject":{"name":"transformChanged","type":"propertyDef","startIndex":72722,"stopIndex":73008,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":551}},"552":{"registeredObject":{"name":"layoutChanged","type":"propertyDef","startIndex":73011,"stopIndex":73718,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":552}},"553":{"registeredObject":{"name":"adjustForNewBounds","type":"propertyDef","startIndex":73721,"stopIndex":74574,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":530},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":553}},"554":{"registeredObject":{"name":"addMorph","type":"propertyDef","startIndex":74628,"stopIndex":74706,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":554}},"555":{"registeredObject":{"name":"submorphs","type":"categoryDef","startIndex":74612,"stopIndex":80120,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":554},{"__isSmartRef__":true,"id":556},{"__isSmartRef__":true,"id":557},{"__isSmartRef__":true,"id":558},{"__isSmartRef__":true,"id":559},{"__isSmartRef__":true,"id":560},{"__isSmartRef__":true,"id":561},{"__isSmartRef__":true,"id":562},{"__isSmartRef__":true,"id":563},{"__isSmartRef__":true,"id":564},{"__isSmartRef__":true,"id":565},{"__isSmartRef__":true,"id":566},{"__isSmartRef__":true,"id":567},{"__isSmartRef__":true,"id":568},{"__isSmartRef__":true,"id":569},{"__isSmartRef__":true,"id":570},{"__isSmartRef__":true,"id":571},{"__isSmartRef__":true,"id":572},{"__isSmartRef__":true,"id":573},{"__isSmartRef__":true,"id":574},{"__isSmartRef__":true,"id":575},{"__isSmartRef__":true,"id":576},{"__isSmartRef__":true,"id":577}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":555}},"556":{"registeredObject":{"name":"addMorphAt","type":"propertyDef","startIndex":74709,"stopIndex":74852,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":556}},"557":{"registeredObject":{"name":"addMorphFront","type":"propertyDef","startIndex":74855,"stopIndex":74938,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":557}},"558":{"registeredObject":{"name":"addMorphBack","type":"propertyDef","startIndex":74941,"stopIndex":75024,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":558}},"559":{"registeredObject":{"name":"addMorphFrontOrBack","type":"propertyDef","startIndex":75027,"stopIndex":75714,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":559}},"560":{"registeredObject":{"name":"addNonMorph","type":"propertyDef","startIndex":75718,"stopIndex":75938,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":560}},"561":{"registeredObject":{"name":"addWrapper","type":"propertyDef","startIndex":75941,"stopIndex":76061,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":561}},"562":{"registeredObject":{"name":"addPseudoMorph","type":"propertyDef","startIndex":76064,"stopIndex":76265,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":562}},"563":{"registeredObject":{"name":"bringToFront","type":"propertyDef","startIndex":76268,"stopIndex":76446,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":563}},"564":{"registeredObject":{"name":"setSubmorphs","type":"propertyDef","startIndex":76449,"stopIndex":76919,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":564}},"565":{"registeredObject":{"name":"indexOfSubmorph","type":"propertyDef","startIndex":76922,"stopIndex":77147,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":565}},"566":{"registeredObject":{"name":"getInsertPositionFor","type":"propertyDef","startIndex":77150,"stopIndex":77376,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":566}},"567":{"registeredObject":{"name":"insertMorph","type":"propertyDef","startIndex":77380,"stopIndex":77718,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":567}},"568":{"registeredObject":{"name":"removeMorph","type":"propertyDef","startIndex":77722,"stopIndex":78390,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":568}},"569":{"registeredObject":{"name":"removeAllMorphs","type":"propertyDef","startIndex":78393,"stopIndex":78537,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":569}},"570":{"registeredObject":{"name":"hasSubmorphs","type":"propertyDef","startIndex":78540,"stopIndex":78607,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":570}},"571":{"registeredObject":{"name":"remove","type":"propertyDef","startIndex":78610,"stopIndex":78864,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":571}},"572":{"registeredObject":{"name":"withAllSubmorphsDo","type":"propertyDef","startIndex":78867,"stopIndex":79168,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":572}},"573":{"registeredObject":{"name":"invokeOnAllSubmorphs","type":"propertyDef","startIndex":79171,"stopIndex":79430,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":573}},"574":{"registeredObject":{"name":"topSubmorph","type":"propertyDef","startIndex":79433,"stopIndex":79553,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":574}},"575":{"registeredObject":{"name":"visibleSubmorphs","type":"propertyDef","startIndex":79556,"stopIndex":79676,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":575}},"576":{"registeredObject":{"name":"getMorphNamed","type":"propertyDef","startIndex":79679,"stopIndex":80006,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":576}},"577":{"registeredObject":{"name":"shutdown","type":"propertyDef","startIndex":80009,"stopIndex":80116,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":555},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":577}},"578":{"registeredObject":{"name":"world","type":"propertyDef","startIndex":80186,"stopIndex":80258,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":579},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":578}},"579":{"registeredObject":{"name":"world","type":"categoryDef","startIndex":80175,"stopIndex":80763,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":578},{"__isSmartRef__":true,"id":580},{"__isSmartRef__":true,"id":581}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":579}},"580":{"registeredObject":{"name":"validatedWorld","type":"propertyDef","startIndex":80261,"stopIndex":80509,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":579},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":580}},"581":{"registeredObject":{"name":"openInWorld","type":"propertyDef","startIndex":80512,"stopIndex":80759,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":579},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":581}},"582":{"registeredObject":{"name":"asLogo","type":"propertyDef","startIndex":80781,"stopIndex":81554,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":583},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":582}},"583":{"registeredObject":{"name":"conversion","type":"categoryDef","startIndex":80765,"stopIndex":82555,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":582},{"__isSmartRef__":true,"id":584}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":583}},"584":{"registeredObject":{"name":"makeCurve","type":"propertyDef","startIndex":81557,"stopIndex":82551,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":583},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":584}},"585":{"registeredObject":{"name":"getTransform","type":"propertyDef","startIndex":82618,"stopIndex":84285,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":585}},"586":{"registeredObject":{"name":"transform","type":"categoryDef","startIndex":82557,"stopIndex":87233,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":585},{"__isSmartRef__":true,"id":587},{"__isSmartRef__":true,"id":588},{"__isSmartRef__":true,"id":589},{"__isSmartRef__":true,"id":590},{"__isSmartRef__":true,"id":591},{"__isSmartRef__":true,"id":592},{"__isSmartRef__":true,"id":593},{"__isSmartRef__":true,"id":594},{"__isSmartRef__":true,"id":595},{"__isSmartRef__":true,"id":596},{"__isSmartRef__":true,"id":597}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":586}},"587":{"registeredObject":{"name":"pvtSetTransform","type":"propertyDef","startIndex":84288,"stopIndex":84651,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":587}},"588":{"registeredObject":{"name":"setTransforms","type":"propertyDef","startIndex":84654,"stopIndex":84876,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":588}},"589":{"registeredObject":{"name":"setTransform","type":"propertyDef","startIndex":84879,"stopIndex":84981,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":589}},"590":{"registeredObject":{"name":"transformToMorph","type":"propertyDef","startIndex":84984,"stopIndex":85476,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":590}},"591":{"registeredObject":{"name":"getGlobalTransform","type":"propertyDef","startIndex":85479,"stopIndex":85743,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":591}},"592":{"registeredObject":{"name":"worldPoint","type":"propertyDef","startIndex":85746,"stopIndex":85935,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":592}},"593":{"registeredObject":{"name":"relativize","type":"propertyDef","startIndex":85938,"stopIndex":86268,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":593}},"594":{"registeredObject":{"name":"relativizeRect","type":"propertyDef","startIndex":86271,"stopIndex":86438,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":594}},"595":{"registeredObject":{"name":"localize","type":"propertyDef","startIndex":86441,"stopIndex":86784,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":595}},"596":{"registeredObject":{"name":"localizePointFrom","type":"propertyDef","startIndex":86787,"stopIndex":87103,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":596}},"597":{"registeredObject":{"name":"transformForNewOwner","type":"propertyDef","startIndex":87106,"stopIndex":87229,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":586},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":597}},"598":{"registeredObject":{"name":"translateBy","type":"propertyDef","startIndex":87262,"stopIndex":87847,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":598}},"599":{"registeredObject":{"name":"transform - accessors","type":"categoryDef","startIndex":87235,"stopIndex":94318,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":598},{"__isSmartRef__":true,"id":600},{"__isSmartRef__":true,"id":601},{"__isSmartRef__":true,"id":602},{"__isSmartRef__":true,"id":603},{"__isSmartRef__":true,"id":604},{"__isSmartRef__":true,"id":605},{"__isSmartRef__":true,"id":606},{"__isSmartRef__":true,"id":607},{"__isSmartRef__":true,"id":608},{"__isSmartRef__":true,"id":609},{"__isSmartRef__":true,"id":610},{"__isSmartRef__":true,"id":611},{"__isSmartRef__":true,"id":612},{"__isSmartRef__":true,"id":613},{"__isSmartRef__":true,"id":614},{"__isSmartRef__":true,"id":615},{"__isSmartRef__":true,"id":616},{"__isSmartRef__":true,"id":617},{"__isSmartRef__":true,"id":618},{"__isSmartRef__":true,"id":619}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":599}},"600":{"registeredObject":{"name":"setRotation","type":"propertyDef","startIndex":87850,"stopIndex":88017,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":600}},"601":{"registeredObject":{"name":"setScale","type":"propertyDef","startIndex":88024,"stopIndex":88230,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":601}},"602":{"registeredObject":{"name":"setScalePoint","type":"propertyDef","startIndex":88233,"stopIndex":88382,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":602}},"603":{"registeredObject":{"name":"gettranslation","type":"propertyDef","startIndex":88385,"stopIndex":88466,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":603}},"604":{"registeredObject":{"name":"getRotation","type":"propertyDef","startIndex":88469,"stopIndex":88817,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":604}},"605":{"registeredObject":{"name":"getScale","type":"propertyDef","startIndex":88820,"stopIndex":88888,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":605}},"606":{"registeredObject":{"name":"moveBy","type":"propertyDef","startIndex":88891,"stopIndex":88947,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":606}},"607":{"registeredObject":{"name":"rotateBy","type":"propertyDef","startIndex":88950,"stopIndex":89027,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":607}},"608":{"registeredObject":{"name":"scaleBy","type":"propertyDef","startIndex":89030,"stopIndex":89171,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":608}},"609":{"registeredObject":{"name":"throb","type":"propertyDef","startIndex":89174,"stopIndex":89245,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":609}},"610":{"registeredObject":{"name":"align","type":"propertyDef","startIndex":89248,"stopIndex":89319,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":610}},"611":{"registeredObject":{"name":"centerAt","type":"propertyDef","startIndex":89322,"stopIndex":89404,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":611}},"612":{"registeredObject":{"name":"getCenter","type":"propertyDef","startIndex":89407,"stopIndex":89463,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":612}},"613":{"registeredObject":{"name":"moveOriginBy","type":"propertyDef","startIndex":89466,"stopIndex":89845,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":613}},"614":{"registeredObject":{"name":"moveSubmorphs","type":"propertyDef","startIndex":89848,"stopIndex":91362,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":614}},"615":{"registeredObject":{"name":"transformSubmorphs","type":"propertyDef","startIndex":91365,"stopIndex":91912,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":615}},"616":{"registeredObject":{"name":"moveForwardBy","type":"propertyDef","startIndex":91915,"stopIndex":92085,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":616}},"617":{"registeredObject":{"name":"rotateAround","type":"propertyDef","startIndex":92088,"stopIndex":92576,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":617}},"618":{"registeredObject":{"name":"turnBy","type":"propertyDef","startIndex":92579,"stopIndex":92667,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":618}},"619":{"registeredObject":{"name":"moveRadially","type":"propertyDef","startIndex":92670,"stopIndex":94315,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":599},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":619}},"620":{"registeredObject":{"name":"animatedInterpolateTo","type":"propertyDef","startIndex":94336,"stopIndex":94880,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":621},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":620}},"621":{"registeredObject":{"name":"animations","type":"categoryDef","startIndex":94320,"stopIndex":95541,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":620},{"__isSmartRef__":true,"id":622},{"__isSmartRef__":true,"id":623}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":621}},"622":{"registeredObject":{"name":"animatedFollowPath","type":"propertyDef","startIndex":94883,"stopIndex":95111,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":621},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":622}},"623":{"registeredObject":{"name":"animatedPathStep","type":"propertyDef","startIndex":95114,"stopIndex":95537,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":621},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":623}},"624":{"registeredObject":{"name":"bounceInOwnerBounds","type":"propertyDef","startIndex":95571,"stopIndex":95657,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":625},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":624}},"625":{"registeredObject":{"name":"particle behavior","type":"categoryDef","startIndex":95543,"stopIndex":96892,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":624},{"__isSmartRef__":true,"id":626},{"__isSmartRef__":true,"id":627},{"__isSmartRef__":true,"id":628}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":625}},"626":{"registeredObject":{"name":"bounceInBounds","type":"propertyDef","startIndex":95661,"stopIndex":96608,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":625},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":626}},"627":{"registeredObject":{"name":"stepByVelocities","type":"propertyDef","startIndex":96612,"stopIndex":96760,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":625},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":627}},"628":{"registeredObject":{"name":"stepAndBounce","type":"propertyDef","startIndex":96764,"stopIndex":96887,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":625},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":628}},"629":{"registeredObject":{"name":"getHelpText","type":"propertyDef","startIndex":96913,"stopIndex":96941,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":630},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":629}},"630":{"registeredObject":{"name":"balloon help","type":"categoryDef","startIndex":96894,"stopIndex":97885,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":629},{"__isSmartRef__":true,"id":631},{"__isSmartRef__":true,"id":632}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":630}},"631":{"registeredObject":{"name":"showHelp","type":"propertyDef","startIndex":96977,"stopIndex":97743,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":630},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":631}},"632":{"registeredObject":{"name":"hideHelp","type":"propertyDef","startIndex":97746,"stopIndex":97881,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":630},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":632}},"633":{"registeredObject":{"name":"captureMouseEvent","type":"propertyDef","startIndex":97906,"stopIndex":99453,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":633}},"634":{"registeredObject":{"name":"mouse events","type":"categoryDef","startIndex":97887,"stopIndex":102913,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":633},{"__isSmartRef__":true,"id":635},{"__isSmartRef__":true,"id":636},{"__isSmartRef__":true,"id":637},{"__isSmartRef__":true,"id":638},{"__isSmartRef__":true,"id":639},{"__isSmartRef__":true,"id":640},{"__isSmartRef__":true,"id":641},{"__isSmartRef__":true,"id":642},{"__isSmartRef__":true,"id":643},{"__isSmartRef__":true,"id":644},{"__isSmartRef__":true,"id":645},{"__isSmartRef__":true,"id":646},{"__isSmartRef__":true,"id":647},{"__isSmartRef__":true,"id":648},{"__isSmartRef__":true,"id":649},{"__isSmartRef__":true,"id":650},{"__isSmartRef__":true,"id":651},{"__isSmartRef__":true,"id":652},{"__isSmartRef__":true,"id":653},{"__isSmartRef__":true,"id":654},{"__isSmartRef__":true,"id":655},{"__isSmartRef__":true,"id":656},{"__isSmartRef__":true,"id":657},{"__isSmartRef__":true,"id":658}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":634}},"635":{"registeredObject":{"name":"areEventsIgnored","type":"propertyDef","startIndex":99457,"stopIndex":99543,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":635}},"636":{"registeredObject":{"name":"ignoreEvents","type":"propertyDef","startIndex":99546,"stopIndex":99696,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":636}},"637":{"registeredObject":{"name":"enableEvents","type":"propertyDef","startIndex":99699,"stopIndex":99840,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":637}},"638":{"registeredObject":{"name":"relayMouseEvents","type":"propertyDef","startIndex":99843,"stopIndex":99962,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":638}},"639":{"registeredObject":{"name":"handlesMouseDown","type":"propertyDef","startIndex":99965,"stopIndex":100138,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":639}},"640":{"registeredObject":{"name":"onMouseDown","type":"propertyDef","startIndex":100141,"stopIndex":100193,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":640}},"641":{"registeredObject":{"name":"onMouseMove","type":"propertyDef","startIndex":100215,"stopIndex":100576,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":641}},"642":{"registeredObject":{"name":"onMouseUp","type":"propertyDef","startIndex":100579,"stopIndex":100608,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":642}},"643":{"registeredObject":{"name":"considerShowHelp","type":"propertyDef","startIndex":100630,"stopIndex":100902,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":643}},"644":{"registeredObject":{"name":"delayShowHelp","type":"propertyDef","startIndex":100905,"stopIndex":101126,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":644}},"645":{"registeredObject":{"name":"onMouseOver","type":"propertyDef","startIndex":101129,"stopIndex":101188,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":645}},"646":{"registeredObject":{"name":"onMouseOut","type":"propertyDef","startIndex":101192,"stopIndex":101243,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":646}},"647":{"registeredObject":{"name":"onMouseWheel","type":"propertyDef","startIndex":101247,"stopIndex":101356,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":647}},"648":{"registeredObject":{"name":"takesKeyboardFocus","type":"propertyDef","startIndex":101359,"stopIndex":101395,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":648}},"649":{"registeredObject":{"name":"setHasKeyboardFocus","type":"propertyDef","startIndex":101398,"stopIndex":101435,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":649}},"650":{"registeredObject":{"name":"requestKeyboardFocus","type":"propertyDef","startIndex":101464,"stopIndex":101657,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":650}},"651":{"registeredObject":{"name":"relinquishKeyboardFocus","type":"propertyDef","startIndex":101660,"stopIndex":101779,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":651}},"652":{"registeredObject":{"name":"onFocus","type":"propertyDef","startIndex":101782,"stopIndex":101834,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":652}},"653":{"registeredObject":{"name":"onBlur","type":"propertyDef","startIndex":101837,"stopIndex":101891,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":653}},"654":{"registeredObject":{"name":"removeFocusHalo","type":"propertyDef","startIndex":101894,"stopIndex":102067,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":654}},"655":{"registeredObject":{"name":"focusHaloInset","type":"propertyDef","startIndex":102070,"stopIndex":102088,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":655}},"656":{"registeredObject":{"name":"focusStyle","type":"propertyDef","startIndex":102091,"stopIndex":102171,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":656}},"657":{"registeredObject":{"name":"adjustFocusHalo","type":"propertyDef","startIndex":102174,"stopIndex":102291,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":657}},"658":{"registeredObject":{"name":"addFocusHalo","type":"propertyDef","startIndex":102294,"stopIndex":102909,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":634},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":658}},"659":{"registeredObject":{"name":"checkForControlPointNear","type":"propertyDef","startIndex":102928,"stopIndex":103628,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":660},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":659}},"660":{"registeredObject":{"name":"handles","type":"categoryDef","startIndex":102915,"stopIndex":104880,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":659},{"__isSmartRef__":true,"id":661},{"__isSmartRef__":true,"id":662},{"__isSmartRef__":true,"id":663},{"__isSmartRef__":true,"id":664}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":660}},"661":{"registeredObject":{"name":"addAllHandles","type":"propertyDef","startIndex":103632,"stopIndex":104288,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":660},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":661}},"662":{"registeredObject":{"name":"hasHandles","type":"propertyDef","startIndex":104292,"stopIndex":104397,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":660},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":662}},"663":{"registeredObject":{"name":"removeAllHandlesExcept","type":"propertyDef","startIndex":104401,"stopIndex":104616,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":660},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":663}},"664":{"registeredObject":{"name":"makeHandle","type":"propertyDef","startIndex":104619,"stopIndex":104877,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":660},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":664}},"665":{"registeredObject":{"name":"copySubmorphsOnGrab","type":"propertyDef","startIndex":104909,"stopIndex":104939,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":665}},"666":{"registeredObject":{"name":"grabbing and dragging","type":"categoryDef","startIndex":104882,"stopIndex":113348,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":665},{"__isSmartRef__":true,"id":667},{"__isSmartRef__":true,"id":668},{"__isSmartRef__":true,"id":669},{"__isSmartRef__":true,"id":670},{"__isSmartRef__":true,"id":671},{"__isSmartRef__":true,"id":672},{"__isSmartRef__":true,"id":673},{"__isSmartRef__":true,"id":674},{"__isSmartRef__":true,"id":675},{"__isSmartRef__":true,"id":676},{"__isSmartRef__":true,"id":677},{"__isSmartRef__":true,"id":678},{"__isSmartRef__":true,"id":679},{"__isSmartRef__":true,"id":680},{"__isSmartRef__":true,"id":681},{"__isSmartRef__":true,"id":682},{"__isSmartRef__":true,"id":683},{"__isSmartRef__":true,"id":684},{"__isSmartRef__":true,"id":685},{"__isSmartRef__":true,"id":686},{"__isSmartRef__":true,"id":687},{"__isSmartRef__":true,"id":688},{"__isSmartRef__":true,"id":689}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":666}},"667":{"registeredObject":{"name":"suppressGrabbing","type":"propertyDef","startIndex":104940,"stopIndex":104997,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":667}},"668":{"registeredObject":{"name":"okToBeGrabbedBy","type":"propertyDef","startIndex":105000,"stopIndex":105275,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":668}},"669":{"registeredObject":{"name":"grid","type":"propertyDef","startIndex":105278,"stopIndex":105333,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":669}},"670":{"registeredObject":{"name":"isSnappingToGrid","type":"propertyDef","startIndex":105336,"stopIndex":105399,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":670}},"671":{"registeredObject":{"name":"snapToGrid","type":"propertyDef","startIndex":105402,"stopIndex":105523,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":671}},"672":{"registeredObject":{"name":"dragMe","type":"propertyDef","startIndex":105526,"stopIndex":106093,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":672}},"673":{"registeredObject":{"name":"showAsGrabbed","type":"propertyDef","startIndex":106096,"stopIndex":108106,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":673}},"674":{"registeredObject":{"name":"showAsUngrabbed","type":"propertyDef","startIndex":108109,"stopIndex":108226,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":674}},"675":{"registeredObject":{"name":"alignToGrid","type":"propertyDef","startIndex":108233,"stopIndex":108828,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":675}},"676":{"registeredObject":{"name":"updateGrabHalo","type":"propertyDef","startIndex":108831,"stopIndex":109513,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":676}},"677":{"registeredObject":{"name":"grabMorph","type":"propertyDef","startIndex":109516,"stopIndex":110792,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":677}},"678":{"registeredObject":{"name":"addMorphAsGrabbed","type":"propertyDef","startIndex":110799,"stopIndex":110926,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":678}},"679":{"registeredObject":{"name":"dropMorphsOn","type":"propertyDef","startIndex":110933,"stopIndex":111363,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":679}},"680":{"registeredObject":{"name":"carriedMorphsDo","type":"propertyDef","startIndex":111366,"stopIndex":111666,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":680}},"681":{"registeredObject":{"name":"shadowMorphsDo","type":"propertyDef","startIndex":111669,"stopIndex":111896,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":681}},"682":{"registeredObject":{"name":"unbundleCarriedSelection","type":"propertyDef","startIndex":111899,"stopIndex":112339,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":682}},"683":{"registeredObject":{"name":"toggleDnD","type":"propertyDef","startIndex":112342,"stopIndex":112466,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":683}},"684":{"registeredObject":{"name":"openDnD","type":"propertyDef","startIndex":112469,"stopIndex":112531,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":684}},"685":{"registeredObject":{"name":"closeDnD","type":"propertyDef","startIndex":112534,"stopIndex":112637,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":685}},"686":{"registeredObject":{"name":"closeAllToDnD","type":"propertyDef","startIndex":112640,"stopIndex":112955,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":686}},"687":{"registeredObject":{"name":"openAllToDnD","type":"propertyDef","startIndex":112958,"stopIndex":113098,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":687}},"688":{"registeredObject":{"name":"dropMeOnMorph","type":"propertyDef","startIndex":113101,"stopIndex":113196,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":688}},"689":{"registeredObject":{"name":"pickMeUp","type":"propertyDef","startIndex":113199,"stopIndex":113345,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":666},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":689}},"690":{"registeredObject":{"name":"editMenuItems","type":"propertyDef","startIndex":113367,"stopIndex":113448,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":690}},"691":{"registeredObject":{"name":"morph menu","type":"categoryDef","startIndex":113350,"stopIndex":119803,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":690},{"__isSmartRef__":true,"id":692},{"__isSmartRef__":true,"id":693},{"__isSmartRef__":true,"id":694},{"__isSmartRef__":true,"id":695},{"__isSmartRef__":true,"id":696},{"__isSmartRef__":true,"id":697},{"__isSmartRef__":true,"id":698},{"__isSmartRef__":true,"id":699},{"__isSmartRef__":true,"id":700}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":691}},"692":{"registeredObject":{"name":"showMorphMenu","type":"propertyDef","startIndex":113451,"stopIndex":113921,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":692}},"693":{"registeredObject":{"name":"morphMenuBasicItems","type":"propertyDef","startIndex":113924,"stopIndex":115019,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":693}},"694":{"registeredObject":{"name":"morphMenu","type":"propertyDef","startIndex":115022,"stopIndex":115298,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":694}},"695":{"registeredObject":{"name":"subMenuLayoutItems","type":"propertyDef","startIndex":115300,"stopIndex":115675,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":695}},"696":{"registeredObject":{"name":"subMenuPropertiesItems","type":"propertyDef","startIndex":115679,"stopIndex":117018,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":696}},"697":{"registeredObject":{"name":"subMenuWindowItems","type":"propertyDef","startIndex":117022,"stopIndex":117643,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":697}},"698":{"registeredObject":{"name":"subMenuStyleItems","type":"propertyDef","startIndex":117646,"stopIndex":117744,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":698}},"699":{"registeredObject":{"name":"subMenuItems","type":"propertyDef","startIndex":117747,"stopIndex":117990,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":699}},"700":{"registeredObject":{"name":"showPieMenu","type":"propertyDef","startIndex":117993,"stopIndex":119799,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":691},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":700}},"701":{"registeredObject":{"name":"putMeInAWindow","type":"propertyDef","startIndex":119826,"stopIndex":120109,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":701}},"702":{"registeredObject":{"name":"window related","type":"categoryDef","startIndex":119805,"stopIndex":124272,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":701},{"__isSmartRef__":true,"id":703},{"__isSmartRef__":true,"id":704},{"__isSmartRef__":true,"id":705},{"__isSmartRef__":true,"id":706},{"__isSmartRef__":true,"id":707},{"__isSmartRef__":true,"id":708},{"__isSmartRef__":true,"id":709},{"__isSmartRef__":true,"id":710},{"__isSmartRef__":true,"id":711},{"__isSmartRef__":true,"id":712},{"__isSmartRef__":true,"id":713}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":702}},"703":{"registeredObject":{"name":"putMeInATab","type":"propertyDef","startIndex":120112,"stopIndex":120339,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":703}},"704":{"registeredObject":{"name":"putMeInTheWorld","type":"propertyDef","startIndex":120342,"stopIndex":120545,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":704}},"705":{"registeredObject":{"name":"immediateContainer","type":"propertyDef","startIndex":120548,"stopIndex":120706,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":705}},"706":{"registeredObject":{"name":"windowContent","type":"propertyDef","startIndex":120709,"stopIndex":120801,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":706}},"707":{"registeredObject":{"name":"windowTitle","type":"propertyDef","startIndex":120804,"stopIndex":120921,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":707}},"708":{"registeredObject":{"name":"copyToHand","type":"propertyDef","startIndex":120926,"stopIndex":121765,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":708}},"709":{"registeredObject":{"name":"shadowCopy","type":"propertyDef","startIndex":121768,"stopIndex":122401,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":709}},"710":{"registeredObject":{"name":"morphToGrabOrReceiveDroppingMorph","type":"propertyDef","startIndex":122404,"stopIndex":122535,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":710}},"711":{"registeredObject":{"name":"morphToGrabOrReceive","type":"propertyDef","startIndex":122538,"stopIndex":123931,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":711}},"712":{"registeredObject":{"name":"morphToReceiveEvent","type":"propertyDef","startIndex":123934,"stopIndex":124156,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":712}},"713":{"registeredObject":{"name":"acceptsDropping","type":"propertyDef","startIndex":124160,"stopIndex":124268,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":702},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":713}},"714":{"registeredObject":{"name":"startSteppingScripts","type":"propertyDef","startIndex":124323,"stopIndex":124363,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":714}},"715":{"registeredObject":{"name":"stepping","type":"categoryDef","startIndex":124274,"stopIndex":126431,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":714},{"__isSmartRef__":true,"id":716},{"__isSmartRef__":true,"id":717},{"__isSmartRef__":true,"id":718},{"__isSmartRef__":true,"id":719},{"__isSmartRef__":true,"id":720},{"__isSmartRef__":true,"id":721},{"__isSmartRef__":true,"id":722},{"__isSmartRef__":true,"id":723}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":715}},"716":{"registeredObject":{"name":"stopStepping","type":"propertyDef","startIndex":124413,"stopIndex":124618,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":716}},"717":{"registeredObject":{"name":"stopSteppingScriptNamed","type":"propertyDef","startIndex":124622,"stopIndex":124976,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":717}},"718":{"registeredObject":{"name":"startStepping","type":"propertyDef","startIndex":124979,"stopIndex":125243,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":718}},"719":{"registeredObject":{"name":"addActiveScript","type":"propertyDef","startIndex":125246,"stopIndex":125620,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":719}},"720":{"registeredObject":{"name":"stopAllStepping","type":"propertyDef","startIndex":125623,"stopIndex":125760,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":720}},"721":{"registeredObject":{"name":"suspendAllActiveScripts","type":"propertyDef","startIndex":125763,"stopIndex":125915,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":721}},"722":{"registeredObject":{"name":"suspendActiveScripts","type":"propertyDef","startIndex":125918,"stopIndex":126068,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":722}},"723":{"registeredObject":{"name":"resumeAllSuspendedScripts","type":"propertyDef","startIndex":126071,"stopIndex":126427,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":715},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":723}},"724":{"registeredObject":{"name":"addScript","type":"propertyDef","startIndex":126446,"stopIndex":126583,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":725},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":724}},"725":{"registeredObject":{"name":"scripts","type":"categoryDef","startIndex":126433,"stopIndex":126703,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":724},{"__isSmartRef__":true,"id":726}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":725}},"726":{"registeredObject":{"name":"addScriptNamed","type":"propertyDef","startIndex":126586,"stopIndex":126700,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":725},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":726}},"727":{"registeredObject":{"name":"notify","type":"propertyDef","startIndex":126720,"stopIndex":126893,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":728},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":727}},"728":{"registeredObject":{"name":"debugging","type":"categoryDef","startIndex":126705,"stopIndex":128473,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":727},{"__isSmartRef__":true,"id":729},{"__isSmartRef__":true,"id":730},{"__isSmartRef__":true,"id":731},{"__isSmartRef__":true,"id":732},{"__isSmartRef__":true,"id":733}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":728}},"729":{"registeredObject":{"name":"showOwnerChain","type":"propertyDef","startIndex":126896,"stopIndex":127191,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":728},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":729}},"730":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":127194,"stopIndex":127541,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":728},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":730}},"731":{"registeredObject":{"name":"inspect","type":"propertyDef","startIndex":127544,"stopIndex":127669,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":728},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":731}},"732":{"registeredObject":{"name":"addSvgInspector","type":"propertyDef","startIndex":127673,"stopIndex":128008,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":728},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":732}},"733":{"registeredObject":{"name":"addModelInspector","type":"propertyDef","startIndex":128011,"stopIndex":128469,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":728},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":733}},"734":{"registeredObject":{"name":"isContainedIn","type":"propertyDef","startIndex":128486,"stopIndex":128637,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":735},"className":"Morph","_owner":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":734}},"735":{"registeredObject":{"name":"Fabrik","type":"categoryDef","startIndex":128475,"stopIndex":128639,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":734}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":735}},"736":{"registeredObject":{"name":null,"type":"comment","startIndex":128643,"stopIndex":128722,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":736}},"737":{"registeredObject":{"name":"Global.ViewTrait","type":"objectDef","startIndex":128723,"stopIndex":133997,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":738},{"__isSmartRef__":true,"id":740},{"__isSmartRef__":true,"id":741},{"__isSmartRef__":true,"id":742},{"__isSmartRef__":true,"id":743},{"__isSmartRef__":true,"id":744},{"__isSmartRef__":true,"id":745},{"__isSmartRef__":true,"id":746},{"__isSmartRef__":true,"id":747},{"__isSmartRef__":true,"id":748},{"__isSmartRef__":true,"id":749}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":737}},"738":{"registeredObject":{"name":"connectModel","type":"propertyDef","startIndex":128744,"stopIndex":129858,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":738}},"739":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":19,"stopIndex":5272,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":738},{"__isSmartRef__":true,"id":740},{"__isSmartRef__":true,"id":741},{"__isSmartRef__":true,"id":742},{"__isSmartRef__":true,"id":743},{"__isSmartRef__":true,"id":744},{"__isSmartRef__":true,"id":745},{"__isSmartRef__":true,"id":746},{"__isSmartRef__":true,"id":747},{"__isSmartRef__":true,"id":748},{"__isSmartRef__":true,"id":749}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":739}},"740":{"registeredObject":{"name":"relayToModel","type":"propertyDef","startIndex":129861,"stopIndex":130007,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":740}},"741":{"registeredObject":{"name":"reconnectModel","type":"propertyDef","startIndex":130010,"stopIndex":130549,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":741}},"742":{"registeredObject":{"name":"checkModel","type":"propertyDef","startIndex":130552,"stopIndex":131032,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":742}},"743":{"registeredObject":{"name":"disconnectModel","type":"propertyDef","startIndex":131035,"stopIndex":131207,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":743}},"744":{"registeredObject":{"name":"getModel","type":"propertyDef","startIndex":131210,"stopIndex":131341,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":744}},"745":{"registeredObject":{"name":"getActualModel","type":"propertyDef","startIndex":131344,"stopIndex":131472,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":745}},"746":{"registeredObject":{"name":"getModelPlug","type":"propertyDef","startIndex":131479,"stopIndex":131601,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":746}},"747":{"registeredObject":{"name":"getModelValue","type":"propertyDef","startIndex":131604,"stopIndex":132436,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":747}},"748":{"registeredObject":{"name":"setModelValue","type":"propertyDef","startIndex":132439,"stopIndex":133558,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":748}},"749":{"registeredObject":{"name":"updateView","type":"propertyDef","startIndex":133561,"stopIndex":133994,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":739},"_owner":{"__isSmartRef__":true,"id":737},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":749}},"750":{"registeredObject":{"name":null,"type":"comment","startIndex":133998,"stopIndex":133998,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":750}},"751":{"registeredObject":{"name":"View","type":"klassDef","startIndex":133999,"stopIndex":134302,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":752},{"__isSmartRef__":true,"id":754},{"__isSmartRef__":true,"id":755}],"sourceControl":{"__isSmartRef__":true,"id":225},"traits":["ViewTrait"],"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":753}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":751}},"752":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":134037,"stopIndex":134131,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":753},"className":"View","_owner":{"__isSmartRef__":true,"id":751},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":752}},"753":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":134034,"stopIndex":134299,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":752},{"__isSmartRef__":true,"id":754},{"__isSmartRef__":true,"id":755}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":753}},"754":{"registeredObject":{"name":"getType","type":"propertyDef","startIndex":134134,"stopIndex":134225,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":753},"className":"View","_owner":{"__isSmartRef__":true,"id":751},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":754}},"755":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":134228,"stopIndex":134298,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":753},"className":"View","_owner":{"__isSmartRef__":true,"id":751},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":755}},"756":{"registeredObject":{"name":null,"type":"comment","startIndex":134303,"stopIndex":134303,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":756}},"757":{"registeredObject":{"name":null,"type":"unknown","startIndex":134304,"stopIndex":134332,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":757}},"758":{"registeredObject":{"name":null,"type":"comment","startIndex":134333,"stopIndex":135570,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":758}},"759":{"registeredObject":{"name":"Model","type":"klassDef","startIndex":135571,"stopIndex":136767,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":760},{"__isSmartRef__":true,"id":762},{"__isSmartRef__":true,"id":763},{"__isSmartRef__":true,"id":764},{"__isSmartRef__":true,"id":765},{"__isSmartRef__":true,"id":766}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":761}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":759}},"760":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":135599,"stopIndex":135757,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":761},"className":"Model","_owner":{"__isSmartRef__":true,"id":759},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":760}},"761":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":135596,"stopIndex":136764,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":760},{"__isSmartRef__":true,"id":762},{"__isSmartRef__":true,"id":763},{"__isSmartRef__":true,"id":764},{"__isSmartRef__":true,"id":765},{"__isSmartRef__":true,"id":766}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":761}},"762":{"registeredObject":{"name":"addDependent","type":"propertyDef","startIndex":135760,"stopIndex":135830,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":761},"className":"Model","_owner":{"__isSmartRef__":true,"id":759},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":762}},"763":{"registeredObject":{"name":"removeDependent","type":"propertyDef","startIndex":135833,"stopIndex":135970,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":761},"className":"Model","_owner":{"__isSmartRef__":true,"id":759},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":763}},"764":{"registeredObject":{"name":"changed","type":"propertyDef","startIndex":135973,"stopIndex":136489,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":761},"className":"Model","_owner":{"__isSmartRef__":true,"id":759},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":764}},"765":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":136492,"stopIndex":136580,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":761},"className":"Model","_owner":{"__isSmartRef__":true,"id":759},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":765}},"766":{"registeredObject":{"name":"copyFrom","type":"propertyDef","startIndex":136583,"stopIndex":136763,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":761},"className":"Model","_owner":{"__isSmartRef__":true,"id":759},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":766}},"767":{"registeredObject":{"name":null,"type":"comment","startIndex":136768,"stopIndex":136768,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":767}},"768":{"registeredObject":{"name":"ModelPlug","type":"klassDef","startIndex":136769,"stopIndex":137994,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":769},{"__isSmartRef__":true,"id":771},{"__isSmartRef__":true,"id":772},{"__isSmartRef__":true,"id":773},{"__isSmartRef__":true,"id":774},{"__isSmartRef__":true,"id":775}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"lively.data.Wrapper","categories":[{"__isSmartRef__":true,"id":770}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":768}},"769":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":136812,"stopIndex":136935,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":770},"className":"ModelPlug","_owner":{"__isSmartRef__":true,"id":768},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":769}},"770":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":136811,"stopIndex":137991,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":769},{"__isSmartRef__":true,"id":771},{"__isSmartRef__":true,"id":772},{"__isSmartRef__":true,"id":773},{"__isSmartRef__":true,"id":774},{"__isSmartRef__":true,"id":775}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":770}},"771":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":136938,"stopIndex":137091,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":770},"className":"ModelPlug","_owner":{"__isSmartRef__":true,"id":768},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":771}},"772":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":137098,"stopIndex":137296,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":770},"className":"ModelPlug","_owner":{"__isSmartRef__":true,"id":768},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":772}},"773":{"registeredObject":{"name":"serialize","type":"propertyDef","startIndex":137299,"stopIndex":137657,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":770},"className":"ModelPlug","_owner":{"__isSmartRef__":true,"id":768},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":773}},"774":{"registeredObject":{"name":"inspect","type":"propertyDef","startIndex":137660,"stopIndex":137721,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":770},"className":"ModelPlug","_owner":{"__isSmartRef__":true,"id":768},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":774}},"775":{"registeredObject":{"name":"deserialize","type":"propertyDef","startIndex":137724,"stopIndex":137990,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":770},"className":"ModelPlug","_owner":{"__isSmartRef__":true,"id":768},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":775}},"776":{"registeredObject":{"name":null,"type":"comment","startIndex":137995,"stopIndex":137996,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":776}},"777":{"registeredObject":{"name":"SyntheticModel","type":"klassDef","startIndex":137997,"stopIndex":140440,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":778},{"__isSmartRef__":true,"id":780},{"__isSmartRef__":true,"id":781},{"__isSmartRef__":true,"id":782},{"__isSmartRef__":true,"id":783},{"__isSmartRef__":true,"id":784},{"__isSmartRef__":true,"id":785},{"__isSmartRef__":true,"id":786},{"__isSmartRef__":true,"id":787},{"__isSmartRef__":true,"id":788},{"__isSmartRef__":true,"id":789},{"__isSmartRef__":true,"id":790}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Model","categories":[{"__isSmartRef__":true,"id":779}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":777}},"778":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":138032,"stopIndex":138115,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":778}},"779":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":138030,"stopIndex":140437,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":778},{"__isSmartRef__":true,"id":780},{"__isSmartRef__":true,"id":781},{"__isSmartRef__":true,"id":782},{"__isSmartRef__":true,"id":783},{"__isSmartRef__":true,"id":784},{"__isSmartRef__":true,"id":785},{"__isSmartRef__":true,"id":786},{"__isSmartRef__":true,"id":787},{"__isSmartRef__":true,"id":788},{"__isSmartRef__":true,"id":789},{"__isSmartRef__":true,"id":790}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":779}},"780":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":138118,"stopIndex":138444,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":780}},"781":{"registeredObject":{"name":"makeGetter","type":"propertyDef","startIndex":138447,"stopIndex":138573,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":781}},"782":{"registeredObject":{"name":"makeSetter","type":"propertyDef","startIndex":138576,"stopIndex":138726,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":782}},"783":{"registeredObject":{"name":"addVariable","type":"propertyDef","startIndex":138729,"stopIndex":138936,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":783}},"784":{"registeredObject":{"name":"getterName","type":"propertyDef","startIndex":138939,"stopIndex":139005,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":784}},"785":{"registeredObject":{"name":"get","type":"propertyDef","startIndex":139008,"stopIndex":139199,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":785}},"786":{"registeredObject":{"name":"setterName","type":"propertyDef","startIndex":139202,"stopIndex":139268,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":786}},"787":{"registeredObject":{"name":"set","type":"propertyDef","startIndex":139271,"stopIndex":139474,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":787}},"788":{"registeredObject":{"name":"makePlugSpecFromPins","type":"propertyDef","startIndex":139477,"stopIndex":139982,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":788}},"789":{"registeredObject":{"name":"makePlugSpec","type":"propertyDef","startIndex":139985,"stopIndex":140316,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":789}},"790":{"registeredObject":{"name":"variables","type":"propertyDef","startIndex":140319,"stopIndex":140436,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":779},"className":"SyntheticModel","_owner":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":790}},"791":{"registeredObject":{"name":null,"type":"comment","startIndex":140441,"stopIndex":141201,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":791}},"792":{"registeredObject":{"name":"PasteUpMorph","type":"klassDef","startIndex":141202,"stopIndex":144564,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":793},{"__isSmartRef__":true,"id":795},{"__isSmartRef__":true,"id":796},{"__isSmartRef__":true,"id":797},{"__isSmartRef__":true,"id":798},{"__isSmartRef__":true,"id":799},{"__isSmartRef__":true,"id":800},{"__isSmartRef__":true,"id":801}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Morph","categories":[{"__isSmartRef__":true,"id":794}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":792}},"793":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":141236,"stopIndex":141316,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":793}},"794":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":141233,"stopIndex":144561,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":793},{"__isSmartRef__":true,"id":795},{"__isSmartRef__":true,"id":796},{"__isSmartRef__":true,"id":797},{"__isSmartRef__":true,"id":798},{"__isSmartRef__":true,"id":799},{"__isSmartRef__":true,"id":800},{"__isSmartRef__":true,"id":801}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":794}},"795":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":141319,"stopIndex":141420,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":795}},"796":{"registeredObject":{"name":"captureMouseEvent","type":"propertyDef","startIndex":141427,"stopIndex":141670,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":796}},"797":{"registeredObject":{"name":"onMouseDown","type":"propertyDef","startIndex":141673,"stopIndex":142422,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":797}},"798":{"registeredObject":{"name":"bounds","type":"propertyDef","startIndex":142426,"stopIndex":142532,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":798}},"799":{"registeredObject":{"name":"onMouseWheel","type":"propertyDef","startIndex":142536,"stopIndex":143873,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":799}},"800":{"registeredObject":{"name":"okToBeGrabbedBy","type":"propertyDef","startIndex":143877,"stopIndex":144012,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":800}},"801":{"registeredObject":{"name":"makeSelection","type":"propertyDef","startIndex":144015,"stopIndex":144552,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":794},"className":"PasteUpMorph","_owner":{"__isSmartRef__":true,"id":792},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":801}},"802":{"registeredObject":{"name":"Styles","type":"klassDef","startIndex":144565,"stopIndex":144591,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":802}},"803":{"registeredObject":{"name":"Styles","type":"klassExtensionDef","startIndex":144592,"stopIndex":144849,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":804}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":805}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":803}},"804":{"registeredObject":{"name":"titleBarButtonGradient","type":"propertyDef","startIndex":144616,"stopIndex":144845,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":805},"className":"Styles","_owner":{"__isSmartRef__":true,"id":803},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":804}},"805":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":144614,"stopIndex":144846,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":804}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":805}},"806":{"registeredObject":{"name":null,"type":"comment","startIndex":144850,"stopIndex":144850,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":806}},"807":{"registeredObject":{"name":null,"type":"unknown","startIndex":144851,"stopIndex":144878,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":807}},"808":{"registeredObject":{"name":"Global.DisplayThemes","type":"objectDef","startIndex":144879,"stopIndex":144905,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":808}},"809":{"registeredObject":{"name":null,"type":"comment","startIndex":144906,"stopIndex":144906,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":809}},"810":{"registeredObject":{"name":"WorldMorph","type":"klassDef","startIndex":144907,"stopIndex":192332,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":811},{"__isSmartRef__":true,"id":813},{"__isSmartRef__":true,"id":814},{"__isSmartRef__":true,"id":815},{"__isSmartRef__":true,"id":816},{"__isSmartRef__":true,"id":818},{"__isSmartRef__":true,"id":819},{"__isSmartRef__":true,"id":820},{"__isSmartRef__":true,"id":821},{"__isSmartRef__":true,"id":822},{"__isSmartRef__":true,"id":824},{"__isSmartRef__":true,"id":825},{"__isSmartRef__":true,"id":826},{"__isSmartRef__":true,"id":827},{"__isSmartRef__":true,"id":828},{"__isSmartRef__":true,"id":829},{"__isSmartRef__":true,"id":830},{"__isSmartRef__":true,"id":831},{"__isSmartRef__":true,"id":832},{"__isSmartRef__":true,"id":833},{"__isSmartRef__":true,"id":834},{"__isSmartRef__":true,"id":836},{"__isSmartRef__":true,"id":837},{"__isSmartRef__":true,"id":838},{"__isSmartRef__":true,"id":840},{"__isSmartRef__":true,"id":841},{"__isSmartRef__":true,"id":842},{"__isSmartRef__":true,"id":843},{"__isSmartRef__":true,"id":844},{"__isSmartRef__":true,"id":845},{"__isSmartRef__":true,"id":846},{"__isSmartRef__":true,"id":847},{"__isSmartRef__":true,"id":849},{"__isSmartRef__":true,"id":850},{"__isSmartRef__":true,"id":851},{"__isSmartRef__":true,"id":852},{"__isSmartRef__":true,"id":853},{"__isSmartRef__":true,"id":854},{"__isSmartRef__":true,"id":855},{"__isSmartRef__":true,"id":856},{"__isSmartRef__":true,"id":857},{"__isSmartRef__":true,"id":858},{"__isSmartRef__":true,"id":860},{"__isSmartRef__":true,"id":861},{"__isSmartRef__":true,"id":862},{"__isSmartRef__":true,"id":863},{"__isSmartRef__":true,"id":864},{"__isSmartRef__":true,"id":865},{"__isSmartRef__":true,"id":866},{"__isSmartRef__":true,"id":867},{"__isSmartRef__":true,"id":869},{"__isSmartRef__":true,"id":870},{"__isSmartRef__":true,"id":871},{"__isSmartRef__":true,"id":872},{"__isSmartRef__":true,"id":873},{"__isSmartRef__":true,"id":874},{"__isSmartRef__":true,"id":875},{"__isSmartRef__":true,"id":876},{"__isSmartRef__":true,"id":877},{"__isSmartRef__":true,"id":878},{"__isSmartRef__":true,"id":880},{"__isSmartRef__":true,"id":881},{"__isSmartRef__":true,"id":883},{"__isSmartRef__":true,"id":884},{"__isSmartRef__":true,"id":885},{"__isSmartRef__":true,"id":886},{"__isSmartRef__":true,"id":887},{"__isSmartRef__":true,"id":888},{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":890},{"__isSmartRef__":true,"id":891},{"__isSmartRef__":true,"id":893},{"__isSmartRef__":true,"id":894},{"__isSmartRef__":true,"id":895},{"__isSmartRef__":true,"id":896},{"__isSmartRef__":true,"id":897},{"__isSmartRef__":true,"id":898},{"__isSmartRef__":true,"id":899},{"__isSmartRef__":true,"id":900},{"__isSmartRef__":true,"id":901},{"__isSmartRef__":true,"id":902},{"__isSmartRef__":true,"id":904},{"__isSmartRef__":true,"id":905},{"__isSmartRef__":true,"id":906},{"__isSmartRef__":true,"id":907},{"__isSmartRef__":true,"id":909},{"__isSmartRef__":true,"id":910},{"__isSmartRef__":true,"id":911},{"__isSmartRef__":true,"id":912},{"__isSmartRef__":true,"id":914},{"__isSmartRef__":true,"id":915},{"__isSmartRef__":true,"id":916},{"__isSmartRef__":true,"id":918},{"__isSmartRef__":true,"id":919},{"__isSmartRef__":true,"id":920}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"PasteUpMorph","categories":[{"__isSmartRef__":true,"id":812},{"__isSmartRef__":true,"id":817},{"__isSmartRef__":true,"id":823},{"__isSmartRef__":true,"id":835},{"__isSmartRef__":true,"id":839},{"__isSmartRef__":true,"id":848},{"__isSmartRef__":true,"id":859},{"__isSmartRef__":true,"id":868},{"__isSmartRef__":true,"id":879},{"__isSmartRef__":true,"id":882},{"__isSmartRef__":true,"id":892},{"__isSmartRef__":true,"id":903},{"__isSmartRef__":true,"id":908},{"__isSmartRef__":true,"id":913},{"__isSmartRef__":true,"id":917}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":810}},"811":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":144958,"stopIndex":145031,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":812},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":811}},"812":{"registeredObject":{"name":"defaults","type":"categoryDef","startIndex":144944,"stopIndex":145172,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":811},{"__isSmartRef__":true,"id":813},{"__isSmartRef__":true,"id":814},{"__isSmartRef__":true,"id":815}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":812}},"813":{"registeredObject":{"name":"fill","type":"propertyDef","startIndex":145033,"stopIndex":145061,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":812},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":813}},"814":{"registeredObject":{"name":"defaultExtent","type":"propertyDef","startIndex":145063,"stopIndex":145096,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":812},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":814}},"815":{"registeredObject":{"name":"styleClass","type":"propertyDef","startIndex":145098,"stopIndex":145120,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":812},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":815}},"816":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":145193,"stopIndex":146027,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":817},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":816}},"817":{"registeredObject":{"name":"initilization","type":"categoryDef","startIndex":145174,"stopIndex":147673,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":816},{"__isSmartRef__":true,"id":818},{"__isSmartRef__":true,"id":819},{"__isSmartRef__":true,"id":820},{"__isSmartRef__":true,"id":821}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":817}},"818":{"registeredObject":{"name":"doNotSerialize","type":"propertyDef","startIndex":146030,"stopIndex":146193,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":817},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":818}},"819":{"registeredObject":{"name":"initializeTransientState","type":"propertyDef","startIndex":146196,"stopIndex":147109,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":817},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":819}},"820":{"registeredObject":{"name":"collectAllUsedFills","type":"propertyDef","startIndex":147112,"stopIndex":147434,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":817},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":820}},"821":{"registeredObject":{"name":"remove","type":"propertyDef","startIndex":147441,"stopIndex":147670,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":817},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":821}},"822":{"registeredObject":{"name":"getInsertPositionFor","type":"propertyDef","startIndex":147689,"stopIndex":148007,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":822}},"823":{"registeredObject":{"name":"private","type":"categoryDef","startIndex":147675,"stopIndex":151119,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":822},{"__isSmartRef__":true,"id":824},{"__isSmartRef__":true,"id":825},{"__isSmartRef__":true,"id":826},{"__isSmartRef__":true,"id":827},{"__isSmartRef__":true,"id":828},{"__isSmartRef__":true,"id":829},{"__isSmartRef__":true,"id":830},{"__isSmartRef__":true,"id":831},{"__isSmartRef__":true,"id":832},{"__isSmartRef__":true,"id":833}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":823}},"824":{"registeredObject":{"name":"toggleNativeCursor","type":"propertyDef","startIndex":148011,"stopIndex":148123,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":824}},"825":{"registeredObject":{"name":"resizeCanvasToFitWorld","type":"propertyDef","startIndex":148126,"stopIndex":148642,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":825}},"826":{"registeredObject":{"name":"displayOnCanvas","type":"propertyDef","startIndex":148645,"stopIndex":149021,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":826}},"827":{"registeredObject":{"name":"addHand","type":"propertyDef","startIndex":149028,"stopIndex":149634,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":827}},"828":{"registeredObject":{"name":"removeHand","type":"propertyDef","startIndex":149641,"stopIndex":150009,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":828}},"829":{"registeredObject":{"name":"toggleBalloonHelp","type":"propertyDef","startIndex":150013,"stopIndex":150138,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":829}},"830":{"registeredObject":{"name":"toggleDebugBackground","type":"propertyDef","startIndex":150141,"stopIndex":150441,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":830}},"831":{"registeredObject":{"name":"chooseDisplayTheme","type":"propertyDef","startIndex":150444,"stopIndex":150853,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":831}},"832":{"registeredObject":{"name":"setDisplayTheme","type":"propertyDef","startIndex":150860,"stopIndex":151024,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":832}},"833":{"registeredObject":{"name":"restart","type":"propertyDef","startIndex":151031,"stopIndex":151115,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":823},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":833}},"834":{"registeredObject":{"name":"layoutChanged","type":"propertyDef","startIndex":151140,"stopIndex":151192,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":835},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":834}},"835":{"registeredObject":{"name":"geometry","type":"categoryDef","startIndex":151121,"stopIndex":151333,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":834},{"__isSmartRef__":true,"id":836},{"__isSmartRef__":true,"id":837}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":835}},"836":{"registeredObject":{"name":"layoutOnSubmorphLayout","type":"propertyDef","startIndex":151195,"stopIndex":151256,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":835},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":836}},"837":{"registeredObject":{"name":"moveBy","type":"propertyDef","startIndex":151264,"stopIndex":151330,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":835},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":837}},"838":{"registeredObject":{"name":"world","type":"propertyDef","startIndex":151347,"stopIndex":151399,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":838}},"839":{"registeredObject":{"name":"world","type":"categoryDef","startIndex":151335,"stopIndex":152100,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":838},{"__isSmartRef__":true,"id":840},{"__isSmartRef__":true,"id":841},{"__isSmartRef__":true,"id":842},{"__isSmartRef__":true,"id":843},{"__isSmartRef__":true,"id":844},{"__isSmartRef__":true,"id":845},{"__isSmartRef__":true,"id":846}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":839}},"840":{"registeredObject":{"name":"validatedWorld","type":"propertyDef","startIndex":151403,"stopIndex":151464,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":840}},"841":{"registeredObject":{"name":"firstHand","type":"propertyDef","startIndex":151471,"stopIndex":151534,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":841}},"842":{"registeredObject":{"name":"onEnter","type":"propertyDef","startIndex":151537,"stopIndex":151563,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":842}},"843":{"registeredObject":{"name":"onExit","type":"propertyDef","startIndex":151565,"stopIndex":151590,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":843}},"844":{"registeredObject":{"name":"relativize","type":"propertyDef","startIndex":151650,"stopIndex":151805,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":844}},"845":{"registeredObject":{"name":"hideHostMouseCursor","type":"propertyDef","startIndex":151807,"stopIndex":152014,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":845}},"846":{"registeredObject":{"name":"showHostMouseCursor","type":"propertyDef","startIndex":152016,"stopIndex":152094,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":839},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":846}},"847":{"registeredObject":{"name":"scheduleForLater","type":"propertyDef","startIndex":153782,"stopIndex":154007,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":847}},"848":{"registeredObject":{"name":"stepping","type":"categoryDef","startIndex":152102,"stopIndex":160604,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":847},{"__isSmartRef__":true,"id":849},{"__isSmartRef__":true,"id":850},{"__isSmartRef__":true,"id":851},{"__isSmartRef__":true,"id":852},{"__isSmartRef__":true,"id":853},{"__isSmartRef__":true,"id":854},{"__isSmartRef__":true,"id":855},{"__isSmartRef__":true,"id":856},{"__isSmartRef__":true,"id":857}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":848}},"849":{"registeredObject":{"name":"startSteppingFor","type":"propertyDef","startIndex":154014,"stopIndex":154285,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":849}},"850":{"registeredObject":{"name":"stopSteppingFor","type":"propertyDef","startIndex":154292,"stopIndex":154805,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":850}},"851":{"registeredObject":{"name":"stopSteppingScriptNamedAndRemoveFromSubmorphs","type":"propertyDef","startIndex":154808,"stopIndex":155273,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":851}},"852":{"registeredObject":{"name":"validateScheduler","type":"propertyDef","startIndex":155280,"stopIndex":155777,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":852}},"853":{"registeredObject":{"name":"inspectScheduledActions","type":"propertyDef","startIndex":155780,"stopIndex":156082,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":853}},"854":{"registeredObject":{"name":"doOneCycle","type":"propertyDef","startIndex":156085,"stopIndex":159561,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":854}},"855":{"registeredObject":{"name":"setNextStepTime","type":"propertyDef","startIndex":159564,"stopIndex":159864,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":855}},"856":{"registeredObject":{"name":"kickstartMainLoop","type":"propertyDef","startIndex":159867,"stopIndex":160028,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":856}},"857":{"registeredObject":{"name":"scheduleAction","type":"propertyDef","startIndex":160031,"stopIndex":160601,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":848},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":857}},"858":{"registeredObject":{"name":"openURLasText","type":"propertyDef","startIndex":160624,"stopIndex":160960,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":858}},"859":{"registeredObject":{"name":"dialogs","type":"categoryDef","startIndex":160606,"stopIndex":165043,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":858},{"__isSmartRef__":true,"id":860},{"__isSmartRef__":true,"id":861},{"__isSmartRef__":true,"id":862},{"__isSmartRef__":true,"id":863},{"__isSmartRef__":true,"id":864},{"__isSmartRef__":true,"id":865},{"__isSmartRef__":true,"id":866}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":859}},"860":{"registeredObject":{"name":"viewport","type":"propertyDef","startIndex":160963,"stopIndex":161137,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":860}},"861":{"registeredObject":{"name":"alert","type":"propertyDef","startIndex":161140,"stopIndex":161389,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":861}},"862":{"registeredObject":{"name":"prompt","type":"propertyDef","startIndex":161392,"stopIndex":161903,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":862}},"863":{"registeredObject":{"name":"editPrompt","type":"propertyDef","startIndex":161906,"stopIndex":162172,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":863}},"864":{"registeredObject":{"name":"confirm","type":"propertyDef","startIndex":162175,"stopIndex":162626,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":864}},"865":{"registeredObject":{"name":"showErrorDialog","type":"propertyDef","startIndex":162628,"stopIndex":164025,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":865}},"866":{"registeredObject":{"name":"showErrorDiaglogInWorkspace","type":"propertyDef","startIndex":164027,"stopIndex":165040,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":859},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":866}},"867":{"registeredObject":{"name":"addFramedMorph","type":"propertyDef","startIndex":165066,"stopIndex":165305,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":867}},"868":{"registeredObject":{"name":"new content","type":"categoryDef","startIndex":165045,"stopIndex":168689,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":867},{"__isSmartRef__":true,"id":869},{"__isSmartRef__":true,"id":870},{"__isSmartRef__":true,"id":871},{"__isSmartRef__":true,"id":872},{"__isSmartRef__":true,"id":873},{"__isSmartRef__":true,"id":874},{"__isSmartRef__":true,"id":875},{"__isSmartRef__":true,"id":876},{"__isSmartRef__":true,"id":877}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":868}},"869":{"registeredObject":{"name":"addTextWindow","type":"propertyDef","startIndex":165308,"stopIndex":165787,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":869}},"870":{"registeredObject":{"name":"addTextListWindow","type":"propertyDef","startIndex":165790,"stopIndex":166356,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":870}},"871":{"registeredObject":{"name":"internalAddWindow","type":"propertyDef","startIndex":166359,"stopIndex":166768,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":871}},"872":{"registeredObject":{"name":"addMorphFrontOrBack","type":"propertyDef","startIndex":166772,"stopIndex":167093,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":872}},"873":{"registeredObject":{"name":"topWindow","type":"propertyDef","startIndex":167096,"stopIndex":167277,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":873}},"874":{"registeredObject":{"name":"positionForNewMorph","type":"propertyDef","startIndex":167280,"stopIndex":167768,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":874}},"875":{"registeredObject":{"name":"reactiveAddMorph","type":"propertyDef","startIndex":167771,"stopIndex":167966,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":875}},"876":{"registeredObject":{"name":"resizeByUser","type":"propertyDef","startIndex":167973,"stopIndex":168382,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":876}},"877":{"registeredObject":{"name":"addProgressBar","type":"propertyDef","startIndex":168385,"stopIndex":168686,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":868},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":877}},"878":{"registeredObject":{"name":"showAddWorldRequirementsMenu","type":"propertyDef","startIndex":168710,"stopIndex":169876,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":879},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":878}},"879":{"registeredObject":{"name":"Requirements","type":"categoryDef","startIndex":168692,"stopIndex":170414,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":878},{"__isSmartRef__":true,"id":880}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":879}},"880":{"registeredObject":{"name":"showRemoveWorldRequirementsMenu","type":"propertyDef","startIndex":169878,"stopIndex":170412,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":879},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":880}},"881":{"registeredObject":{"name":"promptAndSaveWorld","type":"propertyDef","startIndex":170442,"stopIndex":170884,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":881}},"882":{"registeredObject":{"name":"Feedback and Saving","type":"categoryDef","startIndex":170416,"stopIndex":175078,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":881},{"__isSmartRef__":true,"id":883},{"__isSmartRef__":true,"id":884},{"__isSmartRef__":true,"id":885},{"__isSmartRef__":true,"id":886},{"__isSmartRef__":true,"id":887},{"__isSmartRef__":true,"id":888},{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":890}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":882}},"883":{"registeredObject":{"name":"saveWorldWithJSON","type":"propertyDef","startIndex":170887,"stopIndex":171624,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":883}},"884":{"registeredObject":{"name":"saveWorld","type":"propertyDef","startIndex":171628,"stopIndex":173189,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":884}},"885":{"registeredObject":{"name":"windowBounds","type":"propertyDef","startIndex":173192,"stopIndex":173693,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":885}},"886":{"registeredObject":{"name":"visibleBounds","type":"propertyDef","startIndex":173697,"stopIndex":174120,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":886}},"887":{"registeredObject":{"name":"ensureStatusMessageContainer","type":"propertyDef","startIndex":174123,"stopIndex":174515,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":887}},"888":{"registeredObject":{"name":"setStatusMessage","type":"propertyDef","startIndex":174518,"stopIndex":174746,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":888}},"889":{"registeredObject":{"name":"showStatusProgress","type":"propertyDef","startIndex":174750,"stopIndex":174918,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":889}},"890":{"registeredObject":{"name":"askForWorldTitle","type":"propertyDef","startIndex":174922,"stopIndex":175075,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":882},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":890}},"891":{"registeredObject":{"name":"isProtectedWorld","type":"propertyDef","startIndex":175282,"stopIndex":175380,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":891}},"892":{"registeredObject":{"name":"Menus ","type":"categoryDef","startIndex":175270,"stopIndex":188785,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":891},{"__isSmartRef__":true,"id":893},{"__isSmartRef__":true,"id":894},{"__isSmartRef__":true,"id":895},{"__isSmartRef__":true,"id":896},{"__isSmartRef__":true,"id":897},{"__isSmartRef__":true,"id":898},{"__isSmartRef__":true,"id":899},{"__isSmartRef__":true,"id":900},{"__isSmartRef__":true,"id":901}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":892}},"893":{"registeredObject":{"name":"morphMenu","type":"propertyDef","startIndex":175384,"stopIndex":177084,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":893}},"894":{"registeredObject":{"name":"simpleMorphsSubMenuItems","type":"propertyDef","startIndex":177088,"stopIndex":178151,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":894}},"895":{"registeredObject":{"name":"complexMorphsSubMenuItems","type":"propertyDef","startIndex":178154,"stopIndex":180829,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":895}},"896":{"registeredObject":{"name":"toolSubMenuItems","type":"propertyDef","startIndex":180833,"stopIndex":184716,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":896}},"897":{"registeredObject":{"name":"scriptingSubMenuItems","type":"propertyDef","startIndex":184719,"stopIndex":185368,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":897}},"898":{"registeredObject":{"name":"preferencesSubMenuItems","type":"propertyDef","startIndex":185371,"stopIndex":186813,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":898}},"899":{"registeredObject":{"name":"helpSubMenuItems","type":"propertyDef","startIndex":186818,"stopIndex":187289,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":899}},"900":{"registeredObject":{"name":"subMenuItems","type":"propertyDef","startIndex":187293,"stopIndex":187699,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":900}},"901":{"registeredObject":{"name":"showPieMenu","type":"propertyDef","startIndex":187703,"stopIndex":188783,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":892},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":901}},"902":{"registeredObject":{"name":"pastePosition","type":"propertyDef","startIndex":188837,"stopIndex":189008,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":903},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":902}},"903":{"registeredObject":{"name":"Copy And Paste (Private)","type":"categoryDef","startIndex":188787,"stopIndex":189736,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":902},{"__isSmartRef__":true,"id":904},{"__isSmartRef__":true,"id":905},{"__isSmartRef__":true,"id":906}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":903}},"904":{"registeredObject":{"name":"pasteFromSource","type":"propertyDef","startIndex":189016,"stopIndex":189295,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":903},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":904}},"905":{"registeredObject":{"name":"copySelectionAsXMLString","type":"propertyDef","startIndex":189299,"stopIndex":189672,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":903},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":905}},"906":{"registeredObject":{"name":"pasteDestinationMorph","type":"propertyDef","startIndex":189675,"stopIndex":189729,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":903},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":906}},"907":{"registeredObject":{"name":"takesKeyboardFocus","type":"propertyDef","startIndex":189759,"stopIndex":189794,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":908},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":907}},"908":{"registeredObject":{"name":"Keyboard Events","type":"categoryDef","startIndex":189738,"stopIndex":191444,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":907},{"__isSmartRef__":true,"id":909},{"__isSmartRef__":true,"id":910},{"__isSmartRef__":true,"id":911}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":908}},"909":{"registeredObject":{"name":"onKeyDown","type":"propertyDef","startIndex":189798,"stopIndex":191165,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":908},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":909}},"910":{"registeredObject":{"name":"onKeyPress","type":"propertyDef","startIndex":191169,"stopIndex":191307,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":908},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":910}},"911":{"registeredObject":{"name":"onKeyUp","type":"propertyDef","startIndex":191310,"stopIndex":191441,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":908},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":911}},"912":{"registeredObject":{"name":"doCopy","type":"propertyDef","startIndex":191460,"stopIndex":191570,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":913},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":912}},"913":{"registeredObject":{"name":"Commands","type":"categoryDef","startIndex":191446,"stopIndex":191871,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":912},{"__isSmartRef__":true,"id":914},{"__isSmartRef__":true,"id":915}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":913}},"914":{"registeredObject":{"name":"doPaste","type":"propertyDef","startIndex":191574,"stopIndex":191727,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":913},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":914}},"915":{"registeredObject":{"name":"doCut","type":"propertyDef","startIndex":191731,"stopIndex":191868,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":913},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":915}},"916":{"registeredObject":{"name":"getChangeSet","type":"propertyDef","startIndex":191889,"stopIndex":191955,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":917},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":916}},"917":{"registeredObject":{"name":"local code","type":"categoryDef","startIndex":191873,"stopIndex":192328,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":916},{"__isSmartRef__":true,"id":918},{"__isSmartRef__":true,"id":919},{"__isSmartRef__":true,"id":920}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":917}},"918":{"registeredObject":{"name":"setChangeSet","type":"propertyDef","startIndex":191957,"stopIndex":192050,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":917},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":918}},"919":{"registeredObject":{"name":"getCodeNode","type":"propertyDef","startIndex":192053,"stopIndex":192187,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":917},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":919}},"920":{"registeredObject":{"name":"replaceCodeNode","type":"propertyDef","startIndex":192189,"stopIndex":192323,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":917},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":920}},"921":{"registeredObject":{"name":"WorldMorph","type":"klassExtensionDef","startIndex":192333,"stopIndex":192493,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":922},{"__isSmartRef__":true,"id":924},{"__isSmartRef__":true,"id":925}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":923}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":921}},"922":{"registeredObject":{"name":"worldCount","type":"propertyDef","startIndex":192365,"stopIndex":192382,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":923},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":921},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":922}},"923":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":192359,"stopIndex":192490,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":922},{"__isSmartRef__":true,"id":924},{"__isSmartRef__":true,"id":925}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":923}},"924":{"registeredObject":{"name":"currentWorld","type":"propertyDef","startIndex":192389,"stopIndex":192411,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":923},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":921},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":924}},"925":{"registeredObject":{"name":"current","type":"propertyDef","startIndex":192418,"stopIndex":192489,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":923},"className":"WorldMorph","_owner":{"__isSmartRef__":true,"id":921},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":925}},"926":{"registeredObject":{"name":null,"type":"comment","startIndex":192494,"stopIndex":192663,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":926}},"927":{"registeredObject":{"name":"HandMorph","type":"klassDef","startIndex":192664,"stopIndex":209040,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":928},{"__isSmartRef__":true,"id":930},{"__isSmartRef__":true,"id":931},{"__isSmartRef__":true,"id":932},{"__isSmartRef__":true,"id":933},{"__isSmartRef__":true,"id":934},{"__isSmartRef__":true,"id":935},{"__isSmartRef__":true,"id":936},{"__isSmartRef__":true,"id":937},{"__isSmartRef__":true,"id":939},{"__isSmartRef__":true,"id":940},{"__isSmartRef__":true,"id":941},{"__isSmartRef__":true,"id":943},{"__isSmartRef__":true,"id":944},{"__isSmartRef__":true,"id":945},{"__isSmartRef__":true,"id":946},{"__isSmartRef__":true,"id":948},{"__isSmartRef__":true,"id":949},{"__isSmartRef__":true,"id":950},{"__isSmartRef__":true,"id":951},{"__isSmartRef__":true,"id":952},{"__isSmartRef__":true,"id":954},{"__isSmartRef__":true,"id":955},{"__isSmartRef__":true,"id":956},{"__isSmartRef__":true,"id":958},{"__isSmartRef__":true,"id":959},{"__isSmartRef__":true,"id":960},{"__isSmartRef__":true,"id":961},{"__isSmartRef__":true,"id":962},{"__isSmartRef__":true,"id":964},{"__isSmartRef__":true,"id":965},{"__isSmartRef__":true,"id":966},{"__isSmartRef__":true,"id":968},{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":970},{"__isSmartRef__":true,"id":971},{"__isSmartRef__":true,"id":972},{"__isSmartRef__":true,"id":974},{"__isSmartRef__":true,"id":975},{"__isSmartRef__":true,"id":976},{"__isSmartRef__":true,"id":977},{"__isSmartRef__":true,"id":979},{"__isSmartRef__":true,"id":980},{"__isSmartRef__":true,"id":981},{"__isSmartRef__":true,"id":983}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Morph","categories":[{"__isSmartRef__":true,"id":929},{"__isSmartRef__":true,"id":938},{"__isSmartRef__":true,"id":942},{"__isSmartRef__":true,"id":947},{"__isSmartRef__":true,"id":953},{"__isSmartRef__":true,"id":957},{"__isSmartRef__":true,"id":963},{"__isSmartRef__":true,"id":967},{"__isSmartRef__":true,"id":973},{"__isSmartRef__":true,"id":978},{"__isSmartRef__":true,"id":982},{"__isSmartRef__":true,"id":984}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":927}},"928":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":192720,"stopIndex":192795,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":928}},"929":{"registeredObject":{"name":"default properties","type":"categoryDef","startIndex":192693,"stopIndex":193141,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":928},{"__isSmartRef__":true,"id":930},{"__isSmartRef__":true,"id":931},{"__isSmartRef__":true,"id":932},{"__isSmartRef__":true,"id":933},{"__isSmartRef__":true,"id":934},{"__isSmartRef__":true,"id":935},{"__isSmartRef__":true,"id":936}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":929}},"930":{"registeredObject":{"name":"applyDropShadowFilter","type":"propertyDef","startIndex":192797,"stopIndex":192846,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":930}},"931":{"registeredObject":{"name":"dropShadowFilter","type":"propertyDef","startIndex":192848,"stopIndex":192894,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":931}},"932":{"registeredObject":{"name":"useShadowMorphs","type":"propertyDef","startIndex":192896,"stopIndex":192939,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":932}},"933":{"registeredObject":{"name":"shadowOffset","type":"propertyDef","startIndex":192942,"stopIndex":192967,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":933}},"934":{"registeredObject":{"name":"handleOnCapture","type":"propertyDef","startIndex":192969,"stopIndex":192995,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":934}},"935":{"registeredObject":{"name":"logDnD","type":"propertyDef","startIndex":192997,"stopIndex":193022,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":935}},"936":{"registeredObject":{"name":"grabHaloLabelStyle","type":"propertyDef","startIndex":193024,"stopIndex":193137,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":929},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":936}},"937":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":193153,"stopIndex":194107,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":938},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":937}},"938":{"registeredObject":{"name":"Basic","type":"categoryDef","startIndex":193143,"stopIndex":194281,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":937},{"__isSmartRef__":true,"id":939},{"__isSmartRef__":true,"id":940}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":938}},"939":{"registeredObject":{"name":"id","type":"propertyDef","startIndex":194110,"stopIndex":194219,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":938},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":939}},"940":{"registeredObject":{"name":"world","type":"propertyDef","startIndex":194222,"stopIndex":194278,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":938},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":940}},"941":{"registeredObject":{"name":"lookNormal","type":"propertyDef","startIndex":194294,"stopIndex":194426,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":942},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":941}},"942":{"registeredObject":{"name":"Looks","type":"categoryDef","startIndex":194283,"stopIndex":195143,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":941},{"__isSmartRef__":true,"id":943},{"__isSmartRef__":true,"id":944},{"__isSmartRef__":true,"id":945}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":942}},"943":{"registeredObject":{"name":"lookTouchy","type":"propertyDef","startIndex":194430,"stopIndex":194715,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":942},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":943}},"944":{"registeredObject":{"name":"lookLinky","type":"propertyDef","startIndex":194719,"stopIndex":194831,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":942},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":944}},"945":{"registeredObject":{"name":"lookLikeAnUpDownArrow","type":"propertyDef","startIndex":194834,"stopIndex":195140,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":942},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":945}},"946":{"registeredObject":{"name":"addOrRemoveEvents","type":"propertyDef","startIndex":195167,"stopIndex":195469,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":947},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":946}},"947":{"registeredObject":{"name":"Event Registering","type":"categoryDef","startIndex":195145,"stopIndex":195978,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":946},{"__isSmartRef__":true,"id":948},{"__isSmartRef__":true,"id":949},{"__isSmartRef__":true,"id":950},{"__isSmartRef__":true,"id":951}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":947}},"948":{"registeredObject":{"name":"registerForEvents","type":"propertyDef","startIndex":195473,"stopIndex":195588,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":947},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":948}},"949":{"registeredObject":{"name":"unregisterForEvents","type":"propertyDef","startIndex":195591,"stopIndex":195714,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":947},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":949}},"950":{"registeredObject":{"name":"registerForKeyboardEvents","type":"propertyDef","startIndex":195721,"stopIndex":195842,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":947},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":950}},"951":{"registeredObject":{"name":"unregisterForKeyboardEvents","type":"propertyDef","startIndex":195845,"stopIndex":195974,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":947},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":951}},"952":{"registeredObject":{"name":"resetMouseFocusChanges","type":"propertyDef","startIndex":195990,"stopIndex":196124,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":953},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":952}},"953":{"registeredObject":{"name":"Focus","type":"categoryDef","startIndex":195980,"stopIndex":196872,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":952},{"__isSmartRef__":true,"id":954},{"__isSmartRef__":true,"id":955}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":953}},"954":{"registeredObject":{"name":"setMouseFocus","type":"propertyDef","startIndex":196127,"stopIndex":196383,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":953},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":954}},"955":{"registeredObject":{"name":"setKeyboardFocus","type":"propertyDef","startIndex":196390,"stopIndex":196864,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":953},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":955}},"956":{"registeredObject":{"name":"handleEvent","type":"propertyDef","startIndex":196893,"stopIndex":197856,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":956}},"957":{"registeredObject":{"name":"Event Handling","type":"categoryDef","startIndex":196874,"stopIndex":202295,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":956},{"__isSmartRef__":true,"id":958},{"__isSmartRef__":true,"id":959},{"__isSmartRef__":true,"id":960},{"__isSmartRef__":true,"id":961}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":957}},"958":{"registeredObject":{"name":"armProfileFor","type":"propertyDef","startIndex":197859,"stopIndex":197971,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":958}},"959":{"registeredObject":{"name":"makeANullMove","type":"propertyDef","startIndex":197974,"stopIndex":198592,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":959}},"960":{"registeredObject":{"name":"handleMouseEvent","type":"propertyDef","startIndex":198595,"stopIndex":199085,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":960}},"961":{"registeredObject":{"name":"reallyHandleMouseEvent","type":"propertyDef","startIndex":199088,"stopIndex":202292,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":957},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":961}},"962":{"registeredObject":{"name":"checkMouseUpIsInClickTimeSpan","type":"propertyDef","startIndex":202307,"stopIndex":202601,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":963},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":962}},"963":{"registeredObject":{"name":"Misc","type":"categoryDef","startIndex":202297,"stopIndex":203296,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":962},{"__isSmartRef__":true,"id":964},{"__isSmartRef__":true,"id":965}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":963}},"964":{"registeredObject":{"name":"checkMouseOverAndOut","type":"propertyDef","startIndex":202604,"stopIndex":203053,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":963},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":964}},"965":{"registeredObject":{"name":"layoutChanged","type":"propertyDef","startIndex":203056,"stopIndex":203293,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":963},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":965}},"966":{"registeredObject":{"name":"isKeyDown","type":"propertyDef","startIndex":203318,"stopIndex":203427,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":967},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":966}},"967":{"registeredObject":{"name":"Keyboard Events","type":"categoryDef","startIndex":203298,"stopIndex":206026,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":966},{"__isSmartRef__":true,"id":968},{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":970},{"__isSmartRef__":true,"id":971}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":967}},"968":{"registeredObject":{"name":"forgetKeyDown","type":"propertyDef","startIndex":203431,"stopIndex":203703,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":967},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":968}},"969":{"registeredObject":{"name":"rememberKeyDown","type":"propertyDef","startIndex":203706,"stopIndex":203907,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":967},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":969}},"970":{"registeredObject":{"name":"handleKeyboardEvent","type":"propertyDef","startIndex":203910,"stopIndex":205201,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":967},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":970}},"971":{"registeredObject":{"name":"blockBrowserKeyBindings","type":"propertyDef","startIndex":205205,"stopIndex":206023,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":967},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":971}},"972":{"registeredObject":{"name":"bounds","type":"propertyDef","startIndex":206041,"stopIndex":206230,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":973},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":972}},"973":{"registeredObject":{"name":"Geometry","type":"categoryDef","startIndex":206028,"stopIndex":206916,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":972},{"__isSmartRef__":true,"id":974},{"__isSmartRef__":true,"id":975},{"__isSmartRef__":true,"id":976}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":973}},"974":{"registeredObject":{"name":"getInsertPositionFor","type":"propertyDef","startIndex":206233,"stopIndex":206425,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":973},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":974}},"975":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":206428,"stopIndex":206787,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":973},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":975}},"976":{"registeredObject":{"name":"setPosition","type":"propertyDef","startIndex":206790,"stopIndex":206913,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":973},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":976}},"977":{"registeredObject":{"name":"removeIndicatorMorph","type":"propertyDef","startIndex":206932,"stopIndex":207076,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":978},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":977}},"978":{"registeredObject":{"name":"Indicator","type":"categoryDef","startIndex":206918,"stopIndex":207650,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":977},{"__isSmartRef__":true,"id":979},{"__isSmartRef__":true,"id":980}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":978}},"979":{"registeredObject":{"name":"ensureIndicatorMorph","type":"propertyDef","startIndex":207079,"stopIndex":207474,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":978},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":979}},"980":{"registeredObject":{"name":"hasSubmorphs","type":"propertyDef","startIndex":207477,"stopIndex":207647,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":978},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":980}},"981":{"registeredObject":{"name":"scrollDuringDrag","type":"propertyDef","startIndex":207666,"stopIndex":208716,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":982},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":981}},"982":{"registeredObject":{"name":"Scrolling","type":"categoryDef","startIndex":207652,"stopIndex":208718,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":981}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":982}},"983":{"registeredObject":{"name":"changed","type":"propertyDef","startIndex":208754,"stopIndex":209035,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":984},"className":"HandMorph","_owner":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":983}},"984":{"registeredObject":{"name":"Fabrik Extension (DEPRICATED)","type":"categoryDef","startIndex":208720,"stopIndex":209037,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":983}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":984}},"985":{"registeredObject":{"name":null,"type":"comment","startIndex":209041,"stopIndex":209041,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":985}},"986":{"registeredObject":{"name":"LinkMorph","type":"klassDef","startIndex":209042,"stopIndex":214403,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":987},{"__isSmartRef__":true,"id":989},{"__isSmartRef__":true,"id":990},{"__isSmartRef__":true,"id":991},{"__isSmartRef__":true,"id":992},{"__isSmartRef__":true,"id":993},{"__isSmartRef__":true,"id":994},{"__isSmartRef__":true,"id":995},{"__isSmartRef__":true,"id":996},{"__isSmartRef__":true,"id":997},{"__isSmartRef__":true,"id":998},{"__isSmartRef__":true,"id":999},{"__isSmartRef__":true,"id":1000},{"__isSmartRef__":true,"id":1001},{"__isSmartRef__":true,"id":1002},{"__isSmartRef__":true,"id":1003},{"__isSmartRef__":true,"id":1004}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Morph","categories":[{"__isSmartRef__":true,"id":988}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":986}},"987":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":209073,"stopIndex":209137,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":987}},"988":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":209070,"stopIndex":214400,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":987},{"__isSmartRef__":true,"id":989},{"__isSmartRef__":true,"id":990},{"__isSmartRef__":true,"id":991},{"__isSmartRef__":true,"id":992},{"__isSmartRef__":true,"id":993},{"__isSmartRef__":true,"id":994},{"__isSmartRef__":true,"id":995},{"__isSmartRef__":true,"id":996},{"__isSmartRef__":true,"id":997},{"__isSmartRef__":true,"id":998},{"__isSmartRef__":true,"id":999},{"__isSmartRef__":true,"id":1000},{"__isSmartRef__":true,"id":1001},{"__isSmartRef__":true,"id":1002},{"__isSmartRef__":true,"id":1003},{"__isSmartRef__":true,"id":1004}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":988}},"989":{"registeredObject":{"name":"helpText","type":"propertyDef","startIndex":209139,"stopIndex":209310,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":989}},"990":{"registeredObject":{"name":"openForDragAndDrop","type":"propertyDef","startIndex":209312,"stopIndex":209341,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":990}},"991":{"registeredObject":{"name":"suppressHandles","type":"propertyDef","startIndex":209343,"stopIndex":209368,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":991}},"992":{"registeredObject":{"name":"style","type":"propertyDef","startIndex":209370,"stopIndex":209620,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":992}},"993":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":209627,"stopIndex":210681,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":993}},"994":{"registeredObject":{"name":"makeNewWorld","type":"propertyDef","startIndex":210688,"stopIndex":210757,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":994}},"995":{"registeredObject":{"name":"addPathBack","type":"propertyDef","startIndex":210764,"stopIndex":211159,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":995}},"996":{"registeredObject":{"name":"onDeserialize","type":"propertyDef","startIndex":211166,"stopIndex":211314,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":996}},"997":{"registeredObject":{"name":"handlesMouseDown","type":"propertyDef","startIndex":211317,"stopIndex":211370,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":997}},"998":{"registeredObject":{"name":"onMouseDown","type":"propertyDef","startIndex":211373,"stopIndex":211448,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":998}},"999":{"registeredObject":{"name":"morphMenu","type":"propertyDef","startIndex":211451,"stopIndex":211854,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":999}},"1000":{"registeredObject":{"name":"enterMyWorld","type":"propertyDef","startIndex":211857,"stopIndex":213699,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1000}},"1001":{"registeredObject":{"name":"onMouseOver","type":"propertyDef","startIndex":213706,"stopIndex":213919,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1001}},"1002":{"registeredObject":{"name":"onMouseOut","type":"propertyDef","startIndex":213922,"stopIndex":214017,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1002}},"1003":{"registeredObject":{"name":"getHelpText","type":"propertyDef","startIndex":214020,"stopIndex":214073,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1003}},"1004":{"registeredObject":{"name":"addLabel","type":"propertyDef","startIndex":214077,"stopIndex":214393,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":988},"className":"LinkMorph","_owner":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1004}},"1005":{"registeredObject":{"name":null,"type":"comment","startIndex":214404,"stopIndex":214404,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1005}},"1006":{"registeredObject":{"name":"ExternalLinkMorph","type":"klassDef","startIndex":214405,"stopIndex":215715,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1007},{"__isSmartRef__":true,"id":1009},{"__isSmartRef__":true,"id":1010},{"__isSmartRef__":true,"id":1011},{"__isSmartRef__":true,"id":1012},{"__isSmartRef__":true,"id":1013},{"__isSmartRef__":true,"id":1014},{"__isSmartRef__":true,"id":1015}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"LinkMorph","categories":[{"__isSmartRef__":true,"id":1008}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1006}},"1007":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":214448,"stopIndex":214533,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1007}},"1008":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":214445,"stopIndex":215712,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1007},{"__isSmartRef__":true,"id":1009},{"__isSmartRef__":true,"id":1010},{"__isSmartRef__":true,"id":1011},{"__isSmartRef__":true,"id":1012},{"__isSmartRef__":true,"id":1013},{"__isSmartRef__":true,"id":1014},{"__isSmartRef__":true,"id":1015}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1008}},"1009":{"registeredObject":{"name":"style","type":"propertyDef","startIndex":214536,"stopIndex":214709,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1009}},"1010":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":214716,"stopIndex":214864,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1010}},"1011":{"registeredObject":{"name":"makeNewWorld","type":"propertyDef","startIndex":214867,"stopIndex":214899,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1011}},"1012":{"registeredObject":{"name":"addPathBack","type":"propertyDef","startIndex":214907,"stopIndex":214938,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1012}},"1013":{"registeredObject":{"name":"enterMyWorld","type":"propertyDef","startIndex":214941,"stopIndex":215330,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1013}},"1014":{"registeredObject":{"name":"getHelpText","type":"propertyDef","startIndex":215337,"stopIndex":215411,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1014}},"1015":{"registeredObject":{"name":"morphMenu","type":"propertyDef","startIndex":215414,"stopIndex":215711,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1008},"className":"ExternalLinkMorph","_owner":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1015}},"1016":{"registeredObject":{"name":null,"type":"comment","startIndex":215716,"stopIndex":215768,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1016}},"1017":{"registeredObject":{"name":"BoxMorph","type":"klassDef","startIndex":215769,"stopIndex":215995,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1018},{"__isSmartRef__":true,"id":1020}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Morph","categories":[{"__isSmartRef__":true,"id":1019}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1017}},"1018":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":215799,"stopIndex":215878,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1019},"className":"BoxMorph","_owner":{"__isSmartRef__":true,"id":1017},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1018}},"1019":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":215796,"stopIndex":215992,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1018},{"__isSmartRef__":true,"id":1020}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1019}},"1020":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":215881,"stopIndex":215989,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1019},"className":"BoxMorph","_owner":{"__isSmartRef__":true,"id":1017},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1020}},"1021":{"registeredObject":{"name":null,"type":"comment","startIndex":215996,"stopIndex":215996,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1021}},"1022":{"registeredObject":{"name":"ContainerMorph","type":"klassDef","startIndex":215997,"stopIndex":217054,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1023},{"__isSmartRef__":true,"id":1025},{"__isSmartRef__":true,"id":1026},{"__isSmartRef__":true,"id":1027},{"__isSmartRef__":true,"id":1028}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"BoxMorph","categories":[{"__isSmartRef__":true,"id":1024}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1022}},"1023":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":216035,"stopIndex":216111,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1024},"className":"ContainerMorph","_owner":{"__isSmartRef__":true,"id":1022},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1023}},"1024":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":216033,"stopIndex":217051,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1023},{"__isSmartRef__":true,"id":1025},{"__isSmartRef__":true,"id":1026},{"__isSmartRef__":true,"id":1027},{"__isSmartRef__":true,"id":1028}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1024}},"1025":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":216114,"stopIndex":216195,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1024},"className":"ContainerMorph","_owner":{"__isSmartRef__":true,"id":1022},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1025}},"1026":{"registeredObject":{"name":"initializeTransientState","type":"propertyDef","startIndex":216198,"stopIndex":216326,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1024},"className":"ContainerMorph","_owner":{"__isSmartRef__":true,"id":1022},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1026}},"1027":{"registeredObject":{"name":"addMorph","type":"propertyDef","startIndex":216329,"stopIndex":216559,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1024},"className":"ContainerMorph","_owner":{"__isSmartRef__":true,"id":1022},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1027}},"1028":{"registeredObject":{"name":"adjustForNewBounds","type":"propertyDef","startIndex":216562,"stopIndex":217045,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1024},"className":"ContainerMorph","_owner":{"__isSmartRef__":true,"id":1022},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1028}},"1029":{"registeredObject":{"name":null,"type":"comment","startIndex":217055,"stopIndex":217073,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1029}},"1030":{"registeredObject":{"name":"Global.ClipboardHack","type":"objectDef","startIndex":217074,"stopIndex":220044,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1031},{"__isSmartRef__":true,"id":1033},{"__isSmartRef__":true,"id":1034},{"__isSmartRef__":true,"id":1035}],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1030}},"1031":{"registeredObject":{"name":"ensurePasteBuffer","type":"propertyDef","startIndex":217099,"stopIndex":218302,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1032},"_owner":{"__isSmartRef__":true,"id":1030},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1031}},"1032":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":23,"stopIndex":2970,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":1031},{"__isSmartRef__":true,"id":1033},{"__isSmartRef__":true,"id":1034},{"__isSmartRef__":true,"id":1035}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1032}},"1033":{"registeredObject":{"name":"selectPasteBuffer","type":"propertyDef","startIndex":218306,"stopIndex":218413,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1032},"_owner":{"__isSmartRef__":true,"id":1030},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1033}},"1034":{"registeredObject":{"name":"invokeKeyboard","type":"propertyDef","startIndex":218417,"stopIndex":218558,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1032},"_owner":{"__isSmartRef__":true,"id":1030},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1034}},"1035":{"registeredObject":{"name":"tryClipboardAction","type":"propertyDef","startIndex":218562,"stopIndex":220039,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1032},"_owner":{"__isSmartRef__":true,"id":1030},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1035}},"1036":{"registeredObject":{"name":"Global","type":"klassExtensionDef","startIndex":220045,"stopIndex":221233,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1037},{"__isSmartRef__":true,"id":1039},{"__isSmartRef__":true,"id":1040},{"__isSmartRef__":true,"id":1041}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":1038}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1036}},"1037":{"registeredObject":{"name":"basicResize","type":"propertyDef","startIndex":220068,"stopIndex":220342,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1038},"className":"Global","_owner":{"__isSmartRef__":true,"id":1036},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1037}},"1038":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":220067,"stopIndex":221230,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1037},{"__isSmartRef__":true,"id":1039},{"__isSmartRef__":true,"id":1040},{"__isSmartRef__":true,"id":1041}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1038}},"1039":{"registeredObject":{"name":"onresize","type":"propertyDef","startIndex":220345,"stopIndex":220749,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1038},"className":"Global","_owner":{"__isSmartRef__":true,"id":1036},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1039}},"1040":{"registeredObject":{"name":"$morph","type":"propertyDef","startIndex":220752,"stopIndex":220853,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1038},"className":"Global","_owner":{"__isSmartRef__":true,"id":1036},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1040}},"1041":{"registeredObject":{"name":"interactiveEval","type":"propertyDef","startIndex":220856,"stopIndex":221226,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1038},"className":"Global","_owner":{"__isSmartRef__":true,"id":1036},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1041}},"1042":{"registeredObject":{"name":null,"type":"comment","startIndex":221234,"stopIndex":221235,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1042}},"1043":{"registeredObject":{"name":"ClipboardCopier","type":"klassDef","startIndex":221236,"stopIndex":224556,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1044},{"__isSmartRef__":true,"id":1046},{"__isSmartRef__":true,"id":1047},{"__isSmartRef__":true,"id":1048},{"__isSmartRef__":true,"id":1049},{"__isSmartRef__":true,"id":1050},{"__isSmartRef__":true,"id":1051}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":1045}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1043}},"1044":{"registeredObject":{"name":"pastePosition","type":"propertyDef","startIndex":221275,"stopIndex":221298,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1045},"className":"ClipboardCopier","_owner":{"__isSmartRef__":true,"id":1043},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1044}},"1045":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":221271,"stopIndex":224553,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1044},{"__isSmartRef__":true,"id":1046},{"__isSmartRef__":true,"id":1047},{"__isSmartRef__":true,"id":1048},{"__isSmartRef__":true,"id":1049},{"__isSmartRef__":true,"id":1050},{"__isSmartRef__":true,"id":1051}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1045}},"1046":{"registeredObject":{"name":"createBaseDocument","type":"propertyDef","startIndex":221301,"stopIndex":221794,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1045},"className":"ClipboardCopier","_owner":{"__isSmartRef__":true,"id":1043},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1046}},"1047":{"registeredObject":{"name":"loadMorphsWithWorldTrunkFromSource","type":"propertyDef","startIndex":221797,"stopIndex":222465,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1045},"className":"ClipboardCopier","_owner":{"__isSmartRef__":true,"id":1043},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1047}},"1048":{"registeredObject":{"name":"calcTopLeftOfPoints","type":"propertyDef","startIndex":222469,"stopIndex":222697,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1045},"className":"ClipboardCopier","_owner":{"__isSmartRef__":true,"id":1043},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1048}},"1049":{"registeredObject":{"name":"calcPasteOffsetFrom","type":"propertyDef","startIndex":222703,"stopIndex":222925,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1045},"className":"ClipboardCopier","_owner":{"__isSmartRef__":true,"id":1043},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1049}},"1050":{"registeredObject":{"name":"copyMorphsAsXMLString","type":"propertyDef","startIndex":222928,"stopIndex":223805,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1045},"className":"ClipboardCopier","_owner":{"__isSmartRef__":true,"id":1043},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1050}},"1051":{"registeredObject":{"name":"pasteMorphsFromSource","type":"propertyDef","startIndex":223808,"stopIndex":224550,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1045},"className":"ClipboardCopier","_owner":{"__isSmartRef__":true,"id":1043},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1051}},"1052":{"registeredObject":{"name":null,"type":"comment","startIndex":224557,"stopIndex":224576,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1052}},"1053":{"registeredObject":{"name":"DocLinkConverter","type":"klassDef","startIndex":224577,"stopIndex":228308,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1054},{"__isSmartRef__":true,"id":1056},{"__isSmartRef__":true,"id":1057},{"__isSmartRef__":true,"id":1058},{"__isSmartRef__":true,"id":1059},{"__isSmartRef__":true,"id":1060},{"__isSmartRef__":true,"id":1061},{"__isSmartRef__":true,"id":1062},{"__isSmartRef__":true,"id":1063},{"__isSmartRef__":true,"id":1064},{"__isSmartRef__":true,"id":1065},{"__isSmartRef__":true,"id":1066},{"__isSmartRef__":true,"id":1067}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":1055}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1053}},"1054":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":224616,"stopIndex":224906,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1054}},"1055":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":224613,"stopIndex":228305,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1054},{"__isSmartRef__":true,"id":1056},{"__isSmartRef__":true,"id":1057},{"__isSmartRef__":true,"id":1058},{"__isSmartRef__":true,"id":1059},{"__isSmartRef__":true,"id":1060},{"__isSmartRef__":true,"id":1061},{"__isSmartRef__":true,"id":1062},{"__isSmartRef__":true,"id":1063},{"__isSmartRef__":true,"id":1064},{"__isSmartRef__":true,"id":1065},{"__isSmartRef__":true,"id":1066},{"__isSmartRef__":true,"id":1067}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1055}},"1056":{"registeredObject":{"name":"convert","type":"propertyDef","startIndex":224909,"stopIndex":225230,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1056}},"1057":{"registeredObject":{"name":"convertAndRemoveCodeBaseDefs","type":"propertyDef","startIndex":225233,"stopIndex":226259,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1057}},"1058":{"registeredObject":{"name":"convertLinks","type":"propertyDef","startIndex":226262,"stopIndex":226534,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1058}},"1059":{"registeredObject":{"name":"convertPath","type":"propertyDef","startIndex":226537,"stopIndex":226750,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1059}},"1060":{"registeredObject":{"name":"codeBaseFrom","type":"propertyDef","startIndex":226753,"stopIndex":227080,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1060}},"1061":{"registeredObject":{"name":"relativeCodeBaseFrom","type":"propertyDef","startIndex":227083,"stopIndex":227524,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1061}},"1062":{"registeredObject":{"name":"relativeLivelyPathFrom","type":"propertyDef","startIndex":227527,"stopIndex":227639,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1062}},"1063":{"registeredObject":{"name":"extractFilename","type":"propertyDef","startIndex":227642,"stopIndex":227740,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1063}},"1064":{"registeredObject":{"name":"createCodeBaseDef","type":"propertyDef","startIndex":227743,"stopIndex":227875,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1064}},"1065":{"registeredObject":{"name":"findScriptEndingWith","type":"propertyDef","startIndex":227878,"stopIndex":228055,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1065}},"1066":{"registeredObject":{"name":"getURLFrom","type":"propertyDef","startIndex":228058,"stopIndex":228153,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1066}},"1067":{"registeredObject":{"name":"setURLTo","type":"propertyDef","startIndex":228156,"stopIndex":228302,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1055},"className":"DocLinkConverter","_owner":{"__isSmartRef__":true,"id":1053},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1067}},"1068":{"registeredObject":{"name":null,"type":"comment","startIndex":228309,"stopIndex":228309,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1068}},"1069":{"registeredObject":{"name":"PseudoMorph","type":"klassDef","startIndex":228310,"stopIndex":228541,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1070},{"__isSmartRef__":true,"id":1072}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Morph","categories":[{"__isSmartRef__":true,"id":1071}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1069}},"1070":{"registeredObject":{"name":"description","type":"propertyDef","startIndex":228342,"stopIndex":228433,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1071},"className":"PseudoMorph","_owner":{"__isSmartRef__":true,"id":1069},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1070}},"1071":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":228340,"stopIndex":228538,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1070},{"__isSmartRef__":true,"id":1072}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1071}},"1072":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":228440,"stopIndex":228537,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1071},"className":"PseudoMorph","_owner":{"__isSmartRef__":true,"id":1069},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1072}},"1073":{"registeredObject":{"name":null,"type":"comment","startIndex":228542,"stopIndex":228543,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1073}},"1074":{"registeredObject":{"name":"Invocation","type":"klassDef","startIndex":228544,"stopIndex":229091,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1075},{"__isSmartRef__":true,"id":1077}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"PseudoMorph","categories":[{"__isSmartRef__":true,"id":1076}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1074}},"1075":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":228582,"stopIndex":228762,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1076},"className":"Invocation","_owner":{"__isSmartRef__":true,"id":1074},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1075}},"1076":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":228579,"stopIndex":229088,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1075},{"__isSmartRef__":true,"id":1077}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1076}},"1077":{"registeredObject":{"name":"exec","type":"propertyDef","startIndex":228765,"stopIndex":229085,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1076},"className":"Invocation","_owner":{"__isSmartRef__":true,"id":1074},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1077}},"1078":{"registeredObject":{"name":null,"type":"comment","startIndex":229092,"stopIndex":229092,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1078}},"1079":{"registeredObject":{"name":"SchedulableAction","type":"klassDef","startIndex":229093,"stopIndex":230005,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1080},{"__isSmartRef__":true,"id":1082},{"__isSmartRef__":true,"id":1083},{"__isSmartRef__":true,"id":1084},{"__isSmartRef__":true,"id":1085},{"__isSmartRef__":true,"id":1086},{"__isSmartRef__":true,"id":1087}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Invocation","categories":[{"__isSmartRef__":true,"id":1081}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1079}},"1080":{"registeredObject":{"name":"documentation","type":"propertyDef","startIndex":229137,"stopIndex":229187,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1081},"className":"SchedulableAction","_owner":{"__isSmartRef__":true,"id":1079},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1080}},"1081":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":229134,"stopIndex":230002,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1080},{"__isSmartRef__":true,"id":1082},{"__isSmartRef__":true,"id":1083},{"__isSmartRef__":true,"id":1084},{"__isSmartRef__":true,"id":1085},{"__isSmartRef__":true,"id":1086},{"__isSmartRef__":true,"id":1087}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1081}},"1082":{"registeredObject":{"name":"beVerbose","type":"propertyDef","startIndex":229189,"stopIndex":229206,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1081},"className":"SchedulableAction","_owner":{"__isSmartRef__":true,"id":1079},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1082}},"1083":{"registeredObject":{"name":"initialize","type":"propertyDef","startIndex":229209,"stopIndex":229367,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1081},"className":"SchedulableAction","_owner":{"__isSmartRef__":true,"id":1079},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1083}},"1084":{"registeredObject":{"name":"toString","type":"propertyDef","startIndex":229370,"stopIndex":229546,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1081},"className":"SchedulableAction","_owner":{"__isSmartRef__":true,"id":1079},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1084}},"1085":{"registeredObject":{"name":"stop","type":"propertyDef","startIndex":229549,"stopIndex":229676,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1081},"className":"SchedulableAction","_owner":{"__isSmartRef__":true,"id":1079},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1085}},"1086":{"registeredObject":{"name":"start","type":"propertyDef","startIndex":229679,"stopIndex":229808,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1081},"className":"SchedulableAction","_owner":{"__isSmartRef__":true,"id":1079},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1086}},"1087":{"registeredObject":{"name":"equalActorAndName","type":"propertyDef","startIndex":229811,"stopIndex":230001,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1081},"className":"SchedulableAction","_owner":{"__isSmartRef__":true,"id":1079},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1087}},"1088":{"registeredObject":{"name":null,"type":"comment","startIndex":230006,"stopIndex":230069,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1088}},"1089":{"registeredObject":{"name":"LayoutManager","type":"klassDef","startIndex":230070,"stopIndex":233644,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1090},{"__isSmartRef__":true,"id":1092},{"__isSmartRef__":true,"id":1094},{"__isSmartRef__":true,"id":1095},{"__isSmartRef__":true,"id":1097},{"__isSmartRef__":true,"id":1099},{"__isSmartRef__":true,"id":1100},{"__isSmartRef__":true,"id":1101},{"__isSmartRef__":true,"id":1102},{"__isSmartRef__":true,"id":1103},{"__isSmartRef__":true,"id":1104},{"__isSmartRef__":true,"id":1105},{"__isSmartRef__":true,"id":1106},{"__isSmartRef__":true,"id":1108},{"__isSmartRef__":true,"id":1109},{"__isSmartRef__":true,"id":1110},{"__isSmartRef__":true,"id":1111},{"__isSmartRef__":true,"id":1112},{"__isSmartRef__":true,"id":1113},{"__isSmartRef__":true,"id":1114},{"__isSmartRef__":true,"id":1115},{"__isSmartRef__":true,"id":1116}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"Object","categories":[{"__isSmartRef__":true,"id":1091},{"__isSmartRef__":true,"id":1093},{"__isSmartRef__":true,"id":1096},{"__isSmartRef__":true,"id":1098},{"__isSmartRef__":true,"id":1107},{"__isSmartRef__":true,"id":1117}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1089}},"1090":{"registeredObject":{"name":"layoutAllowed","type":"propertyDef","startIndex":230116,"stopIndex":230183,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1091},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1090}},"1091":{"registeredObject":{"name":"testing","type":"categoryDef","startIndex":230103,"stopIndex":230186,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1090}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1091}},"1092":{"registeredObject":{"name":"layout","type":"propertyDef","startIndex":230203,"stopIndex":230235,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1093},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1092}},"1093":{"registeredObject":{"name":"layouting","type":"categoryDef","startIndex":230188,"stopIndex":230302,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1092},{"__isSmartRef__":true,"id":1094}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1093}},"1094":{"registeredObject":{"name":"onReshape","type":"propertyDef","startIndex":230237,"stopIndex":230299,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1093},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1094}},"1095":{"registeredObject":{"name":"positionForInsert","type":"propertyDef","startIndex":230321,"stopIndex":230482,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1096},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1095}},"1096":{"registeredObject":{"name":"positioning","type":"categoryDef","startIndex":230304,"stopIndex":230485,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1095}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1096}},"1097":{"registeredObject":{"name":"setBounds","type":"propertyDef","startIndex":230512,"stopIndex":231979,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1097}},"1098":{"registeredObject":{"name":"morphic extensions","type":"categoryDef","startIndex":230487,"stopIndex":232752,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1097},{"__isSmartRef__":true,"id":1099},{"__isSmartRef__":true,"id":1100},{"__isSmartRef__":true,"id":1101},{"__isSmartRef__":true,"id":1102},{"__isSmartRef__":true,"id":1103},{"__isSmartRef__":true,"id":1104},{"__isSmartRef__":true,"id":1105}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1098}},"1099":{"registeredObject":{"name":"setExtent","type":"propertyDef","startIndex":231982,"stopIndex":232086,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1099}},"1100":{"registeredObject":{"name":"setPosition","type":"propertyDef","startIndex":232089,"stopIndex":232265,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1100}},"1101":{"registeredObject":{"name":"layoutChanged","type":"propertyDef","startIndex":232268,"stopIndex":232306,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1101}},"1102":{"registeredObject":{"name":"beforeAddMorph","type":"propertyDef","startIndex":232309,"stopIndex":232417,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1102}},"1103":{"registeredObject":{"name":"afterAddMorph","type":"propertyDef","startIndex":232420,"stopIndex":232541,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1103}},"1104":{"registeredObject":{"name":"beforeRemoveMorph","type":"propertyDef","startIndex":232544,"stopIndex":232600,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1104}},"1105":{"registeredObject":{"name":"afterRemoveMorph","type":"propertyDef","startIndex":232603,"stopIndex":232748,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1098},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1105}},"1106":{"registeredObject":{"name":"orderedSubMorphsOf","type":"propertyDef","startIndex":232778,"stopIndex":232854,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1106}},"1107":{"registeredObject":{"name":"derived accessing","type":"categoryDef","startIndex":232754,"stopIndex":233579,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1106},{"__isSmartRef__":true,"id":1108},{"__isSmartRef__":true,"id":1109},{"__isSmartRef__":true,"id":1110},{"__isSmartRef__":true,"id":1111},{"__isSmartRef__":true,"id":1112},{"__isSmartRef__":true,"id":1113},{"__isSmartRef__":true,"id":1114},{"__isSmartRef__":true,"id":1115}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1107}},"1108":{"registeredObject":{"name":"leftMarginOf","type":"propertyDef","startIndex":232857,"stopIndex":232941,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1108}},"1109":{"registeredObject":{"name":"rightMarginOf","type":"propertyDef","startIndex":232944,"stopIndex":233030,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1109}},"1110":{"registeredObject":{"name":"topMarginOf","type":"propertyDef","startIndex":233033,"stopIndex":233115,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1110}},"1111":{"registeredObject":{"name":"bottomMarginOf","type":"propertyDef","startIndex":233118,"stopIndex":233206,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1111}},"1112":{"registeredObject":{"name":"rightPaddingOf","type":"propertyDef","startIndex":233209,"stopIndex":233304,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1112}},"1113":{"registeredObject":{"name":"leftPaddingOf","type":"propertyDef","startIndex":233307,"stopIndex":233394,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1113}},"1114":{"registeredObject":{"name":"topPaddingOf","type":"propertyDef","startIndex":233397,"stopIndex":233482,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1114}},"1115":{"registeredObject":{"name":"bottomPaddingOf","type":"propertyDef","startIndex":233485,"stopIndex":233576,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1107},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1115}},"1116":{"registeredObject":{"name":"toLiteral","type":"propertyDef","startIndex":233600,"stopIndex":233639,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1117},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1089},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1116}},"1117":{"registeredObject":{"name":"serialization","type":"categoryDef","startIndex":233581,"stopIndex":233641,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1116}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1117}},"1118":{"registeredObject":{"name":null,"type":"comment","startIndex":233645,"stopIndex":233645,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1118}},"1119":{"registeredObject":{"name":"LayoutManager","type":"klassExtensionDef","startIndex":233646,"stopIndex":233990,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1120},{"__isSmartRef__":true,"id":1122},{"__isSmartRef__":true,"id":1123},{"__isSmartRef__":true,"id":1124}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":1121}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1119}},"1120":{"registeredObject":{"name":"defaultInstance","type":"propertyDef","startIndex":233677,"stopIndex":233714,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1121},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1119},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1120}},"1121":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":233675,"stopIndex":233987,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1120},{"__isSmartRef__":true,"id":1122},{"__isSmartRef__":true,"id":1123},{"__isSmartRef__":true,"id":1124}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1121}},"1122":{"registeredObject":{"name":"fromLiteral","type":"propertyDef","startIndex":233716,"stopIndex":233779,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1121},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1119},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1122}},"1123":{"registeredObject":{"name":"layoutAllowed","type":"propertyDef","startIndex":233782,"stopIndex":233840,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1121},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1119},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1123}},"1124":{"registeredObject":{"name":"noLayoutDuring","type":"propertyDef","startIndex":233842,"stopIndex":233985,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1121},"className":"LayoutManager","_owner":{"__isSmartRef__":true,"id":1119},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1124}},"1125":{"registeredObject":{"name":null,"type":"comment","startIndex":233991,"stopIndex":233991,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1125}},"1126":{"registeredObject":{"name":"HorizontalLayout","type":"klassDef","startIndex":233992,"stopIndex":234704,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1127}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"LayoutManager","categories":[{"__isSmartRef__":true,"id":1128}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1126}},"1127":{"registeredObject":{"name":"layout","type":"propertyDef","startIndex":234071,"stopIndex":234697,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1128},"className":"HorizontalLayout","_owner":{"__isSmartRef__":true,"id":1126},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1127}},"1128":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":234036,"stopIndex":234701,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1127}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1128}},"1129":{"registeredObject":{"name":null,"type":"comment","startIndex":234705,"stopIndex":234705,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1129}},"1130":{"registeredObject":{"name":"Morph","type":"klassExtensionDef","startIndex":234706,"stopIndex":234801,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1131}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":1132}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1130}},"1131":{"registeredObject":{"name":"layoutManager","type":"propertyDef","startIndex":234751,"stopIndex":234796,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1132},"className":"Morph","_owner":{"__isSmartRef__":true,"id":1130},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1131}},"1132":{"registeredObject":{"name":"default layout manager","type":"categoryDef","startIndex":234723,"stopIndex":234798,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1131}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1132}},"1133":{"registeredObject":{"name":null,"type":"comment","startIndex":234802,"stopIndex":234802,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1133}},"1134":{"registeredObject":{"name":"HorizontalLayout","type":"klassExtensionDef","startIndex":234803,"stopIndex":234950,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1135},{"__isSmartRef__":true,"id":1137}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":1136}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1134}},"1135":{"registeredObject":{"name":"defaultInstance","type":"propertyDef","startIndex":234838,"stopIndex":234878,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1136},"className":"HorizontalLayout","_owner":{"__isSmartRef__":true,"id":1134},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1135}},"1136":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":234835,"stopIndex":234946,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1135},{"__isSmartRef__":true,"id":1137}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1136}},"1137":{"registeredObject":{"name":"fromLiteral","type":"propertyDef","startIndex":234880,"stopIndex":234943,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1136},"className":"HorizontalLayout","_owner":{"__isSmartRef__":true,"id":1134},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1137}},"1138":{"registeredObject":{"name":"VerticalLayout","type":"klassDef","startIndex":234951,"stopIndex":235517,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1139}],"sourceControl":{"__isSmartRef__":true,"id":225},"superclassName":"LayoutManager","categories":[{"__isSmartRef__":true,"id":1140}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1138}},"1139":{"registeredObject":{"name":"layout","type":"propertyDef","startIndex":235028,"stopIndex":235511,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":false,"category":{"__isSmartRef__":true,"id":1140},"className":"VerticalLayout","_owner":{"__isSmartRef__":true,"id":1138},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1139}},"1140":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":234993,"stopIndex":235514,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1139}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1140}},"1141":{"registeredObject":{"name":null,"type":"comment","startIndex":235518,"stopIndex":235518,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1141}},"1142":{"registeredObject":{"name":"VerticalLayout","type":"klassExtensionDef","startIndex":235519,"stopIndex":235661,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1143},{"__isSmartRef__":true,"id":1145}],"sourceControl":{"__isSmartRef__":true,"id":225},"categories":[{"__isSmartRef__":true,"id":1144}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1142}},"1143":{"registeredObject":{"name":"defaultInstance","type":"propertyDef","startIndex":235552,"stopIndex":235590,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1144},"className":"VerticalLayout","_owner":{"__isSmartRef__":true,"id":1142},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1143}},"1144":{"registeredObject":{"name":"default category","type":"categoryDef","startIndex":235549,"stopIndex":235658,"fileName":"lively/Core.js","_subElements":[{"__isSmartRef__":true,"id":1143},{"__isSmartRef__":true,"id":1145}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1144}},"1145":{"registeredObject":{"name":"fromLiteral","type":"propertyDef","startIndex":235592,"stopIndex":235655,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"_isStatic":true,"category":{"__isSmartRef__":true,"id":1144},"className":"VerticalLayout","_owner":{"__isSmartRef__":true,"id":1142},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1145}},"1146":{"registeredObject":{"name":null,"type":"unknown","startIndex":235662,"stopIndex":235692,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1146}},"1147":{"registeredObject":{"name":null,"type":"comment","startIndex":235693,"stopIndex":235693,"fileName":"lively/Core.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1147}},"1148":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/bindings.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1148}},"1149":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/bootstrap.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1149}},"1150":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/CanvasExpt.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1150}},"1151":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/ChangeSet.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1151}},"1152":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Connector.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1152}},"1153":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Contributions.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1153}},"1154":{"registeredObject":{"target":{"__isSmartRef__":true,"id":229},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Core.js","showAll":false,"savedSource":"module('lively.Core').requires().toRun(function() {\n\n/* Code loader. Appends file to DOM. */\nObject.extend(Global, {\n\tLoader: JSLoader, //new ScriptLoader(),\n});\n\n// test which checks if all modules are loaded\n(function testModuleLoad() {\n var modules = Global.subNamespaces(true).select(function(ea) { return ea.wasDefined });\n modules\n .select(function(ea) { return ea.hasPendingRequirements() })\n .forEach(function(ea) {\n\t\t\tvar msg = Strings.format('%s has unloaded requirements: %s',\n\t\t\t\tea.uri(), ea.pendingRequirementNames());\n\t\t\tconsole.warn(msg); \n\t\t });\n console.log('Module load check done. ' + modules.length + ' modules loaded.');\n}).delay(8);\n\n// ===========================================================================\n// Error/warning console (browser dependent)\n// ===========================================================================\n\n// console handling\nObject.extend(Global, {\n\n\talert: function(msg) {\n\t\tvar world = Global.WorldMorph && WorldMorph.current()\n\t\tif (world) world.alert(msg.toString());\n\t\telse console.log('ALERT: ' + msg);\n\t},\n\n\talertOK: function(msg) {\n\t\tvar world = Global.WorldMorph && WorldMorph.current()\n\t\tif (world) world.setStatusMessage(msg.toString(), Color.green, 5);\n\t\telse console.log(msg);\n\t},\n\n\tonerror: function(message, url, code) {\n\t\tconsole.log('in %s: %s, code %s', url, message, code);\n\t},\n\t\n\tonbeforeunload: function(evt) { \n\t\tif (Config.askBeforeQuit) {\n\t\t\tvar msg = \"Lively Kernel data may be lost if not saved.\";\n\t\t\tevt.returnValue = msg; \n\t\t\treturn msg;\n\t\t} else return null;\n\t}\n\t// onblur: function(evt) { console.log('window got blur event %s', evt); },\n\t// onfocus: function(evt) { console.log('window got focus event %s', evt); }\n});\n\n\n(function configFromURL() { // override config options with options from the query part of the URL\n\n // may have security implications ...\n var query = Global.document.documentURI.split('?')[1];\n if (!query) return;\n\n var configOverrides = query.toQueryParams();\n for (var p in configOverrides) {\n\tif (Config.hasOwnProperty(p)) { // can't set unknown properties\n\t // this is surprisingly convoluted in Javascript:\n\t if ((typeof Config[p].valueOf()) === 'boolean') { \n\t\t// make sure that \"false\" becomes false\n\t\tConfig[p] = configOverrides[p].toLowerCase() == \"true\";\n\t } else {\n\t\tConfig[p] = configOverrides[p];\n\t }\n\t} else {\n\t console.log(\"ignoring unknown property \" + p);\n\t}\n }\n})(); \n\n\n// ===========================================================================\n// DOM manipulation (Browser and graphics-independent)\n// ===========================================================================\n\nGlobal.Namespace = {\n\tSVG: \"http:\\/\\/www.w3.org/2000/svg\", \n\tLIVELY: UserAgent.usableNamespacesInSerializer ? \"http:\\/\\/www.experimentalstuff.com/Lively\" : null, \n\tXLINK: \"http:\\/\\/www.w3.org/1999/xlink\", \n\tXHTML: \"http:\\/\\/www.w3.org/1999/xhtml\",\n\tATOM: \"http:\\/\\/www.w3.org/2005/Atom\",\n\n\t// Google specific\n\tOPENSEARCH: \"http:\\/\\/a9.com/-/spec/opensearchrss/1.0/\",\n\tGBS: \"http:\\/\\/schemas.google.com/books/2008\",\n\tDC: \"http:\\/\\/purl.org/dc/terms\",\n\tBATCH: \"http:\\/\\/schemas.google.com/gdata/batch\",\n\tGD: \"http:\\/\\/schemas.google.com/g/2005\",\n};\n\nGlobal.Converter = {\n documentation: \"singleton used to parse DOM attribute values into JS values\",\n\n\n toBoolean: function toBoolean(string) {\n\t\treturn string && string == 'true';\n },\n\n fromBoolean: function fromBoolean(object) {\n\tif (object == null) return \"false\";\n\tvar b = object.valueOf();\n\t// this is messy and should be revisited\n\treturn (b === true || b === \"true\") ? \"true\" : \"false\";\n },\n\n parseInset: function(string) {\n\t// syntax: (,(,,)?)?\n\t\n\tif (!string || string == \"none\") return null;\n\ttry {\n\t var box = string.split(\",\");\n\t} catch (er) {alert(\"string is \" + string + \" string? \" + (string instanceof String)) }\n\tvar t, b, l, r;\n\tswitch (box.length) {\n\tcase 1:\n\t b = l = r = t = lively.data.Length.parse(box[0].strip());\n\t break;\n\tcase 2:\n\t t = b = lively.data.Length.data.parse(box[0].strip());\n\t l = r = lively.data.Length.data.parse(box[1].strip());\n\t break;\n\tcase 4:\n\t t = lively.data.Length.parse(box[0].strip());\n\t l = lively.data.Length.parse(box[1].strip());\n\t b = lively.data.Length.parse(box[2].strip());\n\t r = lively.data.Length.parse(box[3].strip());\n\t break;\n\tdefault:\n\t console.log(\"unable to parse padding \" + padding);\n\t return null;\n\t} \n return Rectangle.inset(t, l, b, r);\n },\n\n\twrapperAndNodeEncodeFilter: function(baseObj, key) {\n\t\tvar value = baseObj[key];\n\t\tif (value instanceof lively.data.Wrapper) return value.uri();\n\t\tif (value instanceof Document || value instanceof Element || value instanceof DocumentType)\n\t\t\treturn JSON.serialize({XML: Exporter.stringify(value)});\n\t\treturn value;\n\t},\n\n\twrapperAndNodeDecodeFilter: function(baseObj, key) {\n\t\tvar value = baseObj[key];\n\t\t// console.log(\"wrapperAndNodeDecodeFilter: \" + baseObj + \" key: \" + key + \" value: \" + baseObj[key]);\n\t\tif (Object.isString(value)) {\n\t\t\tvar uri = lively.data.FragmentURI.parse(value)\n\t\t\tif (uri) {\n\t\t\t\t// resolve uri to an object\n\t\t\t\t// Search the world, because we don't have an general URI resolver\n\t\t\t\tvar obj = WorldMorph.current().resolveUriToObject(uri)\n\t\t\t\tif (obj)\n\t\t\t\t\treturn obj;\n\t\t\t\telse\n\t\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t\treturn Converter.nodeDecodeFilter(baseObj, key)\n },\n\n nodeEncodeFilter: function(baseObj, key) {\n var value = baseObj[key];\n\t\tif (!value) return value;\n if (!value.nodeType) return value;\n if (value.nodeType !== document.DOCUMENT_NODE && value.nodeType !== document.DOCUMENT_TYPE_NODE)\n return JSON.serialize({XML: Exporter.stringify(value)});\n throw new Error('Cannot store Document/DocumentType'); // to be removed\n },\n \n toJSONAttribute: function(obj) {\n\t\treturn obj ? escape(JSON.serialize(obj, Converter.wrapperAndNodeEncodeFilter)) : \"\";\n },\n\n nodeDecodeFilter: function(baseObj, key) {\n\t\tvar value = baseObj[key];\n\t\tif (!value || !Object.isString(value) || !value.include('XML')) return value;\n\t\tvar unserialized = JSON.unserialize(value);\n\t\tif (!unserialized.XML) return value;\n\t\t// var xmlString = value.substring(\"XML:\".length);\n\t\t// FIXME if former XML was an Element, it has now a new parentNode, seperate in Elements/Documents?\n\t\t//dbgOn(true);\n\t\tvar node = new DOMParser().parseFromString(unserialized.XML, \"text/xml\");\n return document.importNode(node.documentElement, true);\n },\n\n fromJSONAttribute: function(str) {\n\t\treturn str ? JSON.unserialize(unescape(str), Converter.nodeDecodeFilter) : null;\n },\n \n needsJSONEncoding: function(value) {\n\t\t// some objects can be saved in as DOM attributes using their\n\t\t// .toString() form, others need JSON\n\t\tif (value instanceof Color) return false;\n\t\tvar type = typeof value.valueOf();\n\t\treturn type != \"string\" && type != \"number\"; \n },\n\n\tquoteCDATAEndSequence: function(string) {\n\t\tvar closeCDATASequence = \"<=CDATAEND=>\";\n\t\tif (string.include(closeCDATASequence)) {\n\t\t\tconsole.log(\"Warning: quoted CDATA Sequence ] ] >\")\n\t\t\tstring = string.replace(closeCDATASequence, \"\\\\]\\\\]\\\\>\");\n\t\t};\n\t\treturn string\n\t},\n\n\t// TODO parallels to preparePropertyForSerialization in scene.js\n\t// Why to we encodeProperties for Records at runtime and not at serialization time?\n\tencodeProperty: function(prop, propValue, isItem) {\n\t\tif (isItem) {\n\t\t\tvar desc = LivelyNS.create(\"item\");\n\t\t} else {\n\t\t\tvar desc = LivelyNS.create(\"field\", {name: prop});\n\t\t}\n\t\tif (propValue instanceof Function) {\n\t\t\t// console.log(\"convert function\")\n\t\t desc.setAttributeNS(null, \"family\", \"Function\");\n\t\t desc.appendChild(NodeFactory.createCDATA(JSON.serialize(propValue.toLiteral())));\n\t\t return desc;\n\t\t}\n\t\tif (Converter.isJSONConformant(propValue) || propValue instanceof Array) { // hope for the best wrt/arrays\n\t\t // FIXME: deal with arrays of primitives etc?\n\t\t var encoding;\n\t\t if (propValue === null)\n\t\t\t\tencoding = NodeFactory.createText(\"null\");\n\t\t else switch (typeof propValue) {\n\t\t \tcase \"number\":\n\t\t \tcase \"boolean\":\n\t\t\t\t\tencoding = NodeFactory.createText(String(propValue));\n\t\t\t\t\tbreak;\n\t\t \tdefault:\n\t\t\t\t\tvar jsonSource = JSON.serialize(propValue, Converter.wrapperAndNodeEncodeFilter);\n\t\t\t\t\tencoding = NodeFactory.createCDATA(this.quoteCDATAEndSequence(jsonSource));\n\t\t }\n\t\t desc.appendChild(encoding);\n\t\t return desc;\n\t\t} \n\t\n\t\tif (propValue && propValue.toLiteral) {\n\t\t desc.setAttributeNS(null, \"family\", propValue.constructor.type);\n\t\t desc.appendChild(NodeFactory.createCDATA(JSON.serialize(propValue.toLiteral())));\n\t\t return desc;\n\t\t}\n\t\t\t\t\n\t\tif (propValue.nodeType) {\n\t\t switch (propValue.nodeType) {\n\t\t \tcase document.DOCUMENT_NODE:\n\t\t \tcase document.DOCUMENT_TYPE_NODE:\n\t\t\t\t\tthrow new Error('Cannot store Document/DocumentType'); // to be removed\n\t\t \tdefault:\n\t\t\t\t\tdesc.setAttributeNS(null, \"isNode\", true); // Replace with DocumentFragment\n\t\t\t\t\tdesc.appendChild(document.importNode(propValue, true));\n\t\t }\n\t\t return desc;\n\t\t} \n\t\treturn null;\n },\n \n isJSONConformant: function(value) { // for now, arrays not handled but could be\n if (value instanceof Element && value.ownerDocument === document) return false;\n // why disallow all objects?\n\t// KP: because we don't know how to handle them up front, special cases handled bye encodeProperty\n\t// this makes simple objects like {a: 1} hard to serialize\n\t// fix for now: objects can determine by themselves if isJSONConformant should be true\n return value == null || value.isJSONConformant || (typeof value.valueOf() !== 'object');\n }\n\n};\n\n\nGlobal.NodeFactory = {\n\n createNS: function(ns, name, attributes) {\n\t\tvar element = Global.document.createElementNS(ns, name);\n\t\treturn NodeFactory.extend(ns, element, attributes);\n },\n\n create: function(name, attributes) {\n\t//return this.createNS(Namespace.SVG, name, attributes); // doesn't work\n\tvar element = Global.document.createElementNS(Namespace.SVG, name);\n\treturn NodeFactory.extend(null, element, attributes);\n },\n\n extend: function(ns, element, attributes) {\n\tif (attributes) {\n\t for (var name in attributes) {\n\t\tif (!attributes.hasOwnProperty(name)) continue;\n\t\telement.setAttributeNS(ns, name, attributes[name]);\n\t }\n\t}\n\treturn element;\n },\n\n createText: function(string) {\n\treturn Global.document.createTextNode(string);\n },\n \n createNL: function(string) {\n\treturn Global.document.createTextNode(\"\\n\");\n },\n\n createCDATA: function(string) {\n\treturn Global.document.createCDATASection(string);\n },\n\n\tCDATAType: function() {\n\t\treturn Global.document.CDATA_SECTION_NODE;\n\t},\n\t\n\tTextType: function() {\n\t\treturn Global.document.TEXT_NODE;\n\t}\n\n\n};\n\nGlobal.XLinkNS = {\n\tcreate: function(href, doc) {\n\t\tvar doc = doc || Global.document;\n\t\tvar node = NodeFactory.createNS(null, 'script', {type: \"text/ecmascript\"});\n\t\tnode.setAttribute('xlink:href', href);\n\t\t// XLinkNS.setHref(node, href); // does not seem to work\n\t\treturn node;\n\t},\n setHref: function(node, href) {\n\treturn node.setAttributeNS(Namespace.XLINK, \"href\", href);\n },\n \n getHref: function(node) {\n\treturn node.getAttributeNS(Namespace.XLINK, \"href\");\n }\n};\n\nGlobal.LivelyNS = {\n\n\tprefix: 'lively:',\n\n\tcreate: function(name, attributes) {\n\t\t// get takes qulaified name\n\t\treturn NodeFactory.createNS(Namespace.LIVELY, this.prefix + name, attributes);\n\t},\n\n\tgetAttribute: function(node, name) {\n\t\tif (UserAgent.isOpera) return node.getAttribute(name); // Fix for Opera 10.10\n\t\t// get takes only local name\n\t\treturn node.getAttributeNS(Namespace.LIVELY, name) || node.getAttribute(name);\n\t},\n\n\tremoveAttribute: function(node, name) {\n\t\t// remove takes local name\n\t\treturn node.removeAttributeNS(Namespace.LIVELY, name);\n\t},\n\n\tsetAttribute: function(node, name, value) {\n\t\t// set takes qualified name\n\t\tnode.setAttributeNS(Namespace.LIVELY, this.prefix + name, value);\n\t},\n\n\tgetType: function(node) {\n\t\treturn node.getAttributeNS(Namespace.LIVELY, \"type\") || node.getAttribute(\"type\");\n\t},\n\n\tsetType: function(node, string) {\n\t\tnode.setAttributeNS(Namespace.LIVELY, this.prefix + \"type\", string);\n\t},\n};\n\nGlobal.XHTMLNS = {\n\n\tcreate: function(name, attributes) {\n\t\treturn NodeFactory.createNS(Namespace.XHTML, name, attributes);\n\t},\n\n\tgetAttribute: function(node, name) {\n\t\tif (UserAgent.isOpera) return node.getAttribute(name); // Fix for Opera 10.10\n\t\treturn node.getAttributeNS(null, name);\n\t},\n\n\tremoveAttribute: function(node, name) {\n\t\treturn node.removeAttributeNS(null, name);\n\t},\n\n\tsetAttribute: function(node, name, value) {\n\t\tnode.setAttributeNS(null, name, value);\n\t},\n\n\tgetType: function(node) {\n\t\treturn node.getAttributeNS(Namespace.LIVELY, \"type\");\n\t},\n\n\tsetType: function(node, string) {\n\t\tnode.setAttributeNS(Namespace.LIVELY, \"type\", string);\n\t}\n};\n\n(function addRecordStuffToWrapper() { // FIXME refactor\n\tClass.addMixin(lively.data.DOMRecord, lively.data.Wrapper.prototype);\n\tClass.addMixin(lively.data.DOMNodeRecord, lively.data.Wrapper.prototype);\n})();\n\n\n\nconsole.log(\"Loaded basic DOM manipulation code\");\n\n// ===========================================================================\n// Event handling foundations\n// ===========================================================================\n\n/**\n * @class Event: replacement Event class. (NOTE: PORTING-SENSITIVE CODE)\n * The code below rebinds the Event class to a LK substitute that wraps around \n * the browser implementation.\n * For a detailed description of the Event class provided by browsers,\n * refer to, e.g., David Flanagan's book (JavaScript: The Definitive Guide).\n */\n\n(function setupEvent() {\nvar tmp = Event; // note we're rebinding the name Event to point to a different class \n\nObject.subclass('Event', {\n\n\tcapitalizer: {\n\t\tmouseup: 'MouseUp', mousedown: 'MouseDown', mousemove: 'MouseMove', \n\t\tmouseover: 'MouseOver', mouseout: 'MouseOut', mousewheel: 'MouseWheel',\n\t\tkeydown: 'KeyDown', keypress: 'KeyPress', keyup: 'KeyUp',\n\t},\n\n\tinitialize: function(rawEvent) {\n\t\tthis.rawEvent = rawEvent;\n\t\tthis.type = this.capitalizer[rawEvent.type] || rawEvent.type;\n\t\t//this.charCode = rawEvent.charCode;\n\n\t\t// fix timeStamp, e.g in Opera\n\t\tthis.timeStamp = this.rawEvent.timeStamp || new Date().getTime();\n\n\t\tthis.hand = null;\n\n\t\t// use event.timeStamp\n\t\t// event.msTime = (new Date()).getTime();\n\t\tthis.mouseButtonPressed = false;\n\t},\n\n\tsetCanvas: function(canvas) {\n\t\tthis.canvas = canvas;\n\t\tthis.prepareMousePoint();\n\t},\n\n\tprepareMousePoint: function() {\n\t\tif (this.isMouseEvent())\n\t\t\tthis.addMousePoint(this.rawEvent)\n\t},\n\n\toffset: function() {\n\t\t// Test\n\t\t// return pt(0,0 )\n\t\t// note that FF doesn't doesnt calculate offsetLeft/offsetTop early enough we don't precompute these values\n\t\tif (Config.isEmbedded) {\n\t\t\tvar topElement = this.canvas;\n\t\t\tvar offsetX = 0;\n\t\t\tvar offsetY = -3;\n\t\t\tdo {\n\t\t\t\toffsetX += topElement.offsetLeft\n\t\t\t\toffsetY += topElement.offsetTop\n\t\t\t\ttopElement = topElement.offsetParent;\n\t\t\t} while (topElement && topElement.tagName != 'BODY');\n\t\t\treturn pt(offsetX, offsetY);\n\t\t} else {\n\t\t\tif (Event.canvasOffset === undefined) {\n\t\t\t\tvar topElement = this.canvas;\n\t\t\t\tEvent.canvasOffset = pt(topElement.offsetLeft || 0, (topElement.offsetTop || 0) - 3);\n\t\t\t}\n\t\t\treturn Event.canvasOffset;\n\t\t}\n\t},\n\n\taddMousePoint: function(evtOrTouch) {\n\t\tvar pos = pt(evtOrTouch.pageX || evtOrTouch.clientX, evtOrTouch.pageY || evtOrTouch.clientY);\n\t\tthis.mousePoint = pos.subPt(this.offset());\n\t\tthis.priorPoint = this.mousePoint;\n\t},\n\n\tisMouseEvent: function() {\n\t\treturn Event.mouseEvents.include(this.rawEvent.type);\n\t},\n\n\tsimpleCopy: function() {\n\t\treturn new Event(this.rawEvent);\n\t},\n\n\tstopPropagation: function() {\n\t\tthis.rawEvent.stopPropagation();\n\t},\n\n\tpreventDefault: function() {\n\t\tthis.rawEvent.preventDefault();\n\t},\n\n\tstop: function() {\n\t\tthis.preventDefault();\n\t\tthis.stopPropagation();\n\t},\n\n\tisAltDown: function() {\n\t\treturn this.rawEvent.altKey;\n\t},\n\n\tisCommandKey: function() {\n\t\t// this is LK convention, not the content of the event\n\t\tif (Config.useAltAsCommand)\n\t\t\treturn this.isAltDown();\n\t\tif (UserAgent.isWindows || UserAgent.isLinux )\n\t\t\treturn this.isCtrlDown()\n\t\tif (UserAgent.isOpera) // Opera recognizes cmd as ctrl!!?\n\t\t\treturn this.isCtrlDown()\n\t\treturn this.isMetaDown()\n\t},\n\n\tisShiftDown: function() {\n\t\treturn this.rawEvent.shiftKey;\n\t},\n\n\tisMetaDown: function() {\n\t\treturn this.rawEvent.metaKey;\n\t},\n\n\tisCtrlDown: function() {\n\t\treturn this.rawEvent.ctrlKey;\n\t},\n\n\ttoString: function() {\n\t\treturn Strings.format(\"#\",\n\t\tthis.type,\n\t\tthis.mousePoint ? \"@\" + this.mousePoint : \"\",\n\t\tthis.getKeyCode() || \"\");\n\t},\n\n\tsetButtonPressedAndPriorPoint: function(buttonPressed, priorPoint) {\n\t\tthis.mouseButtonPressed = buttonPressed;\n\t\t// if moving or releasing, priorPoint will get found by prior morph\n\t\tthis.priorPoint = priorPoint; \n\t},\n\n\thandlerName: function() {\n\t\treturn \"on\" + this.type;\n\t},\n\n\tgetKeyCode: function() {\n\t\treturn this.rawEvent.keyCode;\n\t},\n\n\tgetKeyChar: function() {\n\t\tif (this.type == \"KeyPress\") { // rk what's the reason for this test?\n\t\t\tvar id = this.rawEvent.charCode || this.rawEvent.which;\n\t\t\tif (id > 63000) return \"\"; // Old Safari sends weird key char codes\n\t\t\treturn id ? String.fromCharCode(id) : \"\";\n\t\t} else {\n\t\t\tvar code = this.rawEvent.which;\n\t\t\treturn code && String.fromCharCode(code);\n\t\t}\n\t},\n\n\twheelDelta: function() {\n\t\t// FIXME: make browser-independent\n\t\treturn this.rawEvent.wheelDelta;\n\t},\n\n\tpoint: function() {\n\t\t// likely origin of event, obvious for mouse events, the hand's position for\n\t\t// keyboard events\n\t\treturn this.mousePoint || this.hand.getPosition();\n\t},\n\n\tisLeftMouseButtonDown: function() {\n\t\treturn this.rawEvent.button === 0;\n\t},\n\n\tisMiddleMouseButtonDown: function() {\n\t\treturn this.rawEvent.button === 1;\n\t},\n\n\tisRightMouseButtonDown: function() {\n\t\treturn this.rawEvent.button === 2;\n\t},\n\n});\n\n\nObject.extend(Event, {\n\trawEvent: tmp,\n\t\n\t// copied from prototype.js:\n\tKEY_BACKSPACE: 8,\n\tKEY_TAB: 9,\n\tKEY_RETURN: 13,\n\tKEY_ESC: 27,\n\tKEY_LEFT: 37,\n\tKEY_UP: 38,\n\tKEY_RIGHT: 39,\n\tKEY_DOWN: 40,\n\tKEY_DELETE: 46,\n\tKEY_HOME: 36,\n\tKEY_END: 35,\n\tKEY_PAGEUP: 33,\n\tKEY_PAGEDOWN: 34,\n\tKEY_INSERT: 45,\n\n\t// not in prototype.js:\n\tKEY_SPACEBAR: 32,\n\tKEY_SHIFT: 16,\n\tKEY_CTRL: 17,\n\tKEY_ALT: 18,\n\tKEY_CMD: 91,\n\n\t\n\tprepareEventSystem: function(canvas) {\n\t\tif (!canvas) return;\n\t\tvar disabler = { \n\t\t\thandleEvent: function(evt) { \t\n\t \t\t\tevt.preventDefault(); \n\t \t\t\treturn false;\n\t\t\t}\n\t \t};\n\t\tcanvas.addEventListener(\"dragstart\", disabler, false);\n\t\tcanvas.addEventListener(\"selectstart\", disabler, false);\n\t\tif (Config.suppressDefaultMouseBehavior)\n\t\t\tGlobal.document.oncontextmenu = Functions.False\n\t},\n});\n\nvar basicMouseEvents = [\"mousedown\", \"mouseup\", \"mousemove\", \"mousewheel\"];\nvar extendedMouseEvents = [ \"mouseover\", \"mouseout\"];\nEvent.mouseEvents = basicMouseEvents.concat(extendedMouseEvents);\nEvent.keyboardEvents = [\"keypress\", \"keyup\", \"keydown\"];\nEvent.basicInputEvents = basicMouseEvents.concat(Event.keyboardEvents).concat([\"touchstart\", \"touchmove\", \"touchend\", \"touchcancel\"]);\n\n})();\n\nObject.extend(Global, {\n\tequals: function(leftObj, rightObj) {\n\t\tif (!leftObj && !rightObj) return true;\n\t\tif (!leftObj || !rightObj) return false;\n\t\tswitch (leftObj.constructor) {\n\t\t\tcase String:\n\t\t\tcase Boolean:\n\t\t\tcase Number:\n\t\t\t\treturn leftObj == rightObj;\n\t\t};\n\t\tif (leftObj.isEqualNode)\n\t\t\treturn leftObj.isEqualNode(rightObj);\n\t\tvar cmp = function(left, right) {\n\t\t\tfor (var value in left)\n\t\t\t\tif (!(left[value] instanceof Function))\n\t\t\t\t\treturn equals(left[value], right[value]);\n\t\t};\n\t\treturn cmp(leftObj, rightObj) && cmp(rightObj, leftObj);\n\t},\t\n});\n\n\nObject.subclass('Exporter', {\n documentation: \"Implementation class for morph serialization\",\n\n rootMorph: null,\n\n\tinitialize: function(rootMorph) {\n\t\tthis.rootMorph = rootMorph;\n\t\t(rootMorph instanceof Morph) || console.log(\"weird, root morph is \" + rootMorph);\n\t},\n\n\textendForSerialization: function(optSystemDictionary) {\n\t\tconsole.log(\"extendForSerialization \" + optSystemDictionary)\n\t\t\n\t\t// decorate with all the extra needed to serialize correctly. Return the additional nodes, to be removed \n\t\tvar helperNodes = [];\n\n\t\tvar exporter = this;\n\n\t\tthis.rootMorph.withAllSubmorphsDo(function() { \n\t\t\texporter.verbose && console.log(\"serializing \" + this);\n\t\t\tthis.prepareForSerialization(helperNodes, optSystemDictionary);\t\t\t\n\t\t\tif (this.owner) { // just add a new line for better readability\n\t\t\t\tvar nl = NodeFactory.createNL();\n\t\t\t\tthis.rawNode.parentNode.insertBefore(nl, this.rawNode);\n\t\t\t\thelperNodes.push(nl);\n\t\t\t}\n\t\t});\n\t\treturn helperNodes;\n\t},\n\n\tremoveHelperNodes: function(helperNodes) {\n\t\tfor (var i = 0; i < helperNodes.length; i++) {\n\t\t\tvar n = helperNodes[i];\n\t\t\tn.parentNode.removeChild(n);\n\t\t}\n\t},\n\t\n\tserialize: function(destDocument, optSystemDictionary) {\n\t\t// model is inserted as part of the root morph.\n\t\tvar helpers = this.extendForSerialization(optSystemDictionary);\n\t\tvar result = destDocument.importNode(this.rootMorph.rawNode, true);\n\t\tthis.removeHelperNodes(helpers);\n\t\treturn result;\n\t\t\n\t},\n});\n\nObject.extend(Exporter, {\n\n\tstringify: function(node) {\n\t\treturn node ? new XMLSerializer().serializeToString(node) : null;\n\t},\n\n\tstringifyArray: function(nodes, conj) {\n\t\treturn nodes.map(function(n) { return Exporter.stringify(n) }).join(conj);\n\t},\n\n\tshrinkWrapNode: function(node) {\n\t\t// FIXME deal with subdirectories: rewrite the base doc and change xlink:href for scripts\n\t\tvar importer = new Importer();\n\t\tvar newDoc = importer.getBaseDocument();\n\t\timporter.canvas(newDoc).appendChild(newDoc.importNode(node, true));\n\t\treturn newDoc;\n\t},\n\n\tshrinkWrapMorph: function(morph) {\n\t\tvar importer = new Importer();\n\t\tvar newDoc = importer.getBaseDocument();\n\t\tif (!newDoc) \n\t\t\tthrow new Error('Can not continue serializing World beacause the base document is broken')\n\t\tnewDoc.getElementsByTagName(\"title\")[0].textContent = document.title; // persist the title\n\t\t// FIXME this should go to another place?\n\t\t// FIXME addSystemDictionary is deprecated\n\t\tlively.data.Wrapper.collectSystemDictionaryGarbage(morph);\n\t\tvar systemDictionary = this.addSystemDictionary(newDoc, morph);\n\t\timporter.canvas(newDoc).appendChild(new Exporter(morph).serialize(newDoc, systemDictionary));\n\t\tvar fieldNodes = $A(newDoc.getElementsByTagName('field'));\n\t\tthis.stripEpimorphs(fieldNodes);\n\t\tthis.stripIgnoredMorphs(fieldNodes);\n\t\treturn newDoc;\n\t},\n\t\n\tstripEpimorphs: function(fieldNodes) {\n\t\tvar fields = fieldNodes.select(function(ea) {\n\t\t\treturn ea.getAttribute(\"name\") == 'isEpimorph'})\n\t\tthis.stripMorphsOfFields(fields);\n\t},\n\t\n\tstripIgnoredMorphs: function(fieldNodes) {\n\t\tvar fields = fieldNodes.select(function(ea) {\n\t\t\treturn ea.getAttribute(\"name\") == 'ignoreWhenCopying'})\n\t\tthis.stripMorphsOfFields(fields); \n\t},\n\t\n\tstripMorphsOfFields: function(fields) {\n\t\t$A(fields).each(function(fieldNode){\n\t\t\tvar morphNode = fieldNode.parentNode;\n\t\t\tconsole.log(\"strip morph: \" + morphNode)\n\t\t\tmorphNode.parentNode.removeChild(morphNode)\n\t\t})\n\t},\n\t\n\taddSystemDictionary: function(doc, morph) {\n\t\tvar dict = morph.dictionary();\n\t\tif (!dict) return;\n\t\tvar preExisting = doc.getElementById(dict.id);\n\t\tif (preExisting) preExisting.parentNode.removeChild(preExisting);\n\t\tvar newDict = dict.cloneNode(true);\n\t\tdoc.getElementsByTagName('svg')[0].appendChild(doc.importNode(newDict, true));\n\t\treturn newDict\n\t},\n\n\tsaveDocumentToFile: function(doc, urlOrFilename, callback) {\n\t\tconsole.group(\"save document\")\n\t\tif (!urlOrFilename) return null;\n\t\tvar string = urlOrFilename.toString();\n\t\tif (!string.endsWith('.xhtml')) {\n\t\t\tstring += \".xhtml\";\n\t\t\tconsole.log(\"changed url to \" + string);\n\t\t};\n\t\t\n\t\tvar url = string.startsWith('http') ? new URL(string) : URL.source.withFilename(string);\n\t\t\n\t\tvar r = new WebResource(url);\n\t\tr.enableShowingProgress();\n\t\tconnect(r, 'status', this, 'showSaveStatus');\n\n\t\tvar progressBar = WorldMorph.current().showStatusProgress(\"\");\n\t\tprogressBar.setLabel(\"saving \" + urlOrFilename);\n\t\tprogressBar.setValue(0);\n\t\tconnect(r, 'progress', progressBar, 'setValue', {converter: function(rpe) { return (rpe.loaded / rpe.total)}});\n\n\t\tvar onFinishedObj = {callback: function(status) {\n\t\t\tconsole.log(\"finished saving\")\n\t\t\tprogressBar.setValue(1);\n\t\t\tcallback(status)\n\t\t}};\n\t\tconnect(r, 'status', onFinishedObj, 'callback');\n\t\t\n\t\tr.beAsync().put(doc)\t\t\n\t\treturn url;\n\t},\n\n\tshowSaveStatus: function(status) {\n\t\tif (status.isSuccess()) {\n\t\t\tconsole.log(\"success publishing world at \" + status.url + \", status \" + status.code());\n\t\t\tconsole.timeEnd(\"save document\")\n\t\t\tconsole.groupEnd(\"save document\")\n\t\t} else {\n\t\t\tWorldMorph.current().alert(\"failure publishing world at \" + status.url + \", status \" + status.code());\n\t\t}\n\t\tconsole.groupEnd(\"save document\")\n\t},\n\t\n\tsaveNodeToFile: function(node, filename) {\n\t\treturn this.saveDocumentToFile(this.shrinkWrapNode(node), filename);\n\t}\n\n});\n\nObject.subclass('Copier', {\n\tdocumentation: \"context for performing deep copy of objects\",\n\n\tisCopier: true,\n\t\n\twrapperMap: null,\n\n\ttoString: function() { \n\t\treturn \"#\"; \n\t},\n\n\tinitialize: function() {\n\t\tthis.wrapperMap = {};\n\t\tthis.patchSites = [];\n\t},\n\n\taddMapping: function(oldId, newMorph) {\n\t\tdbgOn(!this.wrapperMap);\n\t\tthis.wrapperMap[oldId] = newMorph; \n\t},\n\n\tlookup: function(oldId) {\n\t\treturn this.wrapperMap[oldId];\n\t},\n\t\n\tlookUpOrCopy: function(original) {\n\t\tif (!original) \n\t\t\treturn null;\n\t\tvar replacement = this.lookup(original.id());\n\t\tif (!replacement) {\n\t\t\t// console.log(\"lookUpOrCopy: no replacement found for \" + original.id());\n\t\t \tvar replacement = original.copy(this);\n\t\t\tthis.addMapping(original.id(), replacement);\n\t\t};\n\t\treturn replacement\n\t},\n\n\tlookUpOrTakeOriginal: function(original) {\n\t\tif (!original) \n\t\t\treturn null;\n\t\tvar replacement = this.lookup(original.id());\n\t\tif (!replacement) {\n\t\t\treturn original\n\t\t};\n\t\treturn replacement\n\t},\n\n\tshallowCopyProperties: function(wrapper, other) {\t\n\t\tfor (var p in other) {\n\t\t this.shallowCopyProperty(p, wrapper, other)\n\t\t} \n\t},\t\n\n\tcopyProperties: function(wrapper, other) {\t\n\t\tfor (var p in other) {\n\t\t this.copyProperty(p, wrapper, other)\n\t\t} \n\t},\n\n\tcopyNewProperties: function(wrapper, other) {\t\n\t\tfor (var p in other) {\n\t\t if (wrapper[p])\n\t\t\t\tcontinue;\n\t\t\tthis.copyProperty(p, wrapper, other)\n\t\t} \n\t},\n\n\tshallowCopyProperty: function(property, wrapper, other) {\n\t\t// console.log(\"smartCopyProperty \" + property + \" \" + wrapper + \" from: \" + other)\n\t\tif (!other.hasOwnProperty(property))\n\t\t\treturn;\n\t if (!(other[property] instanceof Function) \n\t\t\t&& other.hasOwnProperty(property) \n\t\t\t&& other.noShallowCopyProperties\n\t\t\t&& !other.noShallowCopyProperties.include(property)) {\n\t\t\tif (other[property] instanceof lively.data.Wrapper) {\n\t\t\t var replacement = this.lookup(other[property].id());\n\t\t\t wrapper[property] = replacement || other[property];\n\t\t\t} else {\t\t\t\n\t\t\t\twrapper[property] = other[property];\n\t\t\t}\n\t }\n\t},\n\t\n\tsmartCopyProperty: function(property, wrapper, other) {\n\t\t// console.log(\"smartCopyProperty \" + property + \" \" + wrapper + \" from: \" + other)\n\t\tvar original = other[property];\n\t\tif (original) {\n\t\t\tif (Object.isArray(original)) {\n\t\t\t\twrapper[property] = original.collect(function each(ea) { \n\t\t\t\t\treturn this.lookUpOrCopy(ea)}, this);\n\t\t\t} else {\t\t\t\n\t\t\t\twrapper[property] = this.lookUpOrCopy(original)\n\t\t\t};\n\t\t};\n\t},\n\t\n\tcopyOrPatchProperty: function (property, object, other) {\n\t\tvar original = other[property]\n\t\tif (original && original.id && (original.id instanceof Function)) {\n\t\t\tthis.addPatchSite(object, property, original.id());\n\t\t\tobject[property] = this.lookUpOrTakeOriginal(original)\n\t\t} else {\n\t\t\t// shallow copy\n\t\t\tobject[property] = original\n\t\t}\t\t\n\t},\n\t\n\tcopyProperty: function (property, object, other) {\n\t\t// console.log(\"smartCopyProperty \" + property + \" \" + object + \" from: \" + other)\n\n\t if (other[property] instanceof Function && other[property].isSerializable) {\n\t\t\tobject[property] = other[property]; // share script\n\t\t\treturn\n\t\t};\n\n\t if ((other[property] instanceof Function) \n\t\t \t|| ! other.hasOwnProperty(property) \n\t\t \t|| (other.doNotCopyProperties && other.doNotCopyProperties.include(property)))\n\t\t\treturn; // copy nothing\t\t\n\t\tvar original = other[property];\n\t\tif (original !== undefined) {\n\t\t\tif (original && Object.isArray(original)) {\n\t\t\t\tvar a = original.clone();\n\t\t\t\tfor (var i=0; i\" },\n\n\tinitialize: function($super) {\n\t\t$super();\n\t\tthis.scripts = [];\n\t\tthis.models = [];\n\t\tthis.patchSites = [];\n\t},\n\n\tcanvas: function(doc) { return locateCanvas(doc) },\n\n\tgetBaseDocument: function() {\n\t\t// FIXME memoize\n\t\tvar webRes = new WebResource(URL.source).get()\n\t\tvar status = webRes.status;\n\t\tif (!status.isSuccess()) {\n\t\t\tconsole.log(\"failure retrieving \" + URL.source + \", status \" + status);\n\t\t\treturn null;\n\t\t} else {\n\t\t\tvar doc = webRes.contentDocument;\n\t\t\tconsole.log(\"problems to parse \" + URL.source);\n\t\t\tif (!doc)\n\t\t\t\treturn null;\n\t\t\tthis.clearCanvas(doc);\n\t\t\treturn doc;\n\t\t}\n\t},\n\n \n\tcanvasContent: function(doc) {\n\t\tvar canvas = this.canvas(doc);\n\t\tvar elements = [];\n\t\tfor (var node = canvas.firstChild; node != null; node = node.nextSibling) {\n\t\t\tswitch (node.localName) {\n\t\t\t\tcase \"g\":\n\t\t\t\telements.push(node);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn elements;\n\t},\n\n\tclearCanvas: function(doc) {\n\t\tvar canvas = this.canvas(doc);\n\t\tvar node = canvas.firstChild;\n\t\twhile (node) {\n\t\t\tvar toRemove = node;\n\t\t\tnode = node.nextSibling;\n\t\t\tif (toRemove.localName == \"g\") \n\t\t\t\tcanvas.removeChild(toRemove);\n\t\t}\n\t},\n\n\tstartScripts: function(world) {\n\t\tthis.verbose && console.log(\"start scripts %s in %s\", this.scripts, world);\n\t\t// sometimes there are null values in this.scripts. Filter them out\n\t\tthis.scripts.select(function(ea) {return ea}).forEach(function(s) { s.start(world); });\n\t},\n \n importWrapperFromNode: function(rawNode) {\n\t\t///console.log('making morph from %s %s', node, LivelyNS.getType(node));\n\t\t// call reflectively b/c 'this' is not a Visual yet. \n\t\tvar wrapperType = lively.data.Wrapper.getEncodedType(rawNode);\n\t\n\t\tif (!wrapperType || !Class.forName(wrapperType)) {\n\t\t\tif (Config.silentFailOnWrapperClassNotFound) {\n\t\t\t\tconsole.log(Strings.format(\"ERROR: node %s (parent %s) cannot be a morph of %s\",\n\t\t \t\t \trawNode.tagName, rawNode.parentNode, wrapperType));\n\t\t\t\tvar morph = new Morph(this, rawNode);\n\t\t\t\tmorph.applyStyle({borderColor: Color.red, borderWidth: 8});\n\t\t\t\tmorph.isEmergencyMorph = true;\n\t\t\t\treturn morph;\n\t\t\t} else {\n\t\t\t throw new Error(Strings.format(\"node %s (parent %s) cannot be a morph of %s\",\n\t\t\t \trawNode.tagName, rawNode.parentNode, wrapperType));\t \n\t\t\t}\n\t\t}\n\n\t\treturn new (Class.forName(wrapperType))(this, rawNode);\n\t\t/*\n\t\ttry {\n\n\t\t} catch (er) {\n\t\t console.log(\"%s instantiating type %s from node %s\", er, \n\t\t\t\twrapperType, Exporter.stringify(rawNode));\n\t\t throw er;\n\t\t}*/\n\t},\n\n importWrapperFromString: function(string) {\n\t\treturn this.importWrapperFromNode(this.parse(string));\n },\n\n\tparse: function(string) {\n\t\tvar parser = new DOMParser();\n\t\tvar xml = parser.parseFromString(' ' + string, \"text/xml\");\n\t\tif (xml.documentElement.tagName == \"html\") {\n\t\t\tthrow new Error(\"xml parse error: \" + Exporter.stringify(xml.documentElement));\n\t\t} \n\t\treturn document.importNode(xml.documentElement, true);\n\t},\n\n\timportFromNodeList: function(nodes) {\n\t\tvar morphs = [];\n\t\tfor (var i = 0; i < nodes.length; i++) {\n\t\t\tvar node = nodes[i];\n\t\t\t// console.log(\"found node \" + Exporter.stringify(node));\n\t\t\tif (node.localName != \"g\") continue;\n\t\t\tmorphs.push(this.importWrapperFromNode(node.ownerDocument === Global.document ? \n\t\t\t\tnode : Global.document.importNode(node, true)));\n\t\t}\n\t\treturn morphs;\n\t},\n\n\tfinishImport: function(world) {\n\t\tthis.patchReferences();\n\t\tthis.hookupModels();\n\t\tthis.runDeserializationHooks();\n\t\ttry {\n\t\t\tthis.startScripts(world);\n\t\t} catch (er) {\n\t\t\tconsole.log(\"scripts failed: \" + er);\n\t\t}\n\t},\n\n\thookupModels: function() {\n\t\tProperties.forEachOwn(this.wrapperMap, function each(key, wrapper) {\n\t\t\tif (wrapper.reconnectModel) {// instanceof View\n\t\t\t\tvar m = wrapper.reconnectModel();\n\t\t\t\tm && console.log('connecting model on ' + wrapper + \" model \" + m);\n\t\t\t}\n\t\t});\n\t},\n\n\trunDeserializationHooks: function() {\n\t\tProperties.forEachOwn(this.wrapperMap, function each(key, wrapper) {\n\t\t\tif (wrapper.onDeserialize) {\n\t\t\t\ttry {\n\t\t\t\t\twrapper.onDeserialize();\n\t\t\t\t} catch(e) {\n\t\t\t\t\tconsole.warn('Cannot deserialize ' + wrapper + ': ' + e + '\\n' + e.stack)\n\t\t\t\t}\n\t\t\t} \n\t\t\t// collect scripts\n\t\t\tif (wrapper.activeScripts)\n\t\t\t\tthis.scripts = this.scripts.concat(wrapper.activeScripts);\n\t\t}, this);\n\t},\n\n\n\tloadWorldInSubworld: function(doc) {\n\t\tvar nodes = this.canvasContent(doc);\n\t\tif (!nodes) {\n\t\t\tWorldMorph.current().alert('no morphs found');\n\t\t\treturn null;\n\t\t}\n\t\tvar world = new WorldMorph(WorldMorph.current().canvas());\n\t\tvar morphs = this.importFromNodeList(nodes);\n\n\t\tmorphs.forEach(function(morph) {\n\t\t\tif (morph instanceof WorldMorph) morph.submorphs.clone().forEach(function(m) { world.addMorph(m) });\n\t\t\telse world.addMorph(morph);\n\t\t});\n\t\n\t\t// post addition\n\t\tthis.finishImport(world);\n\n\t\tvar link = WorldMorph.current().reactiveAddMorph(new LinkMorph(world));\n\t\tlink.addPathBack();\n\t\treturn world;\n\t},\n\n\tloadWorldContentsInCurrent: function(doc) {\n\t\tvar world = this.loadWorldContents(doc);\n\t\t// FIXME? scripts have started already ?\n\t\tworld.submorphs.clone().forEach(function(m) { \n\t\t\tWorldMorph.current().addMorph(m) \n\t\t});\n\t},\n \n\tloadWorldContents: function(doc) { \n\t\t// possibly doc === Global.document; \n\t\tvar world = null;\n\t\tvar morphs = this.importFromNodeList(this.canvasContent(doc));\n\n\t\tif (!(0 in morphs)) \n\t\t\treturn null;\n\n\t\tvar canvas = this.canvas(doc);\n\n\t\tif (morphs[0] instanceof WorldMorph) {\n\t\t\tworld = morphs[0];\t\n\t\t\tif (morphs.length > 1) console.log(\"more than one top level morph following a WorldMorph, ignoring remaining morphs\");\n\t\t} else {\n\t\t\t// no world, create one and add all the serialized morphs to it.\n\t\t\tworld = new WorldMorph(canvas);\n\t\t\t// this adds a the WorldMorph's at the end of the list\n\t\t\tcanvas.appendChild(world.rawNode);\n\t\t\t// the following will reparent all the existing morphs under the WorldMorph's \n\t\t\tmorphs.clone().forEach(function(m) { world.addMorph(m); });\n\t\t}\n\t\tthis.finishImport(world);\n\n\t\treturn world;\n\t}\n});\n\nObject.extend(Importer, {\n\tmarker: Object.extend(new Importer(), {\n\t addMapping: Functions.Empty,\n\t lookup: Functions.Null,\n\t}),\n});\n\n\nFunction.addMethods(\n'serialization', {\n\ttoLiteral: function() {\n\t\treturn {source: String(this)}\n\t},\n\tunbind: function() {\n\t\t// for serializing functions\n\t\treturn Function.fromString(this.toString());\n\t},\n\tasScript: function() {\n\t\tvar script = this.unbind();\n\t\tscript.isSerializable = true;\n\t\treturn script;\n\t},\n\tasScriptOf: function(obj, optName) {\n\t\tvar name = optName || this.name;\n\t\tif (!name)\n\t\t\tthrow Error(\"Function that wants to be a script needs a name: \" + this);\n\t\tobj[name] = this.asScript();\n\t\treturn obj[name];\n\t},\n});\n\nObject.extend(Function, {\n\tfromString: function(funcOrString) {\n\t\treturn eval('(' + funcOrString.toString() + ')') \n\t},\n\n\tfromLiteral: function(obj) { \n\t\treturn Function.fromString(obj.source).asScript();\n\t},\n});\n\n\n// ===========================================================================\n// Morph functionality\n// ===========================================================================\n\nObject.subclass('MouseHandlerForDragging', {\n\n\thandleMouseEvent: function(evt, targetMorph) {\n\t\tif (evt.type == \"MouseDown\") evt.hand.setMouseFocus(targetMorph);\n\t\tevt.hand.resetMouseFocusChanges();\n\n\t\tvar handler = targetMorph[evt.handlerName()];\n\t\tif (handler) handler.call(targetMorph, evt, targetMorph);\n\n\t\tif (evt.type == \"MouseUp\") {\n\t\t\t// cancel focus unless it was set in the handler\n\t\t\tif (evt.hand.resetMouseFocusChanges() == 0) {\n\t\t\t\tevt.hand.setMouseFocus(null);\n\t\t\t}\n\t\t}\n\t\treturn true; \n\t},\n\n handlesMouseDown: Functions.False\n});\n\nObject.subclass('MouseHandlerForRelay', {\n\n\tdefaultEventSpec: {onMouseDown: \"onMouseDown\", onMouseMove: \"onMouseMove\", onMouseUp: \"onMouseUp\"},\n\t\n\tinitialize: function (target, eventSpec) {\n\t\t// Send events to a different target, with different methods\n\t\t// Ex: box.relayMouseEvents(box.owner, {onMouseUp: \"boxReleased\", onMouseDown: \"boxPressed\"})\n\t\tthis.target = target;\n\t\tthis.eventSpec = eventSpec || this.defaultEventSpec;\n\t},\n\n\thandleMouseEvent: function(evt, originalTarget) {\n\t\tif (evt.type == \"MouseDown\") evt.hand.setMouseFocus(originalTarget);\n\t\tevt.hand.resetMouseFocusChanges();\n\n\t\tvar handler = this.target[this.eventSpec[evt.handlerName()]];\n\t\tif (handler) handler.call(this.target, evt, originalTarget);\n\n\t\tif (evt.type == \"MouseUp\") {\n\t\t\t// cancel focus unless it was set in the handler\n\t\t\tif (evt.hand.resetMouseFocusChanges() == 0) {\n\t\t\t\tevt.hand.setMouseFocus(null);\n\t\t\t}\n\t\t}\n\t\treturn true; \n\t},\n\n handlesMouseDown: Functions.True\n\n});\n\n/**\n * Morph Class \n */\nlively.data.Wrapper.subclass('Morph');\n\nObject.extend(Morph, {\n\t// Functions for change management\n \t// this static function is needed to bind it during the defintion of some Morph methods\n\tonLayoutChange: function(fieldName) { \n\t\treturn function layoutChangeAdvice(/* arguments*/) {\n\t\t\tvar priorExtent = this.innerBounds().extent();\n\t\t\tthis.changed();\n\t\t\tvar args = $A(arguments);\n\t\t\tvar proceed = args.shift();\n\t\t\tvar result = proceed.apply(this, args);\n\t\t\tthis.layoutChanged(priorExtent);\n\t\t\tthis.changed(); \n\t\t\treturn result;\n\t\t}\n\t},\n\n\tfromLiteral: function(literal) {\n\t\tvar morph = new Morph(literal.shape);\n\t\tif (literal.submorphs) {\n\t\t\tif (Object.isArray(literal.submorphs))\n\t\t\t\tmorph.setSubmorphs(literal.submorphs);\n\t\t\telse throw new TypeError();\n\t\t}\n\t\tif (literal.transforms) {\n\t\t\tmorph.setTransforms(literal.transforms);\n\t\t}\n\t\treturn morph;\n\t},\n\n\t// factory methods\n\tmakeLine: function(verts, lineWidth, lineColor) {\n\t\t// make a line with its origin at the first vertex\n\t\t// Note this works for simple lines (2 vertices) and general polylines\n\t\tverts = verts.invoke('subPt', verts[0]);\n\t\tvar shape = new lively.scene.Polyline(verts);\n\t\tvar morph = new Morph(shape);\n\t\tmorph.setBorderWidth(lineWidth);\n\t\tmorph.setBorderColor(lineColor);\n\t\tmorph.setFill(null);\n\t\treturn morph;\n\t},\n\n\tmakeCircle: function(location, radius, lineWidth, lineColor, fill) {\n\t\t// make a circle of the given radius with its origin at the center\n\t\tvar morph = new Morph(new lively.scene.Ellipse(location, radius));\n\t\tmorph.setBorderWidth(lineWidth);\n\t\tmorph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill || Color.blue);\n\t\treturn morph;\n\t},\n\n\tmakeEllipse: function(bounds, lineWidth, lineColor, fill) {\n\t\t// make a circle first (a bit wasteful)\n\t\tvar morph = this.makeCircle(bounds.center(), 0, lineWidth, lineColor, fill);\n\t\tmorph.setBounds(bounds);\n\t\tmorph.moveOriginBy(morph.innerBounds().center())\n\t\treturn morph;\n\t},\n\n\tmakeRectangle: function(/**/) {\n\t\tvar morph;\n\t\tswitch (arguments.length) {\n\t\t\tcase 1: // rectangle\n\t\t\tif (!(arguments[0] instanceof Rectangle)) throw new TypeError(arguments[0] + ' not a rectangle');\n\t\t\tmorph = new Morph(new lively.scene.Rectangle(arguments[0]));\n\t\t\tbreak;\n\t\t\tcase 2: // location and extent\n\t\t\tmorph = new Morph(new lively.scene.Rectangle(arguments[0].extent(arguments[1])));\n\t\t\tbreak;\n\t\t\tcase 4: // x,y,width, height\n\t\t\tmorph = new Morph(new lively.scene.Rectangle(new Rectangle(arguments[0], arguments[1], arguments[2], arguments[3])));\n\t\t\tbreak;\n\t\t\tdefault:\n\t\t\tthrow new Error(\"bad arguments \" + arguments);\n\t\t}\n\t\treturn morph.applyStyle({borderWidth: 1, borderColor: Color.black, fill: Color.blue});\n\t},\n\n\tmakePolygon: function(verts, lineWidth, lineColor, fill) {\n\t\tvar morph = new Morph(new lively.scene.Polygon(verts));\n\t\tmorph.setBorderWidth(lineWidth);\n\t\tmorph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill);\n\t\treturn morph;\n\t\t//return morph.applyStyle({fill: fill, borderWidth: lineWidth, borderColor: lineColor});\n\t},\n\n\tmakeStar: function(position) {\n\t\tvar makeStarVertices = function(r,center,startAngle) {\n\t\t\tvar vertices = [];\n\t\t\tvar nVerts = 10;\n\t\t\tfor (var i=0; i <= nVerts; i++) {\n\t\t\t\tvar a = startAngle + (2*Math.PI/nVerts*i);\n\t\t\t\tvar p = Point.polar(r,a);\n\t\t\t\tif (i%2 == 0) p = p.scaleBy(0.39);\n\t\t\t\tvertices.push(p.addPt(center)); \n\t\t\t}\n\t\t\treturn vertices; \n\t\t}\n\t\tvar morph = Morph.makePolygon(makeStarVertices(50,pt(0,0),0), 1, Color.black, Color.yellow);\n\t\tmorph.setPosition(position);\n\t\treturn morph\n\t},\n\t\n\tmakeCurve: function(verts, ctrls, closed) {\n\t\t// Make up a new quadratic spline from the supplied vertices and control points.\n\t\t// ctrls[i] is the ctrl point for segment from verts[i-1] to verts[i]. (ctrls[0] is never used)\n\t\tif (verts.length < 2) return;\n\t\t// console.log(\"verts = \" + Object.inspect(verts));\n\t\t// console.log(\"ctrls = \" + Object.inspect(ctrls));\n\t\tvar g = lively.scene;\n\t\tvar cmds = [];\n\t\tcmds.push(new g.MoveTo(true, verts[0].x, verts[0].y));\n\t\tfor (var i=1; i 1) console.warn('More than one code node');\n\t\t\t// ChangeSet of World gets evaluated in main\n \t}\n\t},\n\n restoreFromSubnodes: function(importer) {\n // wade through the children\n var children = [];\n var helperNodes = [];\n \n for (var desc = this.rawNode.firstChild; desc != null; desc = desc.nextSibling) {\n if (desc.nodeType == Node.TEXT_NODE || desc.nodeType == Node.COMMENT_NODE) {\n if (desc.textContent == \"\\n\") \n helperNodes.push(desc); // remove newlines, which will be reinserted for formatting\n continue; // ignore whitespace and maybe other things\n }\n var type = lively.data.Wrapper.getEncodedType(desc);\n // depth first traversal\n\n\t\t\t// WebCards...\n\t\t \t// if (type && !type.startsWith(\"anonymous_\")) { //I have no idea what that mean\n\n if (type) {\n var wrapper = importer.importWrapperFromNode(desc);\n if (wrapper instanceof Morph) {\n this.submorphs.push(wrapper); \n wrapper.owner = this;\n } else children.push(desc);\n } else {\n children.push(desc);\n }\n }\n\n for (var i = 0; i < children.length; i++) {\n var node = children[i];\n var shape = lively.scene.Shape.importFromNode(importer, node);\n if (shape) {\n this.shape = shape;\n continue;\n }\n switch (node.localName) {\n // nodes from the Lively namespace\n case \"field\": {\n // console.log(\"found field \" + Exporter.stringify(node));\n helperNodes.push(node);\n this.deserializeFieldFromNode(importer, node); \n break;\n }\n case \"widget\": {\n this.deserializeWidgetFromNode(importer, node);\n break;\n }\n case \"array\": {\n helperNodes.push(node);\n this.deserializeArrayFromNode(importer, node);\n break;\n }\n case \"relay\": {\n this.deserializeRelayFromNode(importer, node);\n break;\n }\n case \"record\": {\n this.deserializeRecordFromNode(importer, node);\n break;\n }\n case \"defs\": { \n\t\t\t\tthis.restoreFromDefsNode(importer, node);\n break;\n }\n default: {\n if (node.nodeType === Node.TEXT_NODE) {\n //console.log('text tag name %s', node.tagName);\n // whitespace, ignore\n } else if (!this.restoreFromSubnode(importer, node)) {\n console.warn('not handling %s, %s', node.tagName || node.nodeType, node.textContent);\n }\n }\n }\n } // end for\n\n for (var i = 0; i < helperNodes.length; i++) {\n var n = helperNodes[i];\n n.parentNode.removeChild(n);\n }\n },\n\n\tresolveUriToObject: function(uri) {\n\t\tif (this.id() == uri)\n\t\t\treturn this;\n\t\tif (this.ownerWidget) {\n\t\t\tvar result = this.ownerWidget.resolveUriToObject(uri)\n\t\t\tif (result)\n\t\t\t\treturn result;\n\t\t};\t\n\t\tfor (var i=0; i < this.submorphs.length; i++) {\n\t\t\tvar result = this.submorphs[i].resolveUriToObject(uri);\n\t\t\tif (result)\n\t\t\t\treturn result;\n\t\t}\n\t\treturn null\n\t},\n\t\t\n\t// Fill Garbage Collection on Serialization...\n\tcollectAllUsedFills: function(/*$super, */result) {\n\t\t// result = $super(result);\n\t\tvar fill = this.getFill();\n\t\tif (fill instanceof lively.paint.Gradient) result.push(fill);\n\t\tvar stroke = this.shape.getStroke(); // fixme\n\t\tif (stroke instanceof lively.paint.Gradient) result.push(stroke);\n\t\tif (this.submorphs) this.submorphs.invoke('collectAllUsedFills', result);\n\t\treturn result\n\t},\n\n\texportLinkedFile: function(filename) {\n\t\tvar url;\n\t\tif (Global[\"WikiNavigator\"] && WikiNavigator.current) {\n\t\t\tvar nav = WikiNavigator.current;\n\t\t\turl = WikiNavigator.fileNameToURL(filename);\n\t\t\tnav.interactiveSaveWorld(url);\n\t\t} else {\n\t\t\turl = WorldMorph.current().saveWorld(filename);\n\t\t}\n\t\tif (url) this.world().reactiveAddMorph(new ExternalLinkMorph(url));\n\t\treturn url;\n\t},\n\n},\n'accessing', {\n\tgetName: function() { return this.name },\n\n\tsetName: function(str) { this.name = str; return name },\n\n\tcanvas: function() {\n\t\treturn locateCanvas(this.rawNode);\n\t},\n\t\n getOwnerWidget: function() {\n\t\treturn this.ownerWidget || this.owner.getOwnerWidget();\n\t},\n\n\townerChain: function() {\n\t\t// Return an array of me and all my owners\n\t\t// First item is, eg, world; last item is me\n\t\tif (!this.owner) return [this];\n\t\tvar owners = this.owner.ownerChain();\n\t\towners.push(this);\n\t\treturn owners;\n\t},\n\n},\n'styling',{\t// tmp copy\n\n\tgetStyleClass: function() { return this.styleClass || [] },\n\n\tsetStyleClass: function(value) {\n\t\tvar attr;\n\t\tif (value instanceof Array) {\n\t\t\tthis.styleClass = value;\n\t\t\tattr = value.join(' ');\n\t\t} else {\n\t\t\tthis.styleClass = [value];\n\t\t\tattr = String(value);\n\t\t}\n\t\tthis.rawNode.setAttribute(\"class\", attr);\n\t\treturn value;\n\t},\n\n\tapplyStyle: function(specs) { // note: use reflection instead?\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar spec = arguments[i];\n\t\t\tif(!spec) return; // dbgOn(!spec);\n\t\t\tif (spec.borderWidth !== undefined) this.setBorderWidth(spec.borderWidth);\n\t\t\tif (spec.borderColor !== undefined) this.setBorderColor(spec.borderColor);\n\t\t\tif (spec.fill !== undefined) this.setFill(spec.fill);\n\t\t\tif (spec.opacity !== undefined) {\n\t\t\t\tthis.setFillOpacity(spec.opacity);\n\t\t\t\tthis.setStrokeOpacity(spec.opacity); \n\t\t\t}\n\t\t\tif (spec.fillOpacity !== undefined) this.setFillOpacity(spec.fillOpacity);\n\t\t\tif (spec.strokeOpacity !== undefined) this.setStrokeOpacity(spec.strokeOpacity);\n\n\t\t\tif (this.shape.roundEdgesBy && spec.borderRadius !== undefined) { \n\t\t\t\tthis.shape.roundEdgesBy(spec.borderRadius);\n\t\t\t}\n\t\t\tif (spec.suppressGrabbing !== undefined) this.suppressGrabbing = spec.suppressGrabbing;\n\t\t\tif (spec.suppressHandles !== undefined) this.suppressHandles = spec.suppressHandles;\n\n\t\t\tif (spec.focusHaloBorderWidth !== undefined) this.focusHaloBorderWidth = spec.focusHaloBorderWidth;\n\t\t\tif (spec.focusHaloInset !== undefined) this.focusHaloInset = spec.focusHaloInset;\n\t\t\tif (spec.padding !== undefined) this.padding = spec.padding;\n\t\t\tif (spec.margin !== undefined) this.margin = spec.margin;\n\t\t}\n\t\treturn this;\n\t},\n\n\tmakeStyleSpec: function() {\n\t\t// Adjust all visual attributes specified in the style spec\n\t\tvar spec = { };\n\t\tspec.borderWidth = this.getBorderWidth();\n\t\tspec.borderColor = this.getBorderColor();\n\t\tspec.fill = this.getFill();\n\t\tif (this.shape.getBorderRadius) spec.borderRadius = this.shape.getBorderRadius() || 0.0;\n\t\tspec.fillOpacity = typeof this.shape.getFillOpacity() !== undefined ? this.shape.getFillOpacity() : 1.0;\n\t\tspec.strokeOpacity = typeof this.shape.getStrokeOpacity() !== undefined ? this.shape.getStrokeOpacity() : 1.0;\t\t\n\t\treturn spec;\n\t},\n\n\tapplyStyleNamed: function(name) {\n\t\tvar style = this.styleNamed(name);\n\t\tif (style) this.applyStyle(style);\n\t\telse console.warn(\"applyStyleNamed: no style named \" + name)\n\t},\n\n\tstyleNamed: function(name) {\n\t\t// Look the name up in the Morph tree, else in current world\n\t\tif (this.displayTheme) return this.displayTheme[name];\n\t\tif (this.owner) return this.owner.styleNamed(name);\n\t\tvar world = WorldMorph.current();\n\t\tif (world && (this !== world)) return world.styleNamed(name);\n\t\treturn DisplayThemes[Config.defaultDisplayTheme || \"lively\"][name]; // FIXME for onDeserialize, when no world exists yet\n\t},\n\n\tlinkToStyles: function(styleClassList, optSupressApplication) {\n\t\t// Record the links for later updates, and apply them now\n\t\tthis.setStyleClass(styleClassList);\n\t\tif (!optSupressApplication) this.applyLinkedStyles();\n\t\treturn this;\n\t},\n\n\tapplyLinkedStyles: function() {\n\t\t// Apply all the styles to which I am linked, in order\n\t\tvar styleClasses = this.getStyleClass();\n\t\tif (!styleClasses) return;\n\t\tfor (var i = 0; i < styleClasses.length; i++) {\n\t\t\tthis.applyStyleNamed(styleClasses[i]); \n\t\t}\n\t},\n},\n'appearance', { // Functions for manipulating the visual attributes of Morphs\n\t\n\tsetFill: function(fill) {\n\t\tthis.shape.setFill(fill);\n\t\tthis.changed();\n\t\treturn fill;\n\t},\n\n\tgetFill: function() { return this.shape.getFill() },\n\n\tsetBorderColor: function(newColor) {\n\t\tthis.shape.setStroke(newColor);\n\t\t// this.changed();\n\t\treturn newColor\n\t},\n\n\tgetBorderColor: function() {\n\t\treturn new Color(Importer.marker, this.shape.getStroke());\n\t},\n\n\t// FIXME for Chrome border bug\n\tnearlyZeroBorderWidth: 0.00001,\n\n\tsetBorderWidth: function(newWidth) {\n\t\tif (newWidth == null) newWidth = 0;\n\t\tif (Config.ChromeWindowsBorderBugFix) {\n\t\t\t// Workaround Chrome Windows BUG\n\t\t\t// that displays a line when the strok width is 0\n\t\t\tif (newWidth == 0) newWidth = this.nearlyZeroBorderWidth;\n\t\t}\n\t\t\n\t\tvar oldWidth = this.getBorderWidth();\n\t\tif (newWidth == oldWidth) return;\n\n\t\t// Opt: only notify change with the bigger of two bounds\n\t\tif (oldWidth > newWidth) this.changed();\n\t\tthis.shape.setStrokeWidth(newWidth); \n\t\tif (newWidth > oldWidth) this.changed();\n\t\treturn newWidth\n\t},\n\n\tgetBorderWidth: function() {\n\t\treturn this.shape.getStrokeWidth() || 0; // FIXME: fix defaults logic\n\t},\n\n \tsetBorderRadius: function(r) {//jd\n \tthis.shape.roundEdgesBy(r);\n\t\tthis.changed();\n\t\treturn r\n },\n\n \tgetBorderRadius: function() {\n\t\treturn this.shape.getBorderRadius(); \n\t},\n\n\tshapeRoundEdgesBy: function(r) {\n\t\tthis.setBorderRadius(r);\n\t},\n\n\tgetFillOpacity: function() { return this.shape.getFillOpacity(); },\n\n\tsetFillOpacity: function(op) {\n\t\tthis.shape.setFillOpacity(op);\n\t\tthis.changed(); // FIXME better use specific update\n\t\treturn op;\n\t},\n\n\tsetStrokeOpacity: function(op) { \n\t\tthis.shape.setStrokeOpacity(op);\n\t\tthis.changed(); // FIXME better use specific update\n\t\treturn op;\n\t},\n\n\tgetStrokeOpacity: function() { return this.shape.getStrokeOpacity() },\n\n setLineJoin: function(joinType) { this.shape.setLineJoin(joinType); return joinType },\n\n\tgetLineJoin: function() { return this.shape.getLineJoin() }, \n\n setLineCap: function(capType) { this.shape.setLineCap(capType); return capType },\n\n \tgetLineCap: function() { return this.shape.getLineCap() },\n\n // toggle fisheye effect on/off\n\ttoggleFisheye: function() { \n\t\t// if fisheye is true, we need to scale the morph to original size\n\t\tif (this.fishEye) {\n\t\t\tthis.setScale(this.getScale() / this.fisheyeScale);\n\t\t\tthis.setFisheyeScale(1.0);\n\t\t}\n\t\t// toggle fisheye\n\t\tthis.fishEye = !this.fishEye;\n\t},\n\n\t// sets the scaling factor for the fisheye between 1..fisheyeGrowth\n\tsetFisheyeScale: function (newScale) {\n\t\t// take the original centerpoint\n\t\tvar p = this.bounds().center();\n\n\t\tthis.fisheyeScale = newScale;\n\t\tthis.pvtCachedTransform = null;\n\t\tthis.layoutChanged(); \n\t\tthis.changed();\n\n\t\t// if the fisheye was on move the fisheye'd morph by the difference between \n\t\t// original center point and the new center point divided by 2\n\t\tif (this.fishEye) {\n\t\t\t// (new.center - orig.center)/2\n\t\t\tvar k = this.bounds().center().subPt(p).scaleBy(.5).negated();\n\t\t\tif (!pt(0,0).eqPt(k)) {\n\t\t\t\tthis.setPosition(this.position().addPt(k));\n\t\t\t\tthis.layoutChanged(); \n\t\t\t\tthis.changed();\n\t\t\t}\n\t\t}\n\t},\n\n\tisVisible: function() { // FIXME delegate to sceneNode when conversion finished\n\t\t// Note: this may not be correct in general in SVG due to inheritance,\n\t\t// but should work in LIVELY.\n\t\tvar hidden = this.rawNode.getAttributeNS(null, \"display\") == \"none\";\n\t\treturn hidden == false;\n\t},\n\n\tsetVisible: function(flag) { // FIXME delegate to sceneNode when conversion finished\n\t\tif (flag) this.rawNode.removeAttributeNS(null, \"display\");\n\t\telse this.rawNode.setAttributeNS(null, \"display\", \"none\");\n\t\treturn this;\n\t},\n\t\n\tapplyFilter: function(filterUri) {// FIXME delegate to sceneNode when conversion finished\n\t\tif (filterUri) \n\t\t\tthis.rawNode.setAttributeNS(null, \"filter\", filterUri);\n\t\telse\n\t\t\tthis.rawNode.removeAttributeNS(null, \"filter\");\n\t},\n\t\n},\n'shape related', {\n\n\t// NOTE: The following four methods should all be factored into a single bit of reshaping logic\n\tapplyFunctionToShape: function() { // my kingdom for a Smalltalk block!\n\t\tvar args = $A(arguments);\n\t\tvar func = args.shift();\n\t\tfunc.apply(this.shape, args);\n\t\tthis.adjustForNewBounds();\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tinternalSetShape: function(newShape) {\n\t\tif (!newShape.rawNode) {\n\t\t\tconsole.log('newShape is ' + newShape);\n\t\t\tlively.lang.Execution.showStack();\n\t\t}\n\n\t\tthis.rawNode.replaceChild(newShape.rawNode, this.shape.rawNode);\n\t\tthis.shape = newShape;\n\t\tthis.adjustForNewBounds();\n\t},\n\n\tsetShape: function(newShape) {\n\t\tthis.internalSetShape(newShape);\n\t\treturn newShape;\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\treshape: function(partName, newPoint, lastCall) {\n\t\ttry {\n\t\t\treturn this.shape.reshape(partName,newPoint,lastCall);\n\t\t} finally {\n\t\t\t// FIXME: consider converting polyline to polygon when vertices merge.\n\t\t\tif (this.layoutManager && this.layoutManager.onReshape) this.layoutManager.onReshape(this);\n\t\t}\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tsetVertices: function(newVerts) {\n\t\t// particular to polygons\n\t\tthis.shape.setVertices(newVerts);\n\t\tthis.adjustForNewBounds();\n\t\treturn newVerts;\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tbeClipMorph: function() {\n\t\t// For simple morphs (rectangles, ellipses, polygons) this will cause all submorphs\n\t\t// to be clipped to the shape of this morph.\n\t\t// Note: the bounds function should probably be copied from ClipMorph as\n\t\t//\t\tpart of this mutation\n\t\tvar defs = this.rawNode.appendChild(NodeFactory.create('defs'));\n\t\tthis.clip = new lively.scene.Clip(this.shape);\n\t\tdefs.appendChild(this.clip.rawNode);\n\t\tthis.clip.applyTo(this);\n\t\tthis.isClipMorph = true;\n\t},\n\n},\n'layouting',{\n\n // FIXME: this doesn't account properly for border width\n // the CSS box model, see http://www.w3.org/TR/REC-CSS2/box.html \n padding: new Rectangle(0, 0, 0, 0), // between morph borders and its content (inwards)\n margin: new Rectangle(0, 0, 0, 0), // between morph border and its siblings\n \n\tlayoutManager: null, // singleton, intialzided later\n\n\t// Simple hack until the layout manager can relayout\n\trelayout: function() {\n\t\tif (this.layoutManager) this.layoutManager.layout(this);\n\t},\n\n\tsetBounds: function(newRect) {\n\t\tif (!newRect) return;\n\t\tthis.layoutManager.setBounds(this, newRect);\n\t\treturn newRect;\n\t}.wrap(Morph.onLayoutChange('shape')),\n\n\tsetExtent: function(newExtent) {\n\t\tthis.layoutManager.setExtent(this, newExtent);\n\t\treturn newExtent;\n\t},\n\n\tgetExtent: function(newRect) { return this.shape.bounds().extent() },\n\n\tposition: function() { // Deprecated -- use getPosition\n\t\treturn this.shape.bounds().topLeft().addPt(this.origin); \n\t},\n\n\tgetPosition: function() {\n\t\treturn this.shape.bounds().topLeft().addPt(this.origin); \n\t},\n\n\tsetPosition: function(newPosition) {\n\t\tthis.layoutManager.setPosition(this, newPosition);\n\t\treturn newPosition;\n\t},\n\n\tcontainsPoint: function(p) { \n\t\t// p is in owner coordinates\n\t\tif (!this.bounds().containsPoint(p)) return false;\n\t\treturn this.shape.containsPoint(this.relativize(p)); \n\t},\n\n\tcontainsWorldPoint: function(p) { // p is in world coordinates\n\t\tif (this.owner == null) return this.containsPoint(p);\n\t\treturn this.containsPoint(this.owner.localize(p)); \n\t},\n\n\tfullContainsPoint: function(p) { // p is in owner coordinates\n\t\treturn this.bounds().containsPoint(p); \n\t},\n\n\tfullContainsWorldPoint: function(p) { // p is in world coordinates\n\t\tif (this.owner == null) return this.fullContainsPoint(p);\n\t\treturn this.fullContainsPoint(this.owner.localize(p)); \n\t},\n\n\t// Morph bounds, coordinates, moving and damage reporting functions\n // bounds returns the full bounding box in owner coordinates of this morph and all its submorphs\n\tbounds: function(ignoreTransients, ignoreTransform) {\n\t\tif (this.fullBounds != null) return this.fullBounds;\n\n\t\tvar tfm = this.getTransform();\n\t\tvar fullBounds = this.localBorderBounds(ignoreTransform ? null : tfm);\n\n\t\tvar subBounds = this.submorphBounds(ignoreTransients);\n\t\tif (subBounds != null) {\n\t\t\t// could be simpler when no rotation...\n\t\t\tfullBounds = fullBounds.union(tfm.transformRectToRect(subBounds));\n\t\t}\n\n\t\tif (fullBounds.width < 3 || fullBounds.height < 3) {\n\t\t\t// Prevent Horiz or vert lines from being ungrabable\n\t\t\tfullBounds = fullBounds.expandBy(3); \n\t\t}\n\t\tthis.fullBounds = fullBounds;\n\t\treturn fullBounds; \n\t},\n \n\tsubmorphBounds: function(ignoreTransients) {\n\t\tvar subBounds = null;\n\t\tfor (var i = 0; i < this.submorphs.length; i++) {\n\t\t\tvar m = this.submorphs[i];\n\t\t\tif ((ignoreTransients && m.isEpimorph))\n\t\t\t\tcontinue;\n\t\t\tif (!m.isVisible()) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tsubBounds = subBounds == null ? m.bounds(ignoreTransients) : subBounds.union(m.bounds(ignoreTransients));\n\t\t}\n\t\treturn subBounds;\n\t},\n \n // innerBounds returns the bounds of this morph only, and in local coordinates\n innerBounds: function() { \n return this.shape.bounds().insetByRect(this.padding);\n },\n \n\tlocalBorderBounds: function(optTfm) {\n\t\t// defined by the external edge of the border\n\t\t// if optTfm is defined, transform the vertices first, then take the union\n\t\tdbgOn(!this.shape);\n\t\tvar bounds = optTfm ? Rectangle.unionPts(this.shape.vertices().invoke('matrixTransform', optTfm)) : this.shape.bounds();\n\n\t\tvar borderMargin = this.getBorderWidth()/2;\n\t\t// double border margin for polylines to account for elbow protrusions\n\t\tif (this.shape.hasElbowProtrusions) borderMargin = borderMargin*2 + 1;\n\t\tbounds = bounds.expandBy(borderMargin);\n\t\treturn bounds;\n\t},\n\t\n\tchanged: function() {\n\t\t// Note most morphs don't need this in SVG, but text needs the \n\t\t// call on bounds() to trigger layout on new bounds\n\t\tif(this.owner) this.owner.invalidRect(this.bounds());\n\t},\n\n\tinvalidRect: function() {\n\t\t// Do nothing (handled by SVG). Overridden in canvas.\n },\n\n layoutOnSubmorphLayout: function(submorph) {\n\t\t// override to return false, in which case layoutChanged() will not be propagated to\n\t\t// the receiver when a submorph's layout changes. \n\t\treturn true;\n },\n\n\ttransformChanged: function() {\n\t\tvar scalePt = this.scalePoint;\n\t\tif (this.fisheyeScale != 1) scalePt = scalePt.scaleBy(this.fisheyeScale);\n\t\tthis.pvtCachedTransform = new lively.scene.Similitude(this.origin, this.rotation, scalePt);\n\t\tthis.pvtCachedTransform.applyTo(this.rawNode);\n\t},\n\n\tlayoutChanged: function Morph$layoutChanged() {\n\t\t// layoutChanged() is called whenever the cached fullBounds may have changed\n\t\t// It invalidates the cache, which will be recomputed when bounds() is called\n\t\t// Naturally it must be propagated up its owner chain.\n\t\t// Note the difference in meaning from adjustForNewBounds()\n\t\t// KP: the following may or may not be necessary:\n\n\t\tthis.transformChanged(); // DI: why is this here?\n\t\tif(! this.fullBounds) return; // already called\n\n\t\tthis.fullBounds = null;\n\t\tif (this.owner && this.owner.layoutOnSubmorphLayout(this) && !this.isEpimorph) { // May affect owner as well...\n\t\t\tthis.owner.layoutChanged();\n\t\t}\n\t\tthis.layoutManager.layoutChanged(this);\n\t},\n\n\tadjustForNewBounds: function() {\n\t\t// adjustForNewBounds() is called whenever the innerBounds may have changed in extent\n\t\t// -- it should really be called adjustForNewExtent --\n\t\t// Depending on the morph and its layoutManager, it may then re-layout its\n\t\t// submorphs and, in the process, propagate the message down to leaf morphs (or not)\n\t\t// Of course a change in innerBounds implies layoutChanged() as well,\n\t\t// but, for now, these are called separately.\n\t\t// NB: Because some morphs may re-lay themselves out in response to adjustForNewBounds()\n\t\t// adjustForNewBounds() *must never be called from* a layout operation;\n\t\t// The layout process should only move and resize submorphs, but never change the innerBounds\n\n\t\t// If this method is overridden by a subclass, it should call super as well\n\t\tif (this.focusHalo) this.adjustFocusHalo();\n\t},\n},\n// Submorph management functions\n'submorphs',{ \n\n addMorph: function(morph) { return this.addMorphFrontOrBack(morph, true) },\n\n\taddMorphAt: function(morph, position) {\n\t\tvar morph = this.addMorphFrontOrBack(morph, true);\n\t\tmorph.setPosition(position);\n\t\treturn morph;\n\t},\n\n addMorphFront: function(morph) { return this.addMorphFrontOrBack(morph, true) },\n\n addMorphBack: function(morph) { return this.addMorphFrontOrBack(morph, false) },\n\n\taddMorphFrontOrBack: function(m, isFront) {\n\t\tconsole.assert(m instanceof Morph, \"not an instance\");\n\t\tif (m.owner) {\n\t\t\tvar tfm = m.transformForNewOwner(this);\n\t\t\tm.owner.removeMorph(m); // KP: note not m.remove(), we don't want to stop stepping behavior\n\t\t\tm.setTransform(tfm); \n\t\t\t// FIXME transform is out of date\n\t\t\t// morph.setTransform(tfm); \n\t\t\t// m.layoutChanged(); \n\t\t} \n\t\tthis.layoutManager.beforeAddMorph(this, m, isFront);\n\t\tthis.insertMorph(m, isFront);\n\t\tthis.layoutManager.afterAddMorph(this, m, isFront);\n\t\tm.changed();\n\t\tm.layoutChanged();\n\t\tif (Config.ChromeSVGRenderingHotfix)\n\t\t\t(function() { m.transformChanged() }).delay(0);\n\t\tthis.layoutChanged();\n\t\treturn m;\n\t},\n\t\n\taddNonMorph: function(node) {\n\t\tif (node instanceof lively.data.Wrapper) throw new Error(\"add rawNode, not the wrapper itself\");\n\t\treturn this.rawNode.insertBefore(node, this.shape && this.shape.rawNode.nextSibling);\n\t},\n\n\taddWrapper: function(w) {\n\t\tif (w && w.rawNode) {\n\t\t\tthis.addNonMorph(w.rawNode);\n\t\t\treturn w;\n\t\t} else return null;\n\t},\n\n\taddPseudoMorph: function(pseudomorph) {\n\t\tif (pseudomorph instanceof Global.PseudoMorph) {\n\t\t\treturn this.addMorph(pseudomorph);\n\t\t} else \n\t\t\tthrow new Error(pseudomorph + \" is not a PseudoMorph\");\n\t},\n\n\tbringToFront: function() {\n\t\tif (!this.owner) return;\n\t\tif (this.owner.topSubmorph() === this) return;\n\t\tvar owner = this.owner;\n\t\tthis.remove();\n\t\towner.addMorphFront(this);\n\t},\n\n\tsetSubmorphs: function(morphs) {\n\t\tconsole.assert(morphs instanceof Array, \"not an array\");\n\t\tif (morphs != null) {\n\t\t\tthis.submorphs = [].concat(morphs);\n\t\t\tthis.submorphs.forEach(function (m) { \n\t\t\t\tif (m.owner) {\n\t\t\t\t\tvar tfm = m.transformForNewOwner(this);\n\t\t\t\t\tm.owner.removeMorph(m);\n\t\t\t\t\tm.setTransform(tfm); \n\t\t\t\t} \n\t\t\t\tthis.rawNode.appendChild(m.rawNode); \n\t\t\t\tm.owner = this;\n\t\t\t\tm.changed();\n\t\t\t\tm.layoutChanged();\n\t\t\t}, this);\n\t\t}\n\t\tthis.layoutChanged();\n\t},\n\n indexOfSubmorph: function(m) {\n\t\tif (this.submorphs.length == 0) return -1; // no submorphs at all\n\t\tfor (var i=0; i 0\n\t\tvar rot = this.getTransform().getRotation().toRadians(); \n\t\tif (this.scalePoint.x >= 0) return rot;\n\n\t\t// if scale.x is negative, then we have to decode the difference\n\t\tif (rot < 0) return rot + Math.PI;\n\t\treturn rot - Math.PI;\n\t},\n\n\tgetScale: function() {\n\t\treturn this.getTransform().getScale(); \n\t},\n\n\tmoveBy: function(delta) {\n\t\tthis.translateBy(delta);\n\t},\n\n\trotateBy: function(delta) {\n\t\tthis.setRotation(this.getRotation()+delta);\n\t},\n\n\tscaleBy: function(factor) {\n\t\t// Perform a linear scaling (based on x scale) by the given factor\n\t\tthis.setScale(this.getScale()*factor);\n\t},\n\n\tthrob: function() {\n\t\tthis.scaleBy(this.getScale() <= 1 ? 2 : 0.9);\n\t},\n\n\talign: function(p1, p2) {\n\t\treturn this.translateBy(p2.subPt(p1)); \n\t},\n\n centerAt: function(p) {\n\t\treturn this.align(this.bounds().center(), p); \n },\n\n\tgetCenter: function() { return this.bounds().center() },\n\n\tmoveOriginBy: function(delta) {\n\t\t// This method changes the origin (and thus center of rotation) without changing any other effect\n\t\t// To center a rectangular morph, use m.moveOriginBy(m.innerBounds().center())\n\t\tthis.origin = this.origin.addPt(delta);\n\t\tthis.shape.translateBy(delta.negated());\n\t\tthis.submorphs.forEach(function (ea) { ea.translateBy(delta.negated()); });\n\t},\n\n moveSubmorphs: function(evt) {\n var world = this.world();\n\t\n // Display height is returned incorrectly by many web browsers.\n // We use an absolute Y-value instead. \n var towardsPoint = pt(world.bounds().center().x, 350);\n\n switch (evt.getKeyCode()) {\n case Event.KEY_LEFT:\n this.submorphs.invoke('moveBy', pt(-10,0));\n evt.stop();\n return true;\n case Event.KEY_RIGHT:\n // forget the existing selection\n this.submorphs.invoke('moveBy', pt(10, 0));\n evt.stop();\n return true;\n case Event.KEY_UP:\n this.submorphs.invoke('moveBy', pt(0, -10));\n evt.stop();\n return true;\n case Event.KEY_DOWN:\n this.submorphs.invoke('moveBy', pt(0, 10));\n evt.stop();\n return true;\n\n // Experimental radial scrolling feature\n // Read the comments near method Morph.moveRadially()\n case Event.KEY_PAGEUP:\n case 65: // The \"A\" key\n\t world.submorphs.invoke('moveRadially', towardsPoint, 10);\n this.moveRadially(towardsPoint, 10); \n evt.stop();\n return true;\n case Event.KEY_PAGEDOWN:\n case 90: // The \"Z\" key\n\t world.submorphs.invoke('moveRadially', towardsPoint, -10);\n this.moveRadially(towardsPoint, -10); \n evt.stop();\n return true;\n }\n \n return false;\n },\n\n transformSubmorphs: function(evt) {\n\t\tvar fun = null;\n\t\tswitch (evt.getKeyChar()) {\n\t\t\tcase '>':\n\t\t\t\tfun = function(m) { m.setScale(m.getScale()*1.1) };\n\t\t\t\tbreak;\n\t\t\tcase '<':\n\t\t\t\tfun = function(m) { m.setScale(m.getScale()/1.1) };\n\t\t\t\tbreak;\n\t\t\tcase ']':\n\t\t\t\tfun = function(m) { m.setRotation(m.getRotation() + 2*Math.PI/16) };\n\t\t\t\tbreak;\n\t\t\tcase '[':\n\t\t\t\tfun = function(m) { m.setRotation(m.getRotation() - 2*Math.PI/16) };\n\t\t\t\tbreak;\n\t\t}\n\t\tif (fun) {\n\t\t\tthis.submorphs.forEach(fun);\n\t\t\tevt.stop();\n\t\t\treturn true;\n\t\t} else return false;\n\t},\n\n\tmoveForwardBy: function(amount) {\n\t\tvar nose = pt(1,0)\n\t\tvar dir = nose.matrixTransformDirection(this.getTransform()).normalized();\n\t\tthis.moveBy(dir.scaleBy(amount))\n\t},\n\n\t// TODO: There is a bug in Safari (the matrix multiplication is the wrong way around)\n\t// that is not taken into account here....\n\trotateAround: function(angle, center) {\n\t\tvar tfm = new lively.scene.Similitude().toMatrix();\n\t\ttfm = tfm.translate(center.x, center.y);\n\t\ttfm = tfm.rotate(angle)\t\t\n\t\ttfm = tfm.translate( -center.x, -center.y);\t\n\t\tvar oldTfm = this.getTransform().toMatrix();\n\t\tvar newTfm = oldTfm.multiply(tfm);\n\t\tthis.setTransform(new lively.scene.Similitude(newTfm));\n\t},\n\n\tturnBy: function(angle) {\n\t\tthis.rotateAround(angle, this.shape.bounds().center())\t\t\n\t},\n\n\t// Experimental radial \"black hole\" scrolling feature: When\n // an object comes close enough to the \"event horizon\" (specified\n // by 'towardsPoint'), the object is zoomed into the black hole.\n // Negative 'howMuch' values are used to \"collapse\" the display, \n // while positive values expand and restore the display back to its \n // original state. For further information, see \n // Sun Labs Technical Report SMLI TR-99-74, March 1999.\n\tmoveRadially: function(towardsPoint, howMuch) {\n\t\tvar position = this.getPosition();\n\t\tvar relativePt = position.subPt(towardsPoint);\n\t\tvar distance = towardsPoint.dist(position);\n\t\tif (!this.inBlackHole) this.inBlackHole = 0;\n\n\t\t// The object disappears entirely when it is less than 5 pixels away\n\t\t// The 'inBlackHole' counter keeps track of how many levels deep\n\t\t// the object is in the black hole, allowing the display to be\n\t\t// restored correctly.\n\t\tif (distance <= 5) {\n\t\t\tif (howMuch < 0) {\n\t\t\t\tthis.inBlackHole++;\n\t\t\t\tthis.setScale(0);\n\t\t\t} else {\n\t\t\t\tthis.inBlackHole--; \n\t\t\t}\n\t\t} \n\n\t\tif (this.inBlackHole == 0) {\n\t\t\t// Start shrinking the object when it is closer than 200 pixels away\n\t\t\tif (distance > 5 && distance < 200) this.setScale(distance/200);\n\t\t\telse if (distance >= 200 && this.getScale() != 1) this.setScale(1);\n\n\t\t\t// Calculate new location for the object\n\t\t\tvar theta = Math.atan2(relativePt.y, relativePt.x);\n\t\t\tvar newDistance = distance + howMuch;\n\t\t\tif (newDistance < 0) newDistance = 1; \n\t\t\tvar newX = newDistance * Math.cos(theta);\n\t\t\tvar newY = newDistance * Math.sin(theta);\n\t\t\tthis.setPosition(towardsPoint.addPt(pt(newX,newY)));\n\t\t}\n\t},\n},\n'animations', {\n\t// Animated moves for, eg, window collapse/expand\n\tanimatedInterpolateTo: function(destination, nSteps, msPer, callBackFn, finalScale) {\n\t\tif (nSteps <= 0) return;\n\t\tvar loc = this.position();\n\t\tvar delta = destination.subPt(loc).scaleBy(1 / nSteps);\n\t\tvar scaleDelta = finalScale ? (this.getScale() - finalScale) / nSteps : 0;\n\t\t// console.log(\"scaleDelta = \" + scaleDelta);\n\t\tvar path = [];\n\t\tfor (var i = 1; i<=nSteps; i++) { loc = loc.addPt(delta); path.unshift(loc); }\n\t\tthis.animatedFollowPath(path, msPer, callBackFn, scaleDelta);\n },\n\n animatedFollowPath: function(path, msPer, callBackFn, scaleDelta) {\n\t\tvar spec = {path: path.clone(), callBack: callBackFn, scaleDelta: scaleDelta};\n\t\tspec.action = this.startStepping(msPer, 'animatedPathStep', spec);\t\n },\n\n\tanimatedPathStep: function(spec, scaleDelta) {\n\t\tif (spec.path.length >= 1){\n\t\t\tthis.setScale(this.getScale()-spec.scaleDelta);\n\t\t\tthis.setPosition(spec.path.pop());\n\t\t}\n\t\tif (spec.path.length >= 1) return\n\t\t//spec.action.stop(this.world()); //JD: out\n\t\tthis.stopSteppingScriptNamedAndRemoveFromSubmorphs('animatedPathStep');//JD: delte script out of activeScripts, neede for deserialization\n\t\tspec.callBack.call(this);\n\t},\n\n},\n'particle behavior',{ \n\n\tbounceInOwnerBounds: function() {\n\t\tthis.bounceInBounds(this.owner.innerBounds());\n\t},\n\t\n\tbounceInBounds: function(ob) {\n\t\t// typcially ob = this.owner.innerBounds()\n\t\t// Bounce by reversing the component of velocity that put us out of bounds\n\t\tif (!this.velocity) return; // Can't bounce without a velocity vector\n\n\t\t// We take care to only reverse the direction if it's wrong,\n\t\t//\tbut we move in any case, since we might be deeply out of bounds\n\t\tvar b = this.bounds();\n\t\tif (b.x < ob.x) {\n\t\t\tif (this.velocity.x < 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxX() > ob.maxX()) {\n\t\t\tif (this.velocity.x > 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.y < ob.y) {\n\t\t\tif (this.velocity.y < 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxY() > ob.maxY()) {\n\t\t\tif (this.velocity.y > 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t},\n\t\n\tstepByVelocities: function() {\n\t\tif (this.velocity) this.moveBy(this.velocity);\n\t\tif (this.angularVelocity) this.rotateBy(this.angularVelocity);\n\t},\n\t\n\tstepAndBounce: function() { // convenience for tile scripting\n\t\tthis.stepByVelocities();\n\t\tthis.bounceInOwnerBounds();\n\t},\n\t\n},\n'balloon help', {\n\n\tgetHelpText: Functions.Null, // override to supply help text\n\n\tshowHelp: function(evt) {\n\n\t\tif (this.suppressBalloonHelp) return false;\n\t\tif (this.owner instanceof HandMorph) return false;\n\t\tvar helpText = this.getHelpText();\n\t\tif (!helpText) return false;\n\n\t\t// Create only one help balloon at a time\n\t\tif (this.helpBalloonMorph && !this.helpBalloonMorph.getPosition().eqPt(evt.point())) {\n\t\t\tthis.helpBalloonMorph.setPosition(this.window().localize(evt.point()));\n\t\t\treturn false;\n\t\t} else {\n\t\t\tvar width = Math.min(helpText.length * 20, 260); // some estimate of width.\n\t\t\tvar window = this.window();\n\t\t\tvar pos = window.localize(evt.point());\n\t\t\tthis.helpBalloonMorph = new TextMorph(pos.addXY(10, 10).extent(pt(width, 20)), helpText);\n\t\t\twindow.addMorph(this.helpBalloonMorph.beHelpBalloonFor(this));\n\t\t\treturn true;\n\t\t}\n\t},\n\n\thideHelp: function() {\n\t\tif (!this.helpBalloonMorph) \n\t\t\treturn;\n\t\tthis.helpBalloonMorph.remove();\n\t\tdelete this.helpBalloonMorph;\n\t},\n\n},\n'mouse events', {\n\n\t// KP: equivalent of the DOM capture phase\n\t// KP: hasFocus is true if the receiver is the hands's focus (?)\n\tcaptureMouseEvent: function Morph$captureMouseEvent(evt, hasFocus) {\n\t\t// Dispatch this event to the frontmost receptive morph that contains it\n\t\t// Note boolean return for event consumption has not been QA'd\n\t\t// if we're using the fisheye... \n\t\tif (this.fishEye) {\n\t\t\t// get the distance to the middle of the morph and check if we're \n\t\t\t// close enough to start the fisheye\n\t\t\tvar size = Math.max(this.bounds().width, this.bounds().height);\n\n\t\t\tvar dist = evt.mousePoint.dist(this.bounds().center()) / this.fisheyeProximity;\n\t\t\tif (dist <= size) {\n\t\t\t\t// the fisheye factor is between 1..fisheyeGrowth\n\t\t\t\tthis.setFisheyeScale(1 + this.fisheyeGrowth * Math.abs(dist/size - 1));\n\t\t\t} else {\n\t\t\t\t// just a precaution to make sure fisheye scaling isn't \n\t\t\t\t// affecting its surrounding any more\n\t\t\t\tthis.setFisheyeScale(1.0);\n\t\t\t}\n\t\t}\n\t\tif (hasFocus) return this.mouseHandler.handleMouseEvent(evt, this);\n\n\t\tif (!evt.priorPoint || !this.fullContainsWorldPoint(evt.priorPoint)) return false;\n\n\t\tif (this.hasSubmorphs()) {\n\t\t\t// If any submorph handles it (ie returns true), then return\n\t\t\tfor (var i = this.submorphs.length - 1; i >= 0; i--) {\n\t\t\t\tif (this.submorphs[i].captureMouseEvent(evt, false)) return true;\n\t\t\t}\n\t\t}\n\t\tif (this.mouseHandler == null)\n\t\t\treturn false;\n\n\t\tif (!evt.priorPoint || !this.shape.containsPoint(this.localize(evt.priorPoint))) \n\t\t\treturn false;\n\n\n\t\treturn this.mouseHandler.handleMouseEvent(evt, this); \n\t},\n\n\n\tareEventsIgnored: function() {\n\t\treturn this.getTrait(\"pointer-events\") == \"none\";\n\t},\n\n\tignoreEvents: function() { // will not respond nor get focus\n\t\tthis.mouseHandler = null;\n\t\tthis.setTrait(\"pointer-events\", \"none\");\n\t\treturn this;\n\t},\n\n\tenableEvents: function() {\n\t\tthis.mouseHandler = MouseHandlerForDragging.prototype;\n\t\tthis.removeTrait(\"pointer-events\");\n\n\t\treturn this;\n\t},\n\n\trelayMouseEvents: function(target, eventSpec) {\n\t\tthis.mouseHandler = new MouseHandlerForRelay(target, eventSpec); \n\t},\n\n\thandlesMouseDown: function(evt) {\n\t\tif (this.mouseHandler == null || evt.isCommandKey()) return false;\t//default behavior\n\t\treturn this.mouseHandler.handlesMouseDown(); \n\t},\n\n\tonMouseDown: function(evt) { \n\t\tthis.hideHelp();\n\t}, //default behavior\n\n\tonMouseMove: function(evt, hasFocus) { //default behavior\n\t\tif (evt.mouseButtonPressed && this==evt.hand.mouseFocus && this.owner && this.owner.openForDragAndDrop) { \n\t\t\tthis.moveBy(evt.mousePoint.subPt(evt.priorPoint));\n\t\t} // else this.checkForControlPointNear(evt);\n\t\tif (!evt.mouseButtonPressed && !this.hasHandles()) this.checkForControlPointNear(evt);\n\t},\n\n\tonMouseUp: function(evt) { }, //default behavior\n\n\tconsiderShowHelp: function(oldEvt) {\n\t\t// if the mouse has not moved reasonably\n\t\tvar hand = oldEvt.hand;\n\t\tif (!hand) return; // this is not an active world so it doesn't have a hand\n\t\telse if (hand.getPosition().dist(oldEvt.mousePoint) < 10)\n\t\tthis.showHelp(oldEvt);\n\t},\n\n\tdelayShowHelp: function(evt) {\n\t\tvar scheduledHelp = new SchedulableAction(this, \"considerShowHelp\", evt, 0);\n\t\tif (this.world())\n\t\t\tthis.world().scheduleForLater(scheduledHelp, Config.ballonHelpDelay || 1000, false);\n\t},\n\n\tonMouseOver: function(evt) {\n\t\tthis.delayShowHelp(evt);\n\t}, \n\n\tonMouseOut: function(evt) { \n\t\tthis.hideHelp();\n\t}, \n\n\tonMouseWheel: function(evt) {\n\t\tif (!this.world()) return false;\n\t\treturn this.world().onMouseWheel(evt);\n\t},\n\n\ttakesKeyboardFocus: Functions.False,\n\n\tsetHasKeyboardFocus: Functions.False, // no matter what, say no\n\n\trequestKeyboardFocus: function(hand) {\n\t\tif (this.takesKeyboardFocus()) {\n\t\t\tif (this.setHasKeyboardFocus(true)) {\n\t\t\t\thand.setKeyboardFocus(this);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\n\trelinquishKeyboardFocus: function(hand) {\n\t\thand.setKeyboardFocus(null);\n\t\treturn this.setHasKeyboardFocus(false); \n\t},\n\n\tonFocus: function(hand) {\n\t\tthis.addFocusHalo();\n\t},\n\n\tonBlur: function(hand) {\n\t\tthis.removeFocusHalo();\n\t},\n\n\tremoveFocusHalo: function() {\n\t\tif (!this.focusHalo) return false;\n\t\t//this.focusHalo.removeRawNode();\n\t\tthis.focusHalo.remove();\n\t\tthis.focusHalo = null;\n\t\treturn true;\n\t},\n\n\tfocusHaloInset: 1,\n\n\tfocusStyle: {\n\t\tfill: null, \n\t\tborderColor: Color.blue,\n\t\tstrokeOpacity: 0.3\n\t},\n\n\tadjustFocusHalo: function() {\n\t\tthis.focusHalo.setBounds(this.localBorderBounds().expandBy(this.focusHaloInset));\n\t},\n\n\taddFocusHalo: function() {\n\t\tif (this.focusHalo || this.focusHaloBorderWidth <= 0) return false;\n\t\tthis.focusHalo = Morph.makeRectangle(this.localBorderBounds().expandBy(this.focusHaloInset));\n\t\tthis.focusHalo.name = \"FocusHalo\";\n\t\tthis.focusHalo.isEpimorph = true; // Do this before adding the halo\n\t\tthis.addMorph(this.focusHalo);\n\t\t// old\n\t\tthis.focusHalo.applyStyle(this.focusStyle);\n\t\t// new\n\t\tthis.focusHalo.linkToStyles([\"focusHalo\"]);\n\t\tthis.focusHalo.setBorderWidth(this.focusHaloBorderWidth);\n\t\tthis.focusHalo.setLineJoin(lively.scene.LineJoins.Round);\n\t\tthis.focusHalo.ignoreEvents();\n\t\treturn true;\n\t},\n\n},\n'handles', {\n\tcheckForControlPointNear: function(evt) {\n\t\tif (this.suppressHandles) return false; // disabled\n\t\tif (this.owner == null) return false; // cant reshape the world\n\t\tif (this.hasHandles()) return false; // handles already on - no rollovers\n\t\tvar partName = this.shape.partNameNear(this.localize(evt.point()));\n\t\tif (partName == null) return false;\n\n\t\tvar loc = this.shape.partPosition(partName);\n\t\tvar handle = this.makeHandle(loc, partName, evt);\n\t\tif (!handle) return false; // makeHandle variants may return null\n\n\t\tthis.addMorph(handle); \n\t\thandle.showHelp(evt);\n\t\tif (evt.hand.mouseFocus instanceof HandleMorph) evt.hand.mouseFocus.remove();\n\t\tevt.hand.setMouseFocus(handle);\n\t\treturn true; \n\t},\n\t\n\taddAllHandles: function(evt) {\n\t\tif (this.suppressHandles) return false; // disabled\n\t\tif (this.owner == null) return false; // can't reshape the world\n\t\tvar partNames = this.shape.allPartNames(); // Array of name\n\t\tfor (var i=0; i= 0 ? lively.scene.Rectangle : lively.scene.Ellipse;\n\t\treturn new HandleMorph(position, handleShape, evt.hand, this, partName);\n\t},\n},\n'grabbing and dragging', {\n copySubmorphsOnGrab: false, // acts as a palette if true. \n\tsuppressGrabbing: false,\n\n // May be overridden to preempt (by returning null) the default action of grabbing me\n // or to otherwise prepare for being grabbed or find a parent to grab instead\n okToBeGrabbedBy: function(evt) {\n\t\tif (this.suppressGrabbing)\n\t\t\treturn null;\n\t\treturn this; \n },\n\n\tgrid: function() {return Config.SnapGrid || pt(10,10)},\n\n\tisSnappingToGrid: function() { return Config.isSnappingToGrid},\n\n\tsnapToGrid: function(pos) {\n\t\tvar grid = this.grid();\n\t\treturn pt(pos.x - (pos.x % grid.x), pos.y - (pos.y % grid.y))\n\t},\n\n\tdragMe: function(evt) {\n\t\tvar offset = this.getPosition().subPt(this.owner.localize(evt.point()));\n\t\tvar self = this;\n\t\tvar mouseRelay= {\n\t\t\tcaptureMouseEvent: function(e) { \n\t\t\t\tif (e.type == \"MouseMove\") {\n\t\t\t\t\tvar pos = this.owner.localize(e.hand.getPosition()).addPt(offset)\n\t\t\t\t\tif (self.isSnappingToGrid()) {\n\t\t\t\t\t\tthis.setPosition(this.snapToGrid(pos));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setPosition(pos);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t\tif (e.type == \"MouseDown\" || e.type == \"MouseUp\") e.hand.setMouseFocus(null); \n\t\t\t}.bind(this),\n\t\t};\n\t\tevt.hand.setMouseFocus(mouseRelay);\n\t},\n\n showAsGrabbed: function(grabbedMorph) {\n\t\t// At this time, there are three separate hand-effects:\n\t\t// 1. applyDropShadowFilter, if it works, will cause the graphics engine to put a nice\n\t\t//\t gaussian blurred drop-shadow on morphs that are grabbed by the hand\n\t\t// 2. showGrabHalo will cause a halo object to be put at the end of the hand's\n\t\t//\t submorph list for every grabbed morph (has property 'morphTrackedByHalo')\n\t\t// 3. useShadowMorphs will cause a shadowCopy of each grabbed morph to be put\n\t\t//\t at the end of the hand's submorph list (has property 'isHandMorphShadow')\n\t\t// So, if everything is working right, the hand's submorph list looks like:\n\t\t//\tfront -> Mc, Mb, Ma, Ha, Sa, Hb, Sb, Hc, Sc <- back [note front is last ;-]\n\t\t// Where M's are grabbed morphs, H's are halos if any, and S's are shadows if any\n\n if (this.applyDropShadowFilter) grabbedMorph.applyFilter(this.dropShadowFilter); \n\n\t\tif (Config.showGrabHalo) {\n\t\t var bounds = grabbedMorph.bounds(true);\n\t\t var halo = this.addMorphBack(Morph.makeRectangle(bounds).applyStyle({fill: null, borderWidth: 0.5 }));\n\t\t halo.morphTrackedByHalo = grabbedMorph;\n\t\t halo.shape.setStrokeDashArray(String([3,2]));\n\t\t halo.setLineJoin(lively.scene.LineJoins.Round);\n\t\t halo.ignoreEvents();\n\n\t\t var idLabel = new TextMorph(pt(20,10).extentAsRectangle(), String(grabbedMorph.id())).beLabel();\n\t\t idLabel.applyStyle(this.grabHaloLabelStyle);\n\t\t halo.addMorph(idLabel);\n\t\t idLabel.align(idLabel.bounds().bottomLeft(), halo.innerBounds().topRight());\n\t \n\t\t var pos = grabbedMorph.getPosition();\n\t\t var posLabel = new TextMorph(pt(20, 10).extentAsRectangle(), \"\").beLabel();\n\t\t posLabel.applyStyle(this.grabHaloLabelStyle);\n\t\t halo.positionLabel = halo.addMorph(posLabel);\n\n\t\t\tthis.updateGrabHalo();\n\t\t}\n if (this.useShadowMorphs) {\n\t\t\tvar shadow = grabbedMorph.shadowCopy();\n\t\t\tshadow.isHandMorphShadow = true;\n\t\t\tthis.addMorphBack(shadow);\n\t\t\tshadow.moveBy(pt(8, 8));\n\t\t}\n },\n\n showAsUngrabbed: function(grabbedMorph) {\n\t\tif (this.applyDropShadowFilter) grabbedMorph.applyFilter(null);\n },\n \n alignToGrid: function() {\n if(!Config.showGrabHalo) return;\n var grid = function(a) {\n return a - (a % (Config.alignToGridSpace || 5))\n\t\t};\n\t\tthis.submorphs.forEach(function(halo) {\n\t\t if (halo.morphTrackedByHalo) { // this is a tracking halo\n\t \tif (!halo.orgSubmorphPosition)\n\t\t\t halo.orgSubmorphPosition = halo.morphTrackedByHalo.getPosition();\n\t\t\tvar oldPos = this.worldPoint(halo.orgSubmorphPosition);\n\t\t\tvar gridPos = pt(grid(oldPos.x), grid(oldPos.y));\n\t\t\thalo.morphTrackedByHalo.setPosition(this.localize(gridPos));\n\t\t }\n\t\t}.bind(this));\n },\n\n updateGrabHalo: function Morph$updateGrabHalo() {\n\t\t// Note there may be several grabHalos, and drop shadows as well\n\t\t// See the comment in showAsGrabbed \n\t\tthis.submorphs.forEach(function(halo) {\n\t\t if (halo.morphTrackedByHalo) { // this is a tracking halo\n\t\t\t\thalo.setBounds(halo.morphTrackedByHalo.bounds(true).expandBy(3));\n\t\t\t\tif (halo.positionLabel) {\n\t\t\t\t var pos = this.worldPoint(halo.morphTrackedByHalo.getPosition());\n\t\t\t\t var posLabel = halo.positionLabel;\n\t\t\t\t posLabel.setTextString(pos.x.toFixed(1) + \",\" + pos.y.toFixed(1));\n\t\t\t\t posLabel.align(posLabel.bounds().bottomCenter(), halo.innerBounds().topLeft());\n\t\t\t\t}\n\t\t }\n\t\t}.bind(this));\n },\n\n\tgrabMorph: function(grabbedMorph, evt) { \n\t\tif (evt.isShiftDown() && (evt.isAltDown() || evt.isMetaDown())) {\n\t\t\tgrabbedMorph.dragMe(evt);\n\t\t\treturn;\n\t\t}\n\t\tif (evt.isShiftDown() || (grabbedMorph.owner && grabbedMorph.owner.copySubmorphsOnGrab == true)) {\n\t\t\tif (!grabbedMorph.okToDuplicate()) return;\n\t\t\tgrabbedMorph.copyToHand(this);\n\t\t\treturn;\n\t\t}\n\t\tif (evt.isCommandKey() || evt.isRightMouseButtonDown() || evt.isMiddleMouseButtonDown()) {\n\t\t\tgrabbedMorph.showMorphMenu(evt);\n\t\t\treturn;\n\t\t}\n\t\t// Give grabbed morph a chance to, eg, spawn a copy or other referent\n\t\tgrabbedMorph = grabbedMorph.okToBeGrabbedBy(evt);\n\t\tif (!grabbedMorph) return;\n\n\t\tif (grabbedMorph.owner && !grabbedMorph.owner.openForDragAndDrop) return;\n\n\t\tif (this.keyboardFocus && grabbedMorph !== this.keyboardFocus) {\n\t\t\tthis.keyboardFocus.relinquishKeyboardFocus(this);\n\t\t}\n\t\t// console.log('grabbing %s', grabbedMorph);\n\t\t// Save info for cancelling grab or drop [also need indexInOwner?]\n\t\t// But for now we simply drop on world, so this isn't needed\n\t\tthis.grabInfo = [grabbedMorph.owner, grabbedMorph.position()];\n\t\tif (this.logDnD) console.log('%s grabbing %s', this, grabbedMorph);\n\t\tthis.addMorphAsGrabbed(grabbedMorph);\n\t\t// grabbedMorph.updateOwner(); \n\t\tthis.changed(); //for drop shadow\n\t},\n \n addMorphAsGrabbed: function(grabbedMorph) { \n this.addMorph(grabbedMorph);\n\t\tthis.showAsGrabbed(grabbedMorph);\n },\n \n dropMorphsOn: function(receiver) {\n\t\tif (receiver !== this.world()) \n\t\t\tthis.unbundleCarriedSelection();\n\t\tif (this.logDnD) \n\t\t\tconsole.log(\"%s dropping %s on %s\", this, this.topSubmorph(), receiver);\n\t\tthis.carriedMorphsDo( function(m) {\n\t\t\tm.dropMeOnMorph(receiver);\n\t\t\tthis.showAsUngrabbed(m);\n\t\t});\n\t\tthis.shadowMorphsDo( function(m) { m.stopAllStepping(); });\n\t\tthis.removeAllMorphs() // remove any shadows or halos\n },\n\n carriedMorphsDo: function(func) {\n\t\t// Evaluate func for only those morphs that are being carried,\n\t\t// as opposed to, eg, halos or shadows\n\t\tthis.submorphs.clone().reverse().forEach(function(m) {\n\t\t if (!m.morphTrackedByHalo && !m.isHandMorphShadow) func.call(this, m);\n\t\t}.bind(this));\n },\n\n shadowMorphsDo: function(func) { \n\t\t// Evaluate func for only those morphs that are shadows,\n\t\tthis.submorphs.clone().reverse().forEach(function(m) {\n\t\t if (m.isHandMorphShadow) func.call(this, m);\n\t\t}.bind(this));\n },\n\n unbundleCarriedSelection: function() {\n // Unpack the selected morphs from a selection prior to drop or jump to other world\n if (!this.hasSubmorphs() || !(this.topSubmorph() instanceof SelectionMorph)) return;\n var selection = this.topSubmorph();\n for (var i=0; i>toggleDnD\");\n\t\tthis.openForDragAndDrop = !this.openForDragAndDrop;\n\t},\n\n\topenDnD: function(loc) {\n\t\tthis.openForDragAndDrop = true;\n\t},\n\n\tcloseDnD: function(loc) {\n\t\t// console.log(this + \">>closeDnD\");\n\t\tthis.openForDragAndDrop = false;\n\t},\n\n closeAllToDnD: function(loc) {\n // console.log(this + \">>closeAllDnD\");\n // Close this and all submorphs to drag and drop\n this.closeDnD(); \n // make this recursive to give children a chance to interrupt...\n this.submorphs.forEach( function(ea) { ea.closeAllToDnD(); });\n },\n\n\topenAllToDnD: function() {\n\t\t// Open this and all submorphs to drag and drop\n\t\tthis.withAllSubmorphsDo( function() { this.openDnD(); });\n\t},\n\n\tdropMeOnMorph: function(receiver) {\n\t\treceiver.addMorph(this); // this removes me from hand\n\t},\n\n\tpickMeUp: function(evt) {\n\t\tvar offset = evt.hand.getPosition().subPt(evt.point());\n\t\tthis.moveBy(offset);\n\t\tevt.hand.addMorphAsGrabbed(this);\n\t},\n},\n'morph menu', {\n\n\teditMenuItems: function(evt) { \n\t\treturn []; // Overridden by, eg, TextMorph\n\t},\n\n\tshowMorphMenu: function(evt) {\n\t\tif (evt.hand.lastMorphMenu && evt.hand.lastMorphMenu.owner)\n\t\t\tevt.hand.lastMorphMenu.remove(); // cleanup old open menus\n\t\tvar world = this.world(),\n\t\t\tmenu = this.morphMenu(evt),\n\t\t\tmenuCaption = this.toString(),\n\t\t\tcaptionClickAction = world.prompt.bind(world).curry('edit name', this.setName.bind(this), this.getName());\n\t\tmenu.openIn(world, evt.point(), false, menuCaption, captionClickAction); \n\t\tevt.hand.lastMorphMenu = menu;\n\t},\n\n\tmorphMenuBasicItems: function(evt) {\n\t\tvar items = [\n\t\t\t[\"remove\", this.remove],\n\t\t\t[\"drill\", this.showOwnerChain.curry(evt)],\n\t\t\t[\"grab\", this.pickMeUp.curry(evt)],\n\t\t\t[\"drag\", this.dragMe.curry(evt)],\n\t\t\t[\"edit style\", function() { new StylePanel(this).open()}],\n\t\t\t[((this.hasHandles()) ? \"hide\" : \"show\") + \" all handles\", function(evt) {\n\t\t\t\tif (this.hasHandles()) this.removeAllHandlesExcept(null);\n\t\t\t\t\telse this.addAllHandles(evt) }.bind(this) ],\t\t\n\t\t\t[\"inspect\", function(evt) { lively.Tools.inspect(this) }],\n\t\t\t[\"show class in browser\", function(evt) { var browser = new SimpleBrowser(this);\n\t\t\t\tbrowser.openIn(this.world(), evt.point());\n\t\t\t\tbrowser.getModel().setClassName(this.getType());}]\n\t\t\t];\n\t\tif (this.okToDuplicate())\n\t\t\titems.unshift([\"duplicate\", this.copyToHand.curry(evt.hand)]);\n\n\t\tif (this.shape instanceof lively.scene.Polyline || this.shape instanceof lively.scene.Polygon)\n\t\t\titems.push( [\"copy to curve\", this.makeCurve]);\n\n\t\tif (this.getModel() instanceof SyntheticModel)\n\t\t\titems.push( [\"show Model dump\", this.addModelInspector.curry(this)]);\n\t\treturn items\n\t},\n\n\tmorphMenu: function(evt) { \n\t\tvar menu = new MenuMorph(this.morphMenuBasicItems(evt), this);\n\t\tmenu.addLine();\n\t\tmenu.addItem( [\"world...\", function() {this.world().showMorphMenu(evt)}.bind(this)]);\n\t\tmenu.addLine();\n\t\tmenu.addItems(this.subMenuItems(evt));\n\t\treturn menu;\n\t},\n\tsubMenuLayoutItems: function() {\n\t\tvar morph = this;\n\t\tfunction setLayouter(klass) {\n\t\t\tmorph.layoutManager = new klass();\n\t\t\tmorph.relayout();\n\t\t};\n\t\treturn [\n\t\t\t[\"default layout\", function() { setLayouter(LayoutManager) }],\n\t\t\t[\"horizontal layout\", function() { setLayouter(HorizontalLayout) }],\n\t\t\t[\"vertical layout\", function() { setLayouter(VerticalLayout) }],\n\t\t];\t\n\t},\n\n\n\tsubMenuPropertiesItems: function(evt) {\n\t\treturn [\n\t\t\t[\"edit name...\", function() { this.world().prompt('edit name', function(input) { this.setName(input) }.bind(this), this.getName()) }],\n\t\t\t[\"reset rotation\", this.setRotation.curry(0)],\n\t\t\t[\"reset scaling\", this.setScale.curry(1)],\n\t\t\t[((this.suppressGrabbing) ? \"[] grabbing\" : \"[X] grabbing\"), function(){this.suppressGrabbing = !this.suppressGrabbing}.bind(this)],\n\t\t\t[((this.suppressHandles) ? \"[] handles\" : \"[X] handles\"), function(){this.suppressHandles = !this.suppressHandles}.bind(this)],\n\t\t\t[((this.openForDragAndDrop) ? \"[X] accepts Drops\" : \"[] accepts Drops\"), function(){this.openForDragAndDrop = !this.openForDragAndDrop}.bind(this)],\n\t\t\t[((this.fishEye) ? \"turn fisheye off\" : \"turn fisheye on\"), this.toggleFisheye],\n\t\t\t[(this.openForDragAndDrop ? \"close DnD\" : \"open DnD\"), this.toggleDnD.curry(evt.point())],\n\t\t\t[\"add button behavior\", function() { this.addMorph(new ButtonBehaviorMorph(this)); }],\n\t\t\t[(this.copySubmorphsOnGrab ? \"unpalettize\" : \"palettize\"), function() { this.copySubmorphsOnGrab = !this.copySubmorphsOnGrab; }],\n\t\t\t[\"color chooser (gray)\", function() { \n\t\t\t\tvar colorChooser = new ColorChooserWidget(this);\n\t\t\t\tvar window = colorChooser.buildView()\n\t\t\t\tthis.world().addFramedMorph(pane, \"gray\", this.world().positionForNewMorph(pane))}]\n\t\t]\n\t},\n\t\n\tsubMenuWindowItems: function(evt) {\n\t\treturn [\n\t\t\t[\"put me in a window\", this.putMeInAWindow.curry(this.position())], \n\t\t\t[\"put me in a tab\", this.putMeInATab.curry(this.position())],\n\t\t\t[\"put me in the open\", this.putMeInTheWorld.curry(this.position())],\n\t\t\t[\"show Lively markup\", this.addSvgInspector.curry(this)],\n\t\t\t[\"package\", function(evt) { // FIXME insert package morph in exactly the same position?\n\t\t\t\tnew PackageMorph(this).openIn(this.world(), evt.point()); this.remove(); } ],\n\t\t\t[\"publish packaged ...\", function() { this.world().prompt('publish as (.xhtml)', this.exportLinkedFile.bind(this)); }] \n\t\t]\n\t},\n\n\tsubMenuStyleItems: function(evt) {\n\t\treturn new StyleEditor().styleEditorMenuItems(this, evt);\n\t},\n\n\tsubMenuItems: function(evt) {\n\t\treturn [\n\t\t\t['Style', this.subMenuStyleItems(evt)],\n\t\t\t['Layout', this.subMenuLayoutItems(evt)],\n\t\t\t['Properties', this.subMenuPropertiesItems(evt)],\n\t\t\t['Window and World', this.subMenuWindowItems(evt)]\n\t\t]\n\t},\n\n showPieMenu: function(evt) {\n \tvar menu, targetMorph = this;\n\t\tvar items = [\n\t\t\t['undo (~)', function(evt) { PieMenuMorph.doUndo(); }],\n\t\t\t['duplicate (o-->o)', function(evt) {\n\t\t\t\tevt.hand.setPosition(menu.mouseDownPoint);\n\t\t\t\tmenu.targetMorph.copyToHand(evt.hand);\n\t\t\t\tvar theCopy = evt.hand.submorphs[0];\n\t\t\t\tPieMenuMorph.setUndo(function() { theCopy.remove(); }); // Why doesn't this work??\n\t\t\t\t}],\n\t\t\t['move (o-->)', function(evt) {\n\t\t\t\tvar oldPos = targetMorph.getPosition();\n\t\t\t\tPieMenuMorph.setUndo(function() { targetMorph.setPosition(oldPos); });\n\t\t\t\tevt.hand.setPosition(menu.mouseDownPoint);\n\t\t\t\tevt.hand.addMorph(menu.targetMorph);\n\t\t\t\tif (menu.targetMorph instanceof SelectionMorph) // Fixme: This should be in SelectionMorph\n\t\t\t\t\tmenu.targetMorph.selectedMorphs.forEach( function(m) { evt.hand.addMorph(m); });\n\t\t\t\t}],\n\t\t\t['scale (o < O)', function(evt) {\n\t\t\t\tvar oldScale = targetMorph.getScale();\n\t\t\t\tPieMenuMorph.setUndo(function() { targetMorph.setScale(oldScale); });\n\t\t\t\tmenu.addHandleTo(targetMorph, evt, 'scale');\n\t\t\t\t}],\n\t\t\t[((targetMorph.hasHandles()) ? \"hide\" : \"show\") + \" all handles ([])\", function(evt) {\n\t\t\t\tif (targetMorph.hasHandles()) targetMorph.removeAllHandlesExcept(null);\n\t\t\t\t\telse targetMorph.addAllHandles(evt) }],\n\t\t\t['delete (X)', function(evt) {\n\t\t\t\tvar oldOwner = targetMorph.owner;\n\t\t\t\tPieMenuMorph.setUndo(function() { oldOwner.addMorph(targetMorph); });\n\t\t\t\ttargetMorph.remove();\n\t\t\t\t}],\n\t\t\t['edit style (<>)', function() { new StylePanel(this).open()}],\n\t\t\t['rotate (G)', function(evt) {\n\t\t\t\tvar oldRotation = targetMorph.getRotation();\n\t\t\t\tPieMenuMorph.setUndo(function() { targetMorph.setRotation(oldRotation); });\n\t\t\t\tmenu.addHandleTo(targetMorph, evt, 'rotate');\n\t\t\t\t}]\n\t\t];\n\t\tmenu = new PieMenuMorph(items, this, 0.5);\n\t\tmenu.open(evt);\n },\n\n},\n'window related', {\n\n\tputMeInAWindow: function(loc) {\n\t\tvar c = this.immediateContainer();\n\t\tvar w = this.world();\n\t\tvar wm = new WindowMorph(this.windowContent(), this.windowTitle());\n\t\t// Position it so the content stays in place\n\t\tw.addMorphAt(wm, loc.subPt(wm.contentOffset));\n\t\tif (c) c.remove();\n\t},\n\n\tputMeInATab: function(loc) {\n\t\tvar c = this.immediateContainer();\n\t\tvar w = this.world();\n\t\tvar wm = new TabbedPanelMorph(this.windowContent(), this.windowTitle());\n\t\tw.addMorphAt(wm, wm.getPosition());\n\t\tif (c) c.remove();\n\t},\n\n\tputMeInTheWorld: function(loc) {\n\t\tvar c = this.immediateContainer();\n\t\tvar loc = c ? c.position().addPt(c.contentOffset) : this.position();\n\t\tthis.world().addMorphAt(this, loc);\n\t\tif (c) c.remove();\n\t},\n\n\timmediateContainer: function() { // Containers override to return themselves\n\t\tif (this.owner) return this.owner.immediateContainer();\n\t\telse return null;\n\t},\n\n\twindowContent: function() {\n\t\treturn this; // Default response, overridden by containers\n\t},\n\n\twindowTitle: function() {\n\t\treturn Object.inspect(this).truncate(); // Default response, overridden by containers\n\t},\n\n\n\n\tcopyToHand: function(hand, evt, optCopier) {\n\t\t// Function.prototype.shouldTrace = true;\n\t\tif (optCopier)\n\t\t\tvar copier = optCopier;\n\t\telse\n\t\t\tvar copier = new Copier();\n\t\tvar copy = this.copy(copier);\n\t\tif (!optCopier)\n\t\t\tcopier.finish(); // if copier comes from outside it should call finish\n\n\t\t// when copying submorphs, make sure that the submorph that becomes a top-level morph \n\t\t// reappears in the same location as its original.\n\t\tconsole.log('copied %s', copy);\n\t\tcopy.owner = null; // so following addMorph will just leave the tfm alone\n\t\tthis.owner.addMorph(copy); // set up owner as the original parent so that... \n\t\thand.addMorph(copy); // ... it will be properly transformed by this addMorph()\n\t\thand.showAsGrabbed(copy);\n\t\t// copy.withAllSubmorphsDo(function() { this.startStepping(null); }, null);\n\t\treturn copy\n\t},\n\n\tshadowCopy: function(hand) {\n\t\t// This is currently an expensive and error-prone deep copy\n\t\t// Better would be a shallow copy unless there are submorphs outside bounds\n\t\tvar copy;\n\t\ttry { copy = this.copy(new Copier()); }\n\t\tcatch (e) { copy = Morph.makeRectangle(this.bounds()); }\n\t\tcopy.withAllSubmorphsDo( function() {\n\t\t\tif (this.fill || this.getFill()) this.setFill(Color.black);\n\t\t\telse this.setFill(null);\n\t\t\tif (this.getBorderColor()) this.setBorderColor(Color.black);\n\t\t\tthis.setFillOpacity(0.3);\n\t\t\tthis.setStrokeOpacity(0.3);\n\t\t});\n\t\tcopy.owner = null; // so later addMorph will just leave the tfm alone\n\t\treturn copy;\n\t},\n\n\tmorphToGrabOrReceiveDroppingMorph: function(evt, droppingMorph) {\n\t\treturn this.morphToGrabOrReceive(evt, droppingMorph, true);\n\t},\n\n\tmorphToGrabOrReceive: function(evt, droppingMorph, checkForDnD) {\n\t\t// If checkForDnD is false, return the morph to receive this mouse event (or null)\n\t\t// If checkForDnD is true, return the morph to grab from a mouse down event (or null)\n\t\t// If droppingMorph is not null, then check that this is a willing recipient (else null)\n\n\t\tif (this.isEpimorph)\n\t\t\treturn null;\n\n\t\tif (!this.fullContainsWorldPoint(evt.mousePoint)) return null; // not contained anywhere\n\t\t// First check all the submorphs, front first\n\t\tfor (var i = this.submorphs.length - 1; i >= 0; i--) {\n\t\t\tvar hit = this.submorphs[i].morphToGrabOrReceive(evt, droppingMorph, checkForDnD); \n\t\t\tif (hit != null) { \n\t\t\t\treturn hit; // hit a submorph\n\t\t\t}\n\t\t};\n\n\t\t// Check if it's really in this morph (not just fullBounds)\n\t\tif (!this.containsWorldPoint(evt.mousePoint)) return null;\n\n\t\t// If no DnD check, then we have a hit (unless no handler in which case a miss)\n\t\tif (!checkForDnD) return this.mouseHandler ? this : null;\n\n\t\t// On drops, check that this is a willing recipient\n\t\tif (droppingMorph != null) {\n\t\t\treturn this.acceptsDropping(droppingMorph) ? this : null;\n\t\t} else {\n\t\t\t// On grabs, can't pick up the world or morphs that handle mousedown\n\t\t\t// DI: I think the world is adequately checked for now elsewhere\n\t\t\t// else return (!evt.isCommandKey() && this === this.world()) ? null : this; \n\t\t\treturn this;\n\t\t}\n\n\t},\n\n\tmorphToReceiveEvent: function(evt) {\n\t\t// This should replace morphToGrabOrReceive... in Hand where events\n\t\t// must be displatched to morphs that are closed to DnD\n\t\treturn this.morphToGrabOrReceive(evt, null, false);\n\t},\n\n\n\tacceptsDropping: function(morph) { \n\t\treturn this.openForDragAndDrop && !(morph instanceof WindowMorph);\n\t},\n\n},\n'stepping', { // Morph stepping/timer functions\n\n startSteppingScripts: function() { }, // May be overridden to start stepping scripts\n\n\tstopStepping: function() {\n\t\tif (!this.activeScripts) return;\n\t\t// ignore null values\n\t\tthis.activeScripts.select(function (ea) { return ea }).invoke('stop', this.world());\n\t\tthis.activeScripts = null;\n\t},\n\t\n\tstopSteppingScriptNamed: function(sName) {\n\t\tif (!this.activeScripts) return;\n\t\tthis.activeScripts.select(function (ea) { return ea.scriptName == sName }).invoke('stop', this.world());\n\t\tthis.activeScripts = this.activeScripts.select(function (ea) { return ea.scriptName !== sName });\t\n\t\tif (this.activeScripts.length == 0) this.activeScripts = null;\n\t},\n\n\tstartStepping: function(stepTime, scriptName, argIfAny) {\n\t\tif (!scriptName) \n\t\t\tthrow Error(\"Old code\");\n\t\tvar action = new SchedulableAction(this, scriptName, argIfAny, stepTime);\n\t\tthis.addActiveScript(action);\n\t\taction.start(this.world());\n\t\treturn action;\n\t},\n\n\taddActiveScript: function(action) {\n\t\t// Every morph carries a list of currently active actions (alarms and repetitive scripts)\n\t\tif (!this.activeScripts) this.activeScripts = [action];\n\t\telse this.activeScripts.push(action);\n\t\tif (!action.rawNode.parentNode) \n\t\t\tthis.addMorph(action);\n\t\treturn this;\n\t\t// if we're deserializing the rawNode may already be in the markup\n\t},\n\n stopAllStepping: function() { // For me and all my submorphs \n\t\tthis.withAllSubmorphsDo( function() { this.stopStepping(); });\n },\n\n suspendAllActiveScripts: function() { // For me and all my submorphs\n\t\tthis.withAllSubmorphsDo( function() { this.suspendActiveScripts(); });\n },\n\n\tsuspendActiveScripts: function() {\n\t\tif (this.activeScripts) { \n\t\t\tthis.suspendedScripts = this.activeScripts.clone();\n\t\t\tthis.stopStepping();\n\t\t}\n\t},\n\n\tresumeAllSuspendedScripts: function() {\n\t\tvar world = WorldMorph.current();\n\t\tthis.withAllSubmorphsDo( function() {\n\t\t\tif (this.suspendedScripts) {\n\t\t\t\t// ignore null values\n\t\t\t\tthis.suspendedScripts.select(function (ea) { return ea }).invoke('start', world);\n\t\t\t\tthis.activeScripts = this.suspendedScripts;\n\t\t\t\tthis.suspendedScripts = null;\n\t\t\t}\n\t\t});\n\t},\n\n},\n'scripts', {\n\taddScript: function(funcOrString, optName) {\n\t\tvar func = Function.fromString(funcOrString);\n\t\treturn func.asScriptOf(this, optName);\n\t},\n\n\taddScriptNamed: function(name, funcOrString) {\n\t\t// DEPRECATED!!!\n\t\treturn this.addScript(funcOrString, name);\n\t},\n},\n'debugging', {\n\tnotify: function(msg, loc) {\n\t\tif (!loc) loc = this.world().positionForNewMorph();\n\t\tnew MenuMorph([[\"OK\", 0, \"toString\"]], this).openIn(this.world(), loc, false, msg); \n\t},\n\n\tshowOwnerChain: function(evt) {\n\t\tvar items = this.ownerChain().reverse().map(\n\t\t\tfunction(each) { \n\t\t\t\treturn [Object.inspect(each).truncate(), function(evt2) { each.showMorphMenu(evt) }]; \n\t\t\t});\n\t\tnew MenuMorph(items, this).openIn(this.world(), evt.point(), false, \"Top item is topmost\");\n\t},\n\n\ttoString: function() {\n\t\ttry {\n\t\t\tvar name = this.getName();\n\t\t\tif (name && name != '') name += '(' + this.constructor.name + ')';\n\t\t\telse name = (this.rawNode && this.id()) || 'morph without rawNode';\n\t\t\treturn name;\n\t\t} catch (e) {\n\t\t\t//console.log(\"toString failed on %s\", [this.id(), this.getType()]);\n\t\t\treturn \"#\";\n\t\t}\n\t},\n\n\tinspect: function() {\n\t\ttry {\n\t\t\treturn this.toString();\n\t\t} catch (err) {\n\t\t\treturn \"#\";\n\t\t}\n\t},\n\t\n\taddSvgInspector: function() {\n\t\tvar xml = Exporter.stringify(new Exporter(this).serialize(Global.document));\n\t\tvar txt = this.world().addTextWindow({\n\t\t\tcontent: xml,\n\t\t\ttitle: \"XML dump\", \n\t\t\tposition: this.world().positionForNewMorph(null, this)\n\t\t});\n\t\ttxt.innerMorph().xml = xml; // FIXME a sneaky way of passing original text.\n\t},\n\n\taddModelInspector: function() {\n\t\tvar model = this.getModel();\n\t\tif (model instanceof SyntheticModel) {\n\t\t\tvar variables = model.variables();\n\t\t\tvar list = [];\n\t\t\tfor (var i = 0; i < variables.length; i++) {\n\t\t\t\tvar varName = variables[i];\n\t\t\t\tlist.push(varName + \" = \" + model.get(varName));\n\t\t\t}\n\t\t\tthis.world().addTextListWindow({\n\t\t\t\tcontent: list,\n\t\t\t\ttitle: \"Simple Model dump\",\n\t\t\t\tposition: this.world().positionForNewMorph(null, this)\n\t\t\t});\n\t\t}\n\t},\n\n},\n'Fabrik',{\n\tisContainedIn: function(morph) {\n\t\tif (!this.owner) return false;\n\t\tif (this.owner === morph) return true;\n\t\treturn this.owner.isContainedIn(morph)\n\t},\n});\n\n\n\n// Morph factory methods for creating simple morphs easily\n\n\n\n\n// View trait\nGlobal.ViewTrait = {\n connectModel: function(plugSpec, optKickstartUpdates) {\n\t// FIXME what if already connected, \n\tif (plugSpec instanceof Relay) {\n\t // new style model\n\t this.formalModel = plugSpec;\n\t // now, go through the setters and add notifications on model\n\t if (plugSpec.delegate instanceof Record) \n\t\tplugSpec.delegate.addObserversFromSetters(plugSpec.definition, this, optKickstartUpdates);\n\t return;\n\t} else if (plugSpec instanceof Record) {\n\t this.formalModel = plugSpec;\n\t plugSpec.addObserversFromSetters(plugSpec.definition, this, optKickstartUpdates);\n\t return;\n\t}\n\t// connector makes this view pluggable to different models, as in\n\t// {model: someModel, getList: \"getItemList\", setSelection: \"chooseItem\"}\n\tvar newPlug = (plugSpec instanceof ModelPlug) ? plugSpec : new ModelPlug(plugSpec);\n\t\n\tvar model = newPlug.model;\n\tif (!(model instanceof Model) && !this.checkModel(newPlug))\n\t console.log(\"model \" + model + \" is not a Model, view \" + this);\n\n\tthis.modelPlug = newPlug;\n\n\tif (model.addDependent) { // for mvc-style updating\n\t model.addDependent(this);\n\t} \n\treturn this;\n },\n\n relayToModel: function(model, optSpec, optKickstart) {\n\treturn this.connectModel(Relay.newInstance(optSpec || {}, model), optKickstart);\n },\n\n reconnectModel: function() {\n\tif (this.formalModel instanceof Relay) {\n\t // now, go through the setters and add notifications on model\n\t //alert('delegate ' + this.formalModel.delegate);\n\t if (this.formalModel.delegate instanceof Record) {\n\t\tthis.formalModel.delegate.addObserversFromSetters(this.formalModel.definition, this);\n\t }\n\t} else if (this.formalModel instanceof Record) {\n\t this.formalModel.addObserversFromSetters(this.formalModel.definition, this);\n\t} //else alert('formal model ' + this.formalModel);\n },\n\n checkModel: function(plugSpec) {\n\t// For non-models, check that all supplied handler methods can be found\n\tvar result = true;\n\tProperties.forEachOwn(plugSpec, function(modelMsg, value) {\n\t if (modelMsg == 'model') return;\n\t var handler = plugSpec.model[value];\n\t \n\t if (!handler || !(handler instanceof Function)) {\n\t\t// console.log\n\t\talert(\"Supplied method name, \" + value + \" does not resolve to a function.\");\n\t\tresult = false;\n\t }\n\t});\n\treturn result;\n },\n\n disconnectModel: function() {\n\tvar model = this.getModel();\n\tif (model && model.removeDependent) { // for mvc-style updating\n\t model.removeDependent(this);\n\t} \n },\n\n getModel: function() {\n\tvar plug = this.getModelPlug();\n\tif (plug) return plug.model;\n\telse return this.getActualModel();\n },\n\n getActualModel: function() {\n\treturn this.formalModel instanceof Relay ? this.formalModel.delegate : this.formalModel;\n },\n \n getModelPlug: function() { \n\tvar plug = this.modelPlug;\n\treturn (plug && plug.delegate) ? plug.delegate : plug;\n },\n\n getModelValue: function(functionName, defaultValue) {\n\t// functionName is a view-specific message, such as \"getList\"\n\t// The model plug then provides a reference to the model, as well as\n\t// the specific model accessor for the aspect being viewed, say \"getItemList\"\n\t// Failure at any stage will return the default value.\n\t// TODO: optionally verify that variable name is listed in this.pins\n\tif (this.formalModel) { \n\t // snuck in compatiblitiy with new style models\n\t var impl = this.formalModel[functionName];\n\t return impl ? impl.call(this.formalModel) : defaultValue;\n\t}\n\t\n\tvar plug = this.getModelPlug();\n\tif (plug == null || plug.model == null || functionName == null) return defaultValue;\n\tvar func = plug.model[plug[functionName]];\n\tif (func == null) return defaultValue;\n\treturn func.call(plug.model); \n },\n\n setModelValue: function(functionName, newValue) {\n\t// functionName is a view-specific message, such as \"setSelection\"\n\t// The model plug then provides a reference to the model, as well as\n\t// the specific model accessor for the aspect being viewed, say \"chooseItem\"\n\t// Failure at any stage is tolerated without error.\n\t// Successful sets to the model supply not only the newValue, but also\n\t// a reference to this view. This allows the model's changed() method\n\t// to skip this view when broadcasting updateView(), and thus avoid\n\t// needless computation for a view that is already up to date.\n\t// TODO: optionally verify that variable name is listed in this.pins\n\tif (this.formalModel) { \n\t // snuck in compatiblitiy with new style models\n\t var impl = this.formalModel[functionName];\n\t return impl && impl.call(this.formalModel, newValue);\n\t}\n\tvar plug = this.getModelPlug();\n\tif (plug == null || plug.model == null || functionName == null) return null;\n\tvar func = plug.model[plug[functionName]];\n\tif (func == null) return null;\n\tfunc.call(plug.model, newValue, this);\n\treturn plug[functionName];\n },\n\n updateView: function(aspect, controller) {\n\t// This method is sent in response to logic within the model executing\n\t// this.changed(aspect, source)\n\t// The aspect used is the name of the get-message for the aspect\n\t// that needs to be updated in the view (and presumably redisplayed)\n\t// All actual view morphs will override this method with code that\n\t// checks for their aspect and does something useful in that case.\n }\n};\n\nObject.subclass('View', ViewTrait, {\n\n initialize: function(modelPlug) {\n\tif (modelPlug)\n\t this.connectModel(modelPlug);\n },\n\n getType: function() { // convenience\n\treturn this.constructor.getOriginal().type;\n },\n\n toString: function() {\n\treturn \"#<\" + this.getType() + \">\";\n }\n\n});\n\nMorph.addMethods(ViewTrait);\n\n\n// ===========================================================================\n// MVC model support\n// ===========================================================================\n\n/**\n * @class Model\n * An MVC style model class that allows changes to be automatically\n * propagated to multiple listeners/subscribers/dependents. \n */ \n\n// A typical model/view relationship is set up in the following manner:\n// panel.addMorph(m = newTextListPane(new Rectangle(200,0,200,150)));\n// m.connectModel({model: this, getList: \"getMethodList\", setSelection: \"setMethodName\"});\n// The \"plug\" object passed to connectModel() points to the model, and converts from\n// view-specific messages like getList() and setSelection() to model-specific messages\n// like getMethodList() and setMethodName. This allow a single model to have, eg,\n// several list views, each viewing a different list aspect of the model.\n\n// A number of morphs are used as views, or \"widgets\". These include TextMorph,\n// ListMorph, ButtonMorph, SliderMorph, etc. Each of these morphs uses the above\n// plug mechanism to get or set model values and to respond to model changes.\n// these are documented in Morph.getModelValue, setModelValue, and updateView\n\nObject.subclass('Model', {\n\n initialize: function(dep) { \n\t// Broadcasts an update message to all dependents when a value changes.\n\tthis.dependents = (dep != null) ? [dep] : [];\n },\n\n addDependent: function (dep) { \n\tthis.dependents.push(dep); \n },\n\n removeDependent: function (dep) {\n\tvar ix = this.dependents.indexOf(dep);\n\tif (ix < 0) return;\n\tthis.dependents.splice(ix, 1); \n },\n\n changed: function(varName, source) {\n\t// Broadcast the message \"updateView\" to all dependents\n\t// If source (a dependent) is given, we skip it (already updated)\n\t// If varName is not given, then null will be the aspect of the updateView()\n\t//console.log('changed ' + varName);\n\tfor (var i = 0; i < this.dependents.length; i++) {\n\t if (source !== this.dependents[i]) {\n\t\t// console.log('updating %s for name %s', this.dependents[i], varName);\n\t\tthis.dependents[i].updateView(varName, source);\n\t } \n\t} \n },\n\n toString: function() {\n\treturn Strings.format(\"#\", this.dependents);\n },\n\n // test?\n copyFrom: function(copier, other) {\n\tthis.dependents = [];\n\tother.dependents.forEach(function(dep) { this.dependents.push(copier.lookup(dep.id())) }, this);\n }\n\n});\n\nlively.data.Wrapper.subclass('ModelPlug', { // obsolete with CheapListMorph?\n documentation: \"A 'translation' from view's variable names to model's variable names\",\n\n initialize: function(spec) {\n\tvar props = [];\n\tProperties.forEachOwn(spec, function(p) {\n\t this[p] = spec[p];\n\t props.push(p);\n\t}, this);\n },\n \n toString: function() {\n\tvar pairs = [];\n\tProperties.forEachOwn(this, function(p, value) { if (p != 'model') pairs.push(p + \":\" + value) });\n\treturn \"#\";\n },\n\n serialize: function(modelId) {\n\tvar rawNode = LivelyNS.create(\"modelPlug\", {model: modelId});\n\tProperties.forEachOwn(this, function(prop, value) {\n\t switch (prop) {\n\t case 'model':\n\t case 'rawNode':\n\t\tbreak;\n\t default:\n\t\trawNode.appendChild(LivelyNS.create(\"accessor\", {formal: prop, actual: value}));\n\t }\n\t}, this);\n\treturn rawNode;\n },\n\n inspect: function() {\n\treturn JSON.serialize(this);\n },\n\n deserialize: function(importer, rawNode) {\n\tfor (var acc = rawNode.firstChild; acc != null; acc = acc.nextSibling) {\n\t if (acc.localName != 'accessor') continue;\n\t this[LivelyNS.getAttribute(acc, \"formal\")] = LivelyNS.getAttribute(acc, \"actual\");\n\t}\n }\n});\n\n\nModel.subclass('SyntheticModel', {\n documentation: \"A stereotyped model synthesized from a list of model variables\",\n\n initialize: function($super, vars) {\n\t$super(null);\n\tif (!(vars instanceof Array)) \n\t throw new Error(\"wrong argument to SyntheticModel: \" + vars);\n\tfor (var i = 0; i < vars.length; i++) {\n\t var v = vars[i];\n\t if (v.startsWith('-') || v.startsWith('+')) \n\t\tv = v.slice(1);\n\t this.addVariable(v, null);\n\t}\n },\n\n makeGetter: function(name) {\n\t// functional programming is fun!\n\t\n\treturn function() { \n\t return this[name]; \n\t};\n },\n\n makeSetter: function(name) {\n\treturn function(newValue, v) { \n\t this[name] = newValue; \n\t this.changed(this.getterName(name), v); \n\t};\n },\n\n addVariable: function(varName, initialValue) {\n\tthis[varName] = initialValue;\n\tthis[this.getterName(varName)] = this.makeGetter(varName);\n\tthis[this.setterName(varName)] = this.makeSetter(varName);\n },\n\n getterName: function(varName) {\n\treturn \"get\" + varName;\n },\n\n get: function(varName) {\n\tvar method = this[this.getterName(varName)];\n\tif (!method) throw new Error(this.getterName(varName) + \" not present \");\n\treturn method.call(this, varName);\n },\n\n setterName: function(varName) {\n\treturn \"set\" + varName;\n },\n\n set: function(varName, value) {\n\tvar method = this[this.setterName(varName)]\n\tif (!method) throw new Error(this.setterName(varName) + \" not present\");\n\treturn method.call(this, varName, value);\n },\n\n makePlugSpecFromPins: function(pinList) {\n\tvar spec = { model: this};\n\tpinList.forEach(function(decl) {\n\t if (!decl.startsWith('-')) { // not read-only\n\t\tvar stripped = decl.startsWith('+') ? decl.slice(1) : decl;\n\t\tspec[this.setterName(stripped)] = this.setterName(stripped);\n\t }\n\t if (!decl.startsWith('+')) { // not write-only\n\t\tvar stripped = decl.startsWith('-') ? decl.slice(1) : decl;\n\t\tspec[this.getterName(stripped)] = this.getterName(stripped);\n\t }\n\t}, this);\n\treturn spec;\n },\n\n makePlugSpec: function() {\n\t// make a plug of the form {model: this, getVar1: \"getVar1\", setVar1: \"setVar1\" .. }\n\tvar spec = {model: this};\n\tthis.variables().forEach(function(v) { \n\t var name = this.getterName(v);\n\t spec[name] = name;\n\t name = this.setterName(v);\n\t spec[name] = name;\n\t}, this);\n\treturn spec;\n },\n\n variables: function() {\n\treturn Properties.own(this).filter(function(name) { return name != 'dependents'});\n }\n});\n\n\n\n\n\n// ===========================================================================\n// World-related widgets\n// ===========================================================================\n\n// A unique characteristics of the Morphic graphics system is that\n// all the objects (morphs) live in a \"world\" that is shared between \n// different objects and even between different users. A world can\n// contain a large number of different applications/widgets, much like\n// in an operating system a folder can contain a lot of files. Worlds\n// can be linked to each other using LinkMorphs. As a consequence,\n// the entire system can contain a large number of worlds, each of\n// which contains a large number of simultaneously running applications\n// and widgets. \n\nMorph.subclass(\"PasteUpMorph\", {\n\n documentation: \"used for layout, most notably the world and, e.g., palettes\",\n\n initialize: function($super, bounds, shapeType) {\n return $super(bounds, shapeType);\n },\n \n\tcaptureMouseEvent: function PasteUpMorph$captureMouseEvent($super, evt, hasFocus) {\n\t\tif (evt.type == \"MouseDown\" && this.onMouseDown(evt)) return;\n\t\tif (evt.type == \"MouseWheel\" && this.onMouseWheel(evt)) return;\n\t\t$super(evt, hasFocus); \n\t},\n\n\tonMouseDown: function PasteUpMorph$onMouseDown($super, evt) { //default behavior is to grab a submorph\n\t\t$super(evt);\n\t\tvar m = this.morphToReceiveEvent(evt);\n\t\tif (false && m instanceof HandleMorph) { // Verify handles work with pie menus, then delete\n\t\t\tm.onMouseDown(evt); // fixme\n\t\t\treturn true;\n\t\t}\n\t\tif (Config.usePieMenus) {\n\t\t\tif (m.handlesMouseDown(evt)) return false;\n\t\t\tm.showPieMenu(evt, m);\n\t\t\treturn true;\n\t\t}\n\t\tif (m == null) { \n\t\t\tthis.makeSelection(evt); \n\t\t\treturn true; \n\t\t} else if (!evt.isCommandKey() && evt.isLeftMouseButtonDown()) {\n\t\t\tif (m === this.world()) { \n\t\t\t\tthis.makeSelection(evt); \n\t\t\t\treturn true; \n\t\t\t} else if (m.handlesMouseDown(evt)) \n\t\t\t\treturn false;\n\t\t}\n\t\tevt.hand.grabMorph(m, evt);\n\t\treturn true; \n\t},\n\n\n\tbounds: function($super, ignoreTransients, ignoreTransform) {\n\t\treturn $super(ignoreTransients, true);\n\t},\n\t\n\tonMouseWheel: function(evt) {\t\t\n\t\tif (!evt.isCommandKey()) return false;\n\t\tevt.preventDefault();\n\n\t\tvar wheelDelta = evt.wheelDelta();\n\t\tvar oldScale = this.getScale();\n\n\t\tvar minScale = 0.2, maxScale = 5;\n\t\tif (oldScale < minScale && wheelDelta < 0) return false;\n\t\tif (oldScale > maxScale && wheelDelta > 0) return false;\n\t\tvar scaleDelta = 1 + evt.wheelDelta() / 10000;\n\t\t\n\t\t// this.scaleBy(scaleDelta);\n\t\tvar newScale = oldScale * scaleDelta;\n\t\tvar newScale = Math.max(Math.min(newScale, maxScale), minScale);\n\t\tconsole.log(\"new scale \" + newScale)\n\t\tthis.setScale(newScale)\n\n\t\t// actually this should be a layoutChanged but implementing\n\t\t// layoutChanged in WorldMorph is expensive since it is always called when a\n\t\t// submorph's layout is changed (owner chain propagation)\n\t\tthis.resizeCanvasToFitWorld();\n\t\t\n\t\t// Zoom into/out of the current mouse position:\n\t\t// p is the current mouse position. If we wouldn't move the window the new mouse pos would be scaledP.\n\t\t// We calculate the vector from scaledP to p and scale that by the current scale factor\n\t\t// We end up with a vector that can be used to scroll the screen to zoom in/out\n\t\tvar p = evt.point();\n\t\tvar scaledP = p.scaleBy(1/scaleDelta);\n\t\tvar translatedP = p.subPt(scaledP).scaleBy(this.getScale());\n\t\twindow.scrollBy(translatedP.x, translatedP.y)\n\n\t\treturn true\n\t},\n\t\n okToBeGrabbedBy: function(evt) {\n // Paste-ups, especially the world, cannot be grabbed normally\n return null; \n },\n\n\tmakeSelection: function(evt) {\t//default behavior is to grab a submorph\n\t\tif (this.world().currentSelection != null) this.world().currentSelection.removeOnlyIt();\n\t\t\n\t\tvar m = new SelectionMorph(evt.point().asRectangle());\n\t\tthis.world().currentSelection = m;\n\t\t\n\t\tthis.world().addMorph(m);\n\t\tvar handle = new HandleMorph(pt(0,0), lively.scene.Rectangle, evt.hand, m, \"bottomRight\");\n\t\thandle.setExtent(pt(0, 0));\n\t\thandle.mode = 'reshape';\n\t\tm.addMorph(handle);\n\t\tevt.hand.setMouseFocus(handle);\n\t\tevt.hand.setKeyboardFocus(handle);\n\t},\n\n\n \n});\nObject.subclass('Styles');\nObject.extend(Styles, {\n\ttitleBarButtonGradient: function(color) {\n\t\tvar gfx = lively.paint;\n\t\treturn new gfx.RadialGradient([\n\t\t\t\tnew gfx.Stop(0, color.lighter(2)),\n\t\t\t\tnew gfx.Stop(0.5, color),\n\t\t\t\tnew gfx.Stop(1, color.darker())],\n\t\t\tpt(0.4, 0.2))\n\t}\n});\n\nif (!Global.DisplayThemes)\n\tGlobal.DisplayThemes = {};\n\nPasteUpMorph.subclass(\"WorldMorph\", \n'defaults', {\n documentation: \"A Morphic world (a visual container of other morphs)\",\n fill: Color.primary.blue,\n defaultExtent: pt(1280, 1024),\n\tstyleClass: ['world'],\n\t\n // Default theme for the theme manager \n},\n'initilization', {\n\tinitialize: function($super, canvas, backgroundImageId) {\n\t\tvar bounds = Rectangle.fromElement(canvas);\n\t\t// sometimes bounds has zero dimensions (when reloading thes same page, timing issues?\n\t\t// in Firefox bounds may be 1x1 size?? maybe everything should be run from onload or sth?\n\t\tif (bounds.width < 2) {\n\t\t\tbounds.width = this.defaultExtent.x;\n\t\t}\n\n\t\tif (bounds.height < 2) {\n\t\t\tbounds.height = this.defaultExtent.y;\n\t\t}\n\n\t\tif (backgroundImageId) {\n\t\t\tvar background = NodeFactory.create(\"use\");\n\t\t\tXLinkNS.setHref(background, backgroundImageId);\n\t\t\tthis.addNonMorph(background);\n\t\t}\n\t\t$super(new lively.scene.Rectangle(bounds));\n\n\t\tthis.setDisplayTheme(this.displayTheme); // apply display theme\n\n\t\t//gradient.rawNode.setAttributeNS(null, \"gradientTransform\", \"translate(0, -0.1) skewY(10)\");\t\t \n\t\tthis.enterCount = 0;\n\t},\n\n\tdoNotSerialize: ['hands', 'scheduledActions', 'lastStepTime', 'mainLoop', 'worldId', 'secondTick', 'currentScript', 'currentSelection', '_statusMessageContainer'],\n\n initializeTransientState: function($super) {\n $super();\n\n this.hands = [];\n\n\t\t\t\t\n\t\tvar theme = DisplayThemes[Config.defaultDisplayTheme];\n\t\tif (!theme)\n\t\t\tconsole.log('ERROR: could not find Theme ' + Config.defaultDisplayTheme)\n\t\tthis.displayTheme = theme; // set display them without applying it\n\t\tconsole.log('WorldMorph: updated display theme ')\n\n\n\t\tthis.withAllSubmorphsDo( function() { this.layoutChanged(); }); // Force installation of transforms\n\n this.scheduledActions = []; // an array of schedulableActions to be evaluated\n this.lastStepTime = (new Date()).getTime();\n this.mainLoopFunc = this.doOneCycle.bind(this).logErrors('Main Loop');\n this.mainLoop = Global.setTimeout(this.mainLoopFunc, 30);\n this.worldId = ++WorldMorph.worldCount;\n\t\tvar self = this;\n\t\twindow.onscroll = function() {signal(self, 'scrollChange')}\n\n return this;\n },\n\n\tcollectAllUsedFills: function($super, usedFills) {\n\t\tusedFills = $super(usedFills);\n\t\tProperties.forEachOwn(this.displayTheme, function(ea) {\n\t\t\tvar style = this[ea]\n\t\t\tif (style && (style.fill instanceof lively.paint.Gradient)) {\n\t\t\t\tusedFills.push(style.fill);\n\t\t\t} \n\t\t}.bind(this.displayTheme))\n\t\treturn usedFills\n\t},\n \n\tremove: function() {\n\t\tif (!this.rawNode.parentNode) return null; // already removed\n\t\tthis.hands.clone().forEach(function(hand) { this.removeHand(hand) }, this);\n\t\tthis.stopStepping();\n\t\tthis.removeRawNode();\n\t\treturn this;\n\t},\n},\n'private', {\n\n\t// called by insertMorph to determine the rawNode after the new inserted morph\n\tgetInsertPositionFor: function(m, isFront) {\n\t\tif (this.submorphs.length == 0) return this.hands.length > 0 ? this.hands[0].rawNode : null;\n\t\treturn isFront ? this.submorphs.last().rawNode.nextSibling : this.submorphs.first().rawNode;\n\t},\n\t\n\ttoggleNativeCursor: function(flag) {\n\t\tthis.canvas().setAttributeNS(null, \"cursor\", flag ? \"auto\" : \"none\");\n\t},\n\n\tresizeCanvasToFitWorld: function () {\n\t\tvar canvas = this.canvas();\n\t\tif (!canvas) return;\n\t\tthis.transformChanged();\n\t\tthis.fullBounds = null;\n\n\t\tvar w = this.bounds().width * this.getScale() , h = this.bounds().height * this.getScale();\n\n\t\tif (canvas.clientWidth != w && canvas.clientHeight != h) {\n\t\t\tif (canvas.offsetLeft) w += canvas.offsetLeft * this.getScale();\n\t\t\tif (canvas.offsetTop) h += canvas.offsetTop * this.getScale();\n\t\t\tcanvas.setAttribute(\"width\", w);\n\t\t\tcanvas.setAttribute(\"height\", h);\n\n\t\t}\n\t},\n\n\tdisplayOnCanvas: function(canvas) {\n\t\t// this.remove();\n\t\tif (this.rawNode.parentNode !== canvas) canvas.appendChild(this.rawNode);\n\t\tvar hand = this.addHand(new HandMorph(true));\n\t\tWorldMorph.currentWorld = this; // this conflicts with mutliple worlds\n\t\tif (Config.resizeScreenToWorldBounds)\n\t\t\tthis.resizeCanvasToFitWorld(this);\n\t\tthis.onEnter(); \n\n\t\tthis.enterCount ++;\n\t},\n \n\taddHand: function(hand) {\n\t\tif (this.hands.length > 0 && !this.hands.first())\n\t\t\tthis.hands.shift(); // FIXME: Quick bugfix. When deserializing the world the hands.first() is sometimes undefined\n\t\tthis.hands.push(hand);\n\t\thand.owner = this;\n\t\t// FIXME mouse events are correctly dispatched when using canvas or world\n\t\t// keyboard events only work when using documentElement --> problem with multiple worlds\n\t\thand.registerForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.registerForEvents(this.canvas());\n\t\thand.layoutChanged();\n\n\t\tthis.rawNode.appendChild(hand.rawNode);\n\t\treturn hand;\n\t},\n \n\tremoveHand: function(hand) {\n\t\thand.setMouseFocus(null); // cleanup, just in case\n\t\thand.setKeyboardFocus(null); // cleanup (calls blur(), which will remove the focus halo)\n\t\thand.removeRawNode();\n\t\thand.unregisterForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.unregisterForEvents(this.canvas());\n\n\t\tthis.hands.splice(this.hands.indexOf(hand), 1);\n\t},\n\n\n toggleBalloonHelp: function() {\n Morph.prototype.suppressBalloonHelp = !Morph.prototype.suppressBalloonHelp;\n },\n\n toggleDebugBackground: function() {\n // Debug background is transparent, so that we can see the console\n // if it is not otherwise visible\n Config.useDebugBackground = !Config.useDebugBackground;\n this.shape.setFillOpacity(Config.useDebugBackground ? 0.8 : 1.0);\n },\n\n chooseDisplayTheme: function(evt) { \n var themes = DisplayThemes;\n var target = this; // trouble with function scope\n var themeNames = Properties.own(themes);\n var items = themeNames.map(\n function(each) { return [each, target, \"setDisplayTheme\", themes[each]]; });\n var menu = new MenuMorph(items, this);\n menu.openIn(this.world(), evt.point());\n },\n \n setDisplayTheme: function(styleDict) { \n this.displayTheme = styleDict;\n this.withAllSubmorphsDo( function() { this.applyLinkedStyles(); });\n },\n \n restart: function() {\n window.location && window.location.reload();\n },\n\n},\n'geometry', {\n \n layoutChanged: function() {\n\t// do nothing\n },\n\n layoutOnSubmorphLayout: function() {\n\treturn false;\n },\n \n\n moveBy: function(delta) { // don't try to move the world\n },\n},\n'world', {\n\n world: function() { \n return this; \n },\n\t\n validatedWorld: function() { \n return this; \n },\n \n firstHand: function() {\n return this.hands[0];\n },\n\n onEnter: function() {},\n onExit: function() {},\n\n /**\n * override b/c of parent treatement\n */\n relativize: function(pt) { \n return pt;\n //return pt.matrixTransform(this.rawNode.parentNode.getTransformToElement(this.rawNode)); \n },\n\thideHostMouseCursor: function() {\n\t\tif (!Config.hideSystemCursor) return;\n\t\tvar\tpath = URL.codeBase.withFilename('media/nocursor.gif').pathname\n\t\tdocument.body.style.cursor = 'url(\"' + path + '\"), none';\n\t},\n\tshowHostMouseCursor: function() {\n\t\tdocument.body.style.cursor = 'default'\n\t},\n\n\n\n},\n'stepping', {\n \n // *** The new truth about ticking scripts ***\n // A morph may have any number of active scripts\n // Each is activated by a call such as\n // this.startStepping(50, \"rotateBy\", 0.1);\n // Note that stepTime is in milliseconds, as are all lower-level methods\n // The arguments are: stepTime, scriptName, argIfAny\n // This in turn will create a SchedulableAction of the form\n // { actor: aMorph, scriptName: \"rotateBy\", argIfAny: 0.1, stepTime: 50, ticks: 0 }\n // and this action will be both added to an array, activeScripts in the morph,\n // and it will be added to the world's scheduledActions list, which is an array of\n // tuples of the form [msTimeToRun, action]\n // The ticks field is used to tally ticks spent in each schedulableAction --\n // It is incremented on every execution, and it is multiplied by 0.9 every second\n // Thus giving a crude 10-second average of milliseconds spent in this script\n // every 10 seconds. The result is divided by 10 in the printouts.\n //\n // The message startSteppingScripts can be sent to morphs when they are placed in the world.\n // It is intended that this may be overridden to start any required stepping.\n // The message stopStepping will be sent when morphs are removed from the world.\n // In this case the activeScripts array of the morph is used to determine exactly what\n // scripts need to be unscheduled. Note that startSteppingScripts is not sent\n // automatically, whereas stopStepping is. We know you won't forget to \n // turn your gadgets on, but we're more concerned to turn them off when you're done.\n\n scheduleForLater: function(action, delayInMs, removePrior) {\n if (removePrior) this.stopSteppingFor(action, true); // unschedule earlier\n this.scheduleAction(new Date().getTime() + delayInMs, action);\n },\n \n startSteppingFor: function(action) {\n\t\tif (!action.scriptName) throw new Error(\"old code\");\n\t\t// New code for stepping schedulableActions\n\t\tthis.stopSteppingFor(action, true); // maybe replacing arg or stepTime\n\t\tthis.scheduleAction(new Date().getTime(), action);\n\t},\n \n stopSteppingFor: function(action, fromStart) { // should be renamed to unschedule()\n // fromStart means it is just getting rid of a previous one if there,\n\t // so not an error if not found\n\n if (this.currentScript === action) {\n\t\t // Not in queue; just prevent it from being rescheduled\n\t\t this.currentScript = null;\n\t\t return;\n\t\t};\n\n\t\tthis.scheduledActions = this.scheduledActions.reject(function(ea) {\n\t\t\tvar eaAction = ea[1]\n\t\t\treturn action.equalActorAndName(eaAction)\n\t\t})\n },\n\n \tstopSteppingScriptNamedAndRemoveFromSubmorphs: function(sName) {\n\t\tif (!this.activeScripts) return;\n\t\tvar all =this.activeScripts.select(function (ea) { return ea.scriptName == sName });\n\t\tall.invoke('stop', this.world());\n\t\tall.each(function(ea) {this.removeMorph(ea);}.bind(this));//remove\n\t\tthis.activeScripts = this.activeScripts.select(function (ea) { return ea.scriptName !== sName });\t\n\t\tif (this.activeScripts.length == 0) this.activeScripts = null;\n },\n \n validateScheduler: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n\tvar list = this.scheduledActions.clone(); // shorthand\n for (var i = 0; i < list.length; i++) {\n var actn = list[i][1];\n if (actn.actor instanceof Morph && actn.actor.validatedWorld() !== this) {\n this.stopSteppingFor(actn)\n }\n }\n },\n\n inspectScheduledActions: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n lively.Tools.inspect(this.scheduledActions.map(function(each) { return each[1]; }));\n },\n\n doOneCycle: function WorldMorph$doOneCycle(world) {\n // Process scheduled scripts\n\n // Run through the scheduledActions queue, executing those whose time has come\n // and rescheduling those that have a repeatRate\n // Note that actions with error will not get rescheduled\n // (and, unless we take the time to catch here, will cause all later \n // ones in the queue to miss this tick. Better less overhead, I say\n // DI: **NOTE** this needs to be reviewed for msClock rollover\n // -- also note we need more time info for multi-day alarm range\n // When we do this, I suggest that actions carry a date and msTime\n // and until their day is come, they carry a msTime > a day\n // That way they won't interfere with daily scheduling, but they can\n // still be dealt with on world changes, day changes, save and load.\n\t\tvar msTime = new Date().getTime();\n\t\tvar timeOfNextStep = Infinity;\n\t\tvar list = this.scheduledActions; // shorthand\n\t\tvar timeStarted = msTime; // for tallying script overheads\n\t\twhile (list.length > 0 && list[list.length - 1][0] <= msTime) {\n\t\t\tvar schedNode = list.pop(); // [time, action] -- now removed\n\t\t\tvar action = schedNode[1];\n\t\t\tthis.currentScript = action; // so visible from stopStepping\n\t\t\tlively.lang.Execution.resetDebuggingStack(); // Reset at each tick event\n\t\t\ttry {\n\t\t\t\taction.exec();\n\t\t\t} catch (er) {\n\t\t\t\tconsole.warn(\"error on actor %s: %s\", action.actor, er);\n\t\t\t\tdbgOn(true);\n\t\t\t\tlively.lang.Execution.showStack();\n\t\t\t\ttimeStarted = new Date().getTime();\n\t\t\t\tcontinue; // Note: if error in script above, it won't get rescheduled below (this is good)\n\t\t\t}\n \n\t\t\t// Note: stopStepping may set currentScript to null so it won't get rescheduled\n\t\t\tif (this.currentScript && action.stepTime > 0) {\n\t\t\t\tvar nextTime = msTime + action.stepTime;\n\t\t\t\tthis.scheduleAction(nextTime, action)\n\t\t\t}\n\t\t\tthis.currentScript = null;\n\n\t\t\tvar timeNow = new Date().getTime();\n\t\t\tvar ticks = timeNow - timeStarted;\n\t\t\tif (ticks > 0) action.ticks += ticks; // tally time spent in that script\n\t\t\ttimeStarted = timeNow;\n\t\t}\n\n\t\t// Generate a mouseMove if any ticking scripts have run so that\n\t\t// simulations can respond where, eg, a morph moves under the mouse\n\t\t// DI: This is *only* needed for the slide-keyboard-under-mouse demo (very cool)\n\t\t//\tUses extra cycles, though, and currently fails in Opera\n\t\tif (Config.nullMoveAfterTicks) { // set this true in localConfig for the demo\n\t\t\tvar myHand = this.firstHand();\n\t\t\tif (myHand) myHand.makeANullMove();\n\t\t}\n\t\tif (list.length > 0) timeOfNextStep = Math.min(list[list.length-1][0], timeOfNextStep);\n\n\t\t// Each second, run through the tick tallies and mult by 0.9 to 10-sec \"average\"\n\t\tif (!this.secondTick) this.secondTick = 0;\n\t\tvar secondsNow = Math.floor(msTime / 1000);\n\t\tif (this.secondTick != secondsNow) {\n\t\t\tthis.secondTick = secondsNow;\n\t\t\tvar tallies = {};\n\t\t\tfor (var i=0; i=0; i--) {\n var schedNode = list[i];\n if (schedNode[0] > msTime) {\n list.splice(i+1, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n return; \n }\n }\n list.splice(0, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n },\n},\n'dialogs', {\n \n\topenURLasText: function(url, title) {\n\t\t// FIXME: This should be moved with other handy services like confirm, notify, etc\t\t\n\t\tvar pane = this.addTextWindow({content: \"fetching ... \", title: title});\n\t\tvar r = new WebResource(url);\n\t\tlively.bindings.connect(r, 'content', pane.innerMorph(), 'setTextString');\n\t\tr.beAsync().get();\n\t\t\n\t},\n\n\tviewport: function() {\n\t\ttry {\n\t\t\treturn Rectangle.ensure(this.canvas().viewport);\n\t\t\t} catch (er) { // FF doesn't implement viewport ?\n\t\t\treturn this.shape.bounds();\n\t\t}\n\t},\n\n\talert: function(varargs) {\n\t\tvar message = Strings.formatFromArray($A(arguments));\n\t\tvar openDialog = function() {\n\t\t\talert(message)\n\t\t};\n\t\tthis.setStatusMessage(message, Color.red, undefined, openDialog, undefined, \"alert: \")\n\t}.logErrors('alert'),\n\n\tprompt: function(message, callback, defaultInput) {\n\t\tvar model = Record.newPlainInstance({Message: message, Input: defaultInput || \"\", Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value == true && callback) callback.call(Global, model.getInput());\n\t\t\t}\n\t\t});\n\t\tvar dialog = new PromptDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\", Input: \"Input\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t},\n\n editPrompt: function(message, callback, defaultInput) {\n\t\tvar dialog = new PromptDialogMorph();\n\t\tdialog.title = message;\n\t\tdialog.setText(defaultInput);\n\t\tdialog.callback = callback;\n\t\tdialog.openIn(this, this.positionForNewMorph(dialog));\n\t\treturn dialog\n },\n\n\tconfirm: function(message, callback) {\n\t\tvar model = Record.newPlainInstance({Message: message, Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value && callback) callback.call(Global, value);\n\t\t\t}});\n\t\tvar dialog = new ConfirmDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t\treturn dialog;\n\t},\n\tshowErrorDialog: function(error) {\n\t\tvar pane = this.addTextWindow({\n\t\t\tcontent: \"\",\n\t\t\ttitle: \"Error\", \n\t\t});\n\t\tpane.owner.setPosition(this.positionForNewMorph(pane))\n\t\tLastPane = pane\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceURL) {\n\t\t\t// works under Safari 5\n\t\t\tvar urlString = error.sourceURL;\n\t\t\tvar source = new WebResource(new URL(urlString)).get().content\n\t\t\tthis.showErrorDiaglogInWorkspace(source, error.expressionBeginOffset, error.expressionEndOffset, pane)\n\t\t\tpane.owner.setTitle('Error:' + urlString)\n\t\t\treturn pane\n\t\t}\n\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceId) {\n\t\t\tvar sourceReference = EvalSourceRegistry.current().sourceReference(error.sourceId);\n\t\t\tif (sourceReference !== undefined) {\n\t\t\t\tconsole.log('error ' + printObject(error))\n\t\t\t\tvar expressionBeginOffset = error.expressionBeginOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tvar expressionEndOffset = error.expressionEndOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tthis.showErrorDiaglogInWorkspace(sourceReference.sourceString, expressionBeginOffset, expressionEndOffset, pane)\n\t\t\t\tif (sourceReference.morph) {\n\t\t\t\t\tsourceReference.morph.showError(error, (sourceReference.offset || 0) - sourceReference.evalCodePrefixLength)\n\t\t\t\t}\n\n\t\t\t\treturn pane\n\t\t\t}\n\t\t} \n\n\t\tpane.innerMorph().setTextString(printObject(error))\t\n\t\treturn pane\n\t},\n\tshowErrorDiaglogInWorkspace: function(source, expressionBeginOffset, expressionEndOffset, pane) {\n\t\t// PRIVATE HELPER\n\t\tconsole.log(\"begin \" + expressionBeginOffset + \" end \" + expressionEndOffset)\n\t\tvar start = source.lastIndexOf(\"\\n\\n\", expressionBeginOffset)\n\t\tif (start == -1) start = 0;\n\t\tvar startOffset = expressionBeginOffset - start;\n\t\tvar stop = source.indexOf(\"\\n\", expressionEndOffset + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\n\t\tif (stop == -1) stop = source.length;\n\n\t\tconsole.log(\"source: \" + source + \"| \" + source.length+\" expressionEndOffset: \" + expressionEndOffset)\n\t\tvar excerpt = source.slice(start, stop)\n\t\tpane.innerMorph().setTextString(excerpt)\n\n\t\tpane.innerMorph().emphasizeFromTo({color: Color.red}, \n\t\t\tstartOffset, startOffset + expressionEndOffset - expressionBeginOffset);\n\t\tpane.innerMorph().replaceSelectionWith\n\t\tconsole.log(\"found excerpt: \" + excerpt + \" start: \" + start + \" stop:\" + stop)\n\t},\n},\n'new content', {\n \n\taddFramedMorph: function(morph, title, optLoc, optSuppressControls) {\n\t\tvar displ = pt(5, 5);\n\t\treturn this.addMorphAt(\n\t\t\tnew WindowMorph(morph, title, optSuppressControls), \n\t\t\toptLoc || this.positionForNewMorph(morph).subPt(displ));\n\t},\n\n\taddTextWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (Object.isString(spec.valueOf())) spec = {content: spec}; // convenience\n\t\tvar extent = spec.extent || pt(500, 200);\n\t\tvar pane = this.internalAddWindow(\n\t\t\t\tnewTextPane(extent.extentAsRectangle(), spec.content || \"\"),\n\t\t\t\tspec.title, spec.position);\n\t\tif (spec.acceptInput !== undefined) pane.innerMorph().acceptInput = spec.acceptInput;\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\taddTextListWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (spec instanceof Array) spec = {content: spec }; // convenience\n\t\tvar content = spec.content;\n\t\tif (!content) content = \"\";\n\t\tif (!(content instanceof Array)) content = [content];\n\t\tvar extent = spec.extent || pt(500, Math.min(300, content.length * TextMorph.prototype.fontSize * 1.5));\n\t\tvar rec = extent.extentAsRectangle();\n\t\tvar pane = this.internalAddWindow(newTextListPane(rec, content), spec.title, spec.position);\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\tinternalAddWindow: function(pane, titleSpec, posSpec) {\n\t\tvar pos = (posSpec instanceof Point) ? posSpec : undefined;\n\t\tpane.setBorderWidth(2); pane.setBorderColor(Color.black);\n\t\tvar win = this.addFramedMorph(pane, String(titleSpec || \"\"), pos || this.firstHand().position().subPt(pt(5, 5)));\n\t\tif (posSpec == \"center\") {\n\t\t\twin.align(win.bounds().center(), this.viewport().center());\n\t\t}\n\t\treturn pane;\n\t},\n\n\n\taddMorphFrontOrBack: function($super, m, front) {\n\t\tvar oldTop = this.topWindow();\n\t\tvar result = $super(m, front);\n\t\tif (!front || !(m instanceof WindowMorph)) return result;\n\t\t// if adding a new window on top, then make it active\n\t\tif (oldTop) oldTop.titleBar.highlight(false);\n\t\tm.takeHighlight();\n\t\treturn result;\n\t},\n\n\ttopWindow: function() {\n\t\tfor (var i= this.submorphs.length - 1; i >= 0; i--) {\n\t\t\tvar sub = this.submorphs[i];\n\t\t\tif (sub instanceof WindowMorph) return sub;\n\t\t}\n\t\treturn null;\n\t},\n\n\tpositionForNewMorph: function(newMorph, relatedMorph) {\n\t\t// this should be much smarter than the following:\n\t\tif (relatedMorph)\n\t\t\treturn relatedMorph.bounds().topLeft().addPt(pt(5, 0));\n\t\tvar pos = this.firstHand().getPosition();\n\t\tif (!newMorph) return pos;\n\t\tvar viewRect = this.windowBounds();\n\t\tvar newMorphBounds = pos.extent(newMorph.getExtent());\n\t\tif (viewRect.containsRect(newMorphBounds)) return pos;\n\t\treturn viewRect.center().subPt(newMorphBounds.extent().scaleBy(0.5));\n\t},\n\n\treactiveAddMorph: function(morph, relatedMorph) { \t// add morph in response to a user action, make it prominent\n\t\treturn this.addMorphAt(morph, this.positionForNewMorph(morph, relatedMorph));\n\t},\n \n resizeByUser: function() {\n var world = this;\n var cb = function(newSizePtLiteral) {\n \t try {\n \t var newPoint = eval(newSizePtLiteral);\n \t basicResize(world, world.canvas(), newPoint.x, newPoint.y);\n } catch(e) {\n \t world.alert('Wrong input ' + newSizePtLiteral);\n \t\t }\n \t};\n \tworld.prompt('Enter extent', cb, world.bounds().bottomRight().toString());\n },\n\n\taddProgressBar: function(optPt) {\n\t\tvar center = optPt || this.windowBounds().center()\n\t\tvar progressBar = new ProgressBarMorph(new Rectangle(0,0, 450, 30))\n\t\tthis.addMorph(progressBar);\n\t\tprogressBar.align(progressBar.bounds().center(), center);\n\t\tprogressBar.ignoreEvents();\n\t\treturn progressBar\n\t},\n}, \n'Requirements', {\n\t// this.world().showAddWorldRequirementsMenu(pt(100,100))\n\tshowAddWorldRequirementsMenu: function(pos) {\n\t\t\tvar ignoreModules = \"lively.Widgets lively.WikiWidget lively.Data lively.Base lively.defaultconfig lively.CanvasExpt lively.obsolete lively.Helper lively.miniprototype lively.demofx lively.Text lively.EmuDom lively.Core lively.bindings lively.rhino-compat lively.Tools lively.localconfig lively.Main lively.Network lively.scene lively.simpleMain lively.ChangeSet lively.ide\".split(\" \")\n\n\t\t\tvar items = ['apps', 'lively', 'Tests', 'draft']\n\t\t\t\t.select(function(ea){\n\t\t\t\t\treturn new WebResource(new URL(Config.codeBase).withFilename(ea)).exists()})\n\t\t\t\t.collect(function(eaDir) {\n\t\t\treturn [eaDir, ChangeSet.current()\n\t\t\t\t.moduleNamesInNamespace(eaDir)\n\t\t\t\t.sort()\n\t\t\t\t.reject(function(ea) { return ignoreModules.include(ea) })\n\t\t\t\t.collect(function(ea){ \n\t\t\t\t\treturn [ea, function(){\n\t\t\t\t\t\tmodule(ea).load();\n\t\t\t\t\t\tChangeSet.current().addWorldRequirement(ea);\n\t\t\t\t\t\tthis.alert(\"load \" + ea + \" module\")}\n\t\t\t\t]}\n\t\t\t)]\n\t\t});\n\n\t\tvar menu = new MenuMorph(items, this.world());\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"require module for this page\");\n\n\t},\n\t// this.world().showRemoveWorldRequirementsMenu(pt(100,100))\n\tshowRemoveWorldRequirementsMenu: function(pos) {\n\t\tvar pageModules = ChangeSet.current().getWorldRequirementsList().evaluate() \n\t\tvar items = pageModules\n\t\t\t.sort()\n\t\t\t.collect(function(ea){ \n\t\t\treturn [ea, function(){\n\t\t\t\tChangeSet.current().removeWorldRequirement(ea);\n\t\t\t\tthis.alert(\"remove \" + ea + \" module requirement\")}]\n\t\t})\n\t\tvar menu = new MenuMorph(items, this.world())\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"remove module requirement for this page\");\n\t}\n},\n'Feedback and Saving', {\n\n\tpromptAndSaveWorld: function(asJson) {\n\t\tthis.prompt(\"world file (.xhtml)\", function(filename) {\n\t\t\tif (!filename.endsWith('.xhtml')) filename += '.xhtml'\n\t\t\tvar start = new Date().getTime();\t\n\t\t\tif (asJson) this.saveWorldWithJSON(filename);\n\t\t\telse this.exportLinkedFile(filename);\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tthis.setStatusMessage(\"world save as \" + filename + \" in \" + time + \"ms\", Color.green, 3)\t\n\t\t}.bind(this)); \n\t},\n\n\tsaveWorldWithJSON: function(optURLOrPath) {\n\t\tvar world = this,\n\t\t\turl = optURLOrPath || URL.source,\n\t\t\tstart = new Date().getTime(),\n\t\t\tonFinished = function() {\n\t\t\t\tvar time = new Date().getTime() - start;\n\t\t\t\tworld.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + time + \"ms serialization)\", Color.green, 3)\n\t\t\t};\n\t\t\t\n\t\t\t\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\trequire(\"lively.SmartRefSerialization\").toRun(function() {\n\t\t\tif (world._statusMessageContainer) world._statusMessageContainer.remove();\n\t\t\tvar doc = ObjectGraphLinearizer.serializeWorld(world);\n\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t});\n\n\t\t\n\t\treturn url;\n\t},\n\t\n\tsaveWorld: function(optURLOrPath) {\n\t\tvar url = optURLOrPath || URL.source;\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\tvar start = new Date().getTime();\n\t\tvar self = this;\n\t\tvar serializeTime;\n\t\tvar onFinished = function() {\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tself.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + serializeTime + \"ms serialization)\", Color.green, 3)\n\t\t}\n\t\tvar statusMessage = WorldMorph.current().setStatusMessage(\"serializing....\");\n\t\t(function() {\n\t\t\tvar oldHand = this.firstHand();\n\t\t\tvar oldKeyboardFocus = oldHand.keyboardFocus;\n\t\t\tthis.removeHand(oldHand);\n\t\t\tvar doc;\n\t\t\tvar world = this;\n\t\t\ttry {\n\t\t\t\tdoc = Exporter.shrinkWrapMorph(this.world());\n\t\t\t\n\t\t\t} catch(e) {\n\t\t\t\tthis.setStatusMessage(\"Save failed due to:\\n\" + e, Color.red, 10, function() {\n\t\t\t\t\tworld.showErrorDialog(e)\n\t\t\t\t})\n\t\t\t} finally {\n\t\t\t\tthis.addHand(oldHand);\n\t\t\t\tconsole.log(\"setting back keyboard focus to\" + oldKeyboardFocus)\n\t\t\t\tif (oldKeyboardFocus)\n\t\t\t\t\toldKeyboardFocus.requestKeyboardFocus(oldHand);\n\t\t\t}\n\t\t\tnew DocLinkConverter(URL.codeBase, url.getDirectory()).convert(doc);\t\t\t\n\t\t\tstatusMessage.remove();\n\t\t\t(function removeJSONIfPresent() {\n\t\t\t\tvar jsonEl = doc.getElementById('LivelyJSONWorld');\n\t\t\t\tif (jsonEl) jsonEl.parentNode.removeChild(jsonEl);\n\t\t\t})()\n\t\t\tserializeTime = new Date().getTime() - start;\n\t\t\t(function() {\n\t\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t\t}).bind(this).delay(0);\n\t\t}).bind(this).delay(0);\n\t\treturn url;\n\t},\n\n\twindowBounds: function () {\n\t\tvar canvas = this.canvas();\n\t\tvar scale = 1/this.world().getScale();\n\t\tvar topLeft = pt(Global.pageXOffset - canvas.offsetLeft, Global.pageYOffset - canvas.offsetTop);\n\t\tvar width = Math.min(\n\t\t\tGlobal.document.documentElement.clientWidth * scale,\n\t\t\tWorldMorph.current().getExtent().x);\n\t\tvar height = Math.min(\n\t\t\tGlobal.document.documentElement.clientHeight * scale,\n\t\t\tWorldMorph.current().getExtent().y)\n\t\treturn topLeft.scaleBy(scale).extent(pt(width, height));\n\t},\n\t\n\tvisibleBounds: function() {\n\t\tvar windowBounds = this.windowBounds();\n\t\tvar worldBounds = this.shape.bounds(); // use shape so no stick-outs are included\n\t\tvar upperLeft = pt(Math.max(windowBounds.x, worldBounds.x), Math.max(windowBounds.y, worldBounds.y));\n\t\tvar lowerRight = pt(Math.min(windowBounds.width, worldBounds.width), Math.min(windowBounds.height, worldBounds.height));\n\t\treturn upperLeft.extent(lowerRight);\n\t},\n\n\tensureStatusMessageContainer: function() {\n\t\tif (!this._statusMessageContainer || ! this._statusMessageContainer.owner) {\n\t\t\tthis._statusMessageContainer = new StatusMessageContainer();\n\t\t\tthis._statusMessageContainer.setName(\"statusMorphContainer\");\n\t\t\tthis.addMorph(this._statusMessageContainer);\n\t\t\tthis._statusMessageContainer.startUpdate();\n\t\t};\n\t\treturn this._statusMessageContainer\n\t},\n\n\tsetStatusMessage: function(msg, color, delay, callback, optStyle, messageKind) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\treturn container.addStatusMessage(msg, color, delay, callback, optStyle, messageKind);\n\t},\t\n\n\tshowStatusProgress: function(msg) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\tvar progressBar = container.addProgressBar(msg);\t\t\n\t\treturn progressBar\n\t},\n\t\n\taskForWorldTitle: function() {\n\t\tvar self = this;\n\t\tthis.prompt('new world title', function(input) {\n\t\t\tdocument.title = input;\n\t\t}, document.title);\n\t},\n},\n/**\n *\tWorldMorph Menu \n *\n * Question: Should features register itself in the menu, \n * or should the menu give an overview of available features \n * and load the modules on demand?\n */\n'Menus ', {\n\tisProtectedWorld: function() {\n\t\treturn Global.URL && (URL.source.filename() == \"index.xhtml\")\n\t},\n\t\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.keepOnlyItemsNamed([\"inspect\", \"edit style\"]);\n\t\tmenu.addItems([['reset scale', function(evt) { var w = evt.hand.world(); w.setScale(1); w.resizeCanvasToFitWorld() }]]);\n\t\tmenu.addLine();\n\t\tmenu.addItems(this.subMenuItems(evt));\n\t\tmenu.addLine();\n\t\tmenu.addItems([\n\t\t\t[\"New subworld (LinkMorph)\", function(evt) { evt.hand.world().addMorph(new LinkMorph(null, evt.point()));}], \n\t\t\t[\"External link\", function(evt) { evt.hand.world().addMorph(new ExternalLinkMorph(URL.source, evt.point()));}],\n\t\t\t[\"authenticate for write access\", function() {\n\t\t\t\tnew NetRequest().put(URL.source.withFilename('auth'));\n\t\t\t\t// sometimes the wikiBtn seems to break after an authenticate\n\t\t\t\tif (Config.showWikiNavigator) WikiNavigator.enableWikiNavigator(true); }],\n\t\t\t[\"publish world as ... (XML)\", function() { this.promptAndSaveWorld() }],\n\t\t\t[\"publish world as ... (JSON)\", function() { this.promptAndSaveWorld(true/*asJson*/) }],\n\t\t]);\n\t\tif (! this.isProtectedWorld()) { // Global. avoids an error if Network.js not loaded\n\t\t\t// save but only if it's not the startup world\n\t\t\tmenu.addItem([\"save world (XML)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorld();\n\t\t\t}]);\n\t\t\tmenu.addItem([\"save world (JSON)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t}]);\n\t\t}\n\t\tif(Config.debugExtras) {\n\t\t\tmenu.addItem([\"arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }]);\n\t\t\tmenu.addItem([\"arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }]);\n\t\t}\n\t\tmenu.addItem([\"resize world\", this.resizeByUser]);\n\t\tmenu.addItem([\"restart system\", this.restart]);\n\t\treturn menu;\n\t},\n\t\n\tsimpleMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"Line\", function(evt) { \n\t\t\t\tvar p = evt.point(); \n\t\t\t\tvar m = Morph.makeLine([p, p.addXY(60, 30)], 2, Color.black);\n\t\t\t\tworld.addMorph(m);\n\t\t\t\tm.setPosition(evt.point())}],\n\t\t\t[\"Connector\", function(evt) { \n\t\t\t\trequire('lively.Connector').toRun(function() {\n\t\t\t\t\tvar m = Morph.makeConnector(evt.point())\n\t\t\t\t\tworld.addMorph(m);\n\t\t\t\t\tm.setGlobalEndPos(evt.point().addXY(60, 30))\n\t\t\t\t})}],\n\t\t\t[\"Rectangle\", function(evt) { world.addMorph(Morph.makeRectangle(evt.point(), pt(60, 30)));}],\n\t\t\t[\"Ellipse\", function(evt) { world.addMorph(Morph.makeCircle(evt.point(), 25)); }],\n\t\t\t[\"TextMorph\", function(evt) { \n\t\t\t\tvar text = new TextMorph(evt.point().extent(pt(120, 10)), \"This is a TextMorph\");\n\t\t\t\tworld.addMorph(text);}],\n\t\t\t[\"Star\",function(evt) { world.addMorph(Morph.makeStar(evt.point()))}],\n\t\t\t[\"Heart\", function(evt) { world.addMorph(Morph.makeHeart(evt.point()))}],\n\t\t\t[\"Marker\", function(evt) {world.addMorph(new MarkerMorph(evt.point().extent(pt(100, 100))))}]\n\t\t];\n\t},\n\n\tcomplexMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"SliderMorph\", function(evt) { world.addMorph(Widget.makeSlider(evt.point().extent(pt(120, 40))))}],\n\t\t\t[\"ButtonMorph\", function(evt) { world.addMorph(new ScriptableButtonMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ProgressBarMorph\", function(evt) { world.addMorph(new ProgressBarMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ScaleMorph\", function(evt) { world.addMorph(new ScaleMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"Clock\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = world.addMorph(new ClockMorph(evt.point(), 50));\n\t\t\t\t\tm.startSteppingScripts();\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.Examples')\n\t\t\t\t})}],\n\t\t\t[\"FabrikClock\", function(evt) {\n\t\t\t\trequire('lively.Fabrik').toRun(function() {\n\t\t\t\t\tvar clock = new FabrikClockWidget();\n\t\t\t\t\tvar morph = clock.buildView();\n\t\t\t\t\tworld.addMorph(morph);\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t\tmorph.startSteppingScripts(); }); }],\n\t\t\t[\"Text Window\", function(evt) { \n\t\t\t\tWorldMorph.current().addTextWindow(\"Editable text\"); }],\n\t\t\t[\"Piano Keyboard\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = new PianoKeyboard(evt.point());\n\t\t\t\t\tm.scaleBy(1.5);\t m.rotateBy(-Math.PI*2/12);\n\t\t\t\t\tworld.addMorph(m); }); }],\n\t\t\t[\"Kaleidoscope\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar kal = WorldMorph.current().addMorph(new SymmetryMorph(300, 7)); \n\t\t\t\t\tkal.startUp(); }) } ],\n\t\t\t[\"Image Morph\", function(evt) {\n\t\t\t\tworld.prompt('Enter image URL', function(urlString) {\n\t\t\t\t\tvar img = new ImageMorph(evt.point().extent(pt(100,100)), urlString);\n\t\t\t\t\timg.openInWorld() }) }],\n\t\t\t[\"Video Morph\", function(evt) {\n\t\t\t\tVideoMorph.openAndInteractivelyEmbed(evt.point()) }],\n\t\t\t[\"Layout Demo\", function(evt) {\n\t\t\t\trequire('lively.GridLayout').toRun(function() {\n\t\t\t\t\tGridLayoutMorph.demo(evt.hand.world(), evt.point()); }); }],\n\t\t\t[\"Effects demo (FF only)\", function(evt) { require('lively.demofx').toRun(Functions.Empty); }],\n\t\t\t[\"PresentationPage\", function(evt) { \n\t\t\t\trequire('lively.Presentation').toRun(function(){\n\t\t\t\t\tworld.addMorph(new lively.Presentation.PageMorph(new Rectangle(0,0,800,600)))\n\t\t\t\t}); \n\t\t\t}],\n\t\t\t// [\"Duplicator Panel\", function(evt) { \n\t\t\t// \trequire('lively.Graffle').toRun(function(){\n\t\t\t// \t\tworld.addMorph(Morph.makeDefaultDuplicatorPanel(evt.point()))\n\t\t\t// \t}); \n\t\t\t// }], \n\t\t\t[\"FileUpload Morph\", function(evt) { \n\t\t\t\trequire('lively.FileUploadWidget').toRun(function(){\n\t\t\t\t\tvar morph = new FileUploadMorph();\n\t\t\t\t\tworld.addMorph(morph)\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t}); \n\t\t\t}],\n\t\t];\n\t},\n\t\n\ttoolSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\tvar toolMenuItems = [\n//\t\t\t[\"Class Browser\", function(evt) { new SimpleBrowser().openIn(world, evt.point()); }],\n\t\t\t[\"System code browser (b)\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.SystemBrowser().openIn(world)})}],\n\t\t\t[\"Local code Browser\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.LocalCodeBrowser().openIn(world)})}],\n\t\t\t[\"Wiki code Browser\", function(evt) { require('lively.ide', 'lively.LKWiki').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tvar repo = new URL(input);\n\t\t\t\t\tnew ide.WikiCodeBrowser(repo).open()\n\t\t\t\t};\n\t\t\t\tworld.prompt('Wiki base URL?', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\n\t\t\t[\"Switch System browser directory...\", function(evt) { require('lively.ide').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tif (!input.endsWith('/')) input += '/';\n\t\t\t\t\tide.startSourceControl().switchCodeBase(new URL(input));\n\t\t\t\t};\n\t\t\t\tworld.prompt('Enter System browser directory (URL)', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\t\t\t\t\n\t\t\t[\"File Browser\", function(evt) { new FileBrowser().openIn(world) }],\n\t\t\t[\"Object Hierarchy Browser\", function(evt) { new ObjectBrowser().openIn(world); }],\t\n\t\t\t[\"Enable profiling\", function() {\n\t\t\t\t\tConfig.debugExtras = true;\n\t\t\t\t\tlively.lang.Execution.installStackTracers(); }],\n\t\t\t[\"Console (l)\", function(evt) {world.addFramedMorph(new ConsoleWidget(50).buildView(pt(800, 100)), \"Console\"); }],\n\t\t\t[\"TestRunner\", function(evt) { require('lively.TestFramework').toRun(function() { new TestRunner().openIn(world) }) }],\n\t\t\t[\"OMetaWorkspace\", function(evt) { require('lively.Ometa').toRun(function() { new OmetaWorkspace().open() }) }],\n\t\t\t[\"Call Stack Viewer\", function(evt) { \n\t\t\tif (Config.debugExtras) lively.lang.Execution.showStack(\"use viewer\");\n\t\t\telse new StackViewer(this).openIn(world); }],\t \n\t\t\t[\"FrameRateMorph\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new FrameRateMorph(evt.point().extent(pt(160, 10)), \"FrameRateMorph\"));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"EllipseMaker\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new EllipseMakerMorph(evt.point()));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"XHTML Browser\", function(evt) { \n\t\t\t\tvar xeno = new XenoBrowserWidget('sample.xhtml');\n\t\t\t\txeno.openIn(world); }],\n\t\t\t[\"Viewer for latest file changes\", function(evt) {\n\t\t\tvar cb = function(input) {\n\t\t\t\trequire('lively.LKWiki').toRun(function(u,m) {\n\t\t\t\t\tvar url = new URL(input);\n\t\t\t\t\tconsole.log(url);\n\t\t\t\t\tnew LatestWikiChangesList(url).openIn(world);\n\t\t\t}); }\n\t\t\t\tworld.prompt('Url to observe', cb, URL.source.getDirectory().toString()); \n\t\t\t}],\n\t\t\t[\"Version Viewer\", function(evt) {\n\t\t\t\trequire('lively.ide').toRun(function() {\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.ide');\n\t\t\t\t\tnew lively.ide.FileVersionViewer().openForURL(URL.source);\n\t\t\t\t});\n\t\t\t}],\n\t\t\t[\"MiniMap\", function(evt) {\n\t\t\t\tvar map = new MiniMapMorph();\n\t\t\t\tmap.name = 'MiniMap';\n\t\t\t\tmap.openInWorld();\n\t\t\t\tmap.setTargetWorld(world);\n\t\t\t\tmap.startSteppingScripts()\n\t\t\t}],\t\t\t\n\t\t];\n\n\t\tif (Config.debugExtras) { var index = -1;\n\t\t\tfor (var i=0; i= 0) \n\t\t\t\t\ttoolMenuItems.splice(index, 1,\n\t\t\t\t\t\t[\"-----\"],\n\t\t\t\t\t\t[\"Profiling help\", function(evt) { this.openURLasText( URL.common.project.withRelativePath(\n\t\t\t\t\t\t\t\"/trac/wiki/ProfilingHelp?format=txt\"), \"Profiling help\"); }],\n\t\t\t\t\t\t[\"Arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }],\n\t\t\t\t\t\t[\"Arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }],\n\t\t\t\t\t\t[\"Disable profiling\", function() {\n\t\t\t\t\t\t\tConfig.debugExtras = false;\n\t\t\t\t\t\t\tlively.lang.Execution.installStackTracers(\"uninstall\");\t }],\n\t\t\t\t\t\t[\"-----\"]);\n\t\t};\n\t\treturn toolMenuItems\n\t},\n\n\tscriptingSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"TileScriptingBox\", function(evt) { require('lively.TileScripting').toRun(function() {new lively.TileScripting.TileBox().openIn(world); }) }],\n\t\t\t[\"Fabrik Component Box\", function(evt) { require('lively.Fabrik').toRun(function() { Fabrik.openComponentBox(world); }) }],\n\t\t\t[\"Webcards with name\", function(evt) { require('apps.Webcards').toRun(function(){\n\t\t\t\t\tvar sds = new SimpleDataStore(pt(600, 300));\n\t\t\t\t\tworld.prompt(\"Name of stack:\", sds.openStackWithName.bind(sds));\n\t\t\t\t\tworld.addFramedMorph(sds, 'WebCards', pt(333, 222));\n\t\t\t\t}); \n\t\t\t}],\n \n\t\t];\n\t},\n\n\tpreferencesSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[(Config.usePieMenus ? \"don't \" : \"\") + \"use pie menus\",\n\t\t\t\t\t function() { Config.usePieMenus = !Config.usePieMenus; }],\n\t\t\t[\"choose display theme...\", this.chooseDisplayTheme],\n\t\t\t[(Morph.prototype.suppressBalloonHelp ? \"enable balloon help\" : \"disable balloon help\"),\n\t\t\t\t\t this.toggleBalloonHelp],\n\t\t\t[(HandMorph.prototype.useShadowMorphs ? \"don't \" : \"\") + \"show drop shadows\",\n\t\t\t function () { HandMorph.prototype.useShadowMorphs = !HandMorph.prototype.useShadowMorphs}],\n\t\t\t[(Config.showGrabHalo ? \"don't \" : \"\") + \"show bounds halos\",\n\t\t\t function () { Config.showGrabHalo = !Config.showGrabHalo}],\n\t\t\t[HandMorph.prototype.applyDropShadowFilter ? \"don't use filter shadows\" : \"use filter shadows (if supported)\",\n\t\t\t function () { HandMorph.prototype.applyDropShadowFilter = !HandMorph.prototype.applyDropShadowFilter}],\n\t\t\t[(Config.useDebugBackground ? \"use normal background\" : \"use debug background\"),\n\t\t\t\t\t this.toggleDebugBackground],\n\t\t\t[(Config.isSnappingToGrid ? \"[X]\": \"[]\") + \" snap to grid\",\n\t\t\t\t\t\t function(){Config.isSnappingToGrid = !Config.isSnappingToGrid}],\n\t\t\t[\"change title\", this, 'askForWorldTitle'],\n\t\t\t[\"add module requirements...\",\n\t\t\t\t function(){this.showAddWorldRequirementsMenu(evt.mousePoint)}],\n\t\t\t[\"remove module requirements...\",\n\t\t\t\t function(){this.showRemoveWorldRequirementsMenu(evt.mousePoint)}]\n\t\t];\n\t},\n\t\n\n\thelpSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn\t[\n\t\t\t[\"Connect documentation\", function(evt) {\n\t\t\t\trequire('lively.bindings').toRun(function() {\n\t\t\t\t\tworld.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/ConnectHelp?format=txt\"), \"Connect documentation\");\n\t\t\t\t})\n\t\t\t}],\n\t\t\t[\"Command key help\", function(evt) {\n\t\t\t\tthis.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/CommandKeyHelp?format=txt\"), \"Command key help\"); }]\n\t\t];\n\t},\n\t\n\tsubMenuItems: function(evt) {\n\t\t//console.log(\"mouse point == %s\", evt.mousePoint);\n\t\treturn [\n\t\t\t['Simple morphs', this.simpleMorphsSubMenuItems(evt)],\n\t\t\t['Complex morphs', this.complexMorphsSubMenuItems(evt)],\n\t\t\t['Tools', this.toolSubMenuItems(evt)],\n\t\t\t['Scripting', this.scriptingSubMenuItems(evt)],\n\t\t\t['Preferences', this.preferencesSubMenuItems(evt)],\n\t\t\t['Help', this.helpSubMenuItems(evt)]];\n\t},\n\t\n\tshowPieMenu: function(evt) {\n\t\tvar beTouchFn;\n\t\tif (UserAgent.isTouch) {\n\t\t\tif (Config.touchBeMouse) {\n\t\t\t\t// If we were in mouse mode; switch back to touch\n\t\t\t\tbeTouchFn = function(e) {\n\t\t\t\t\t//ClipboardHack.ensurePasteBuffer().blur();\n\t\t\t\t\tConfig.touchBeMouse = false; // currently not used\n\t\t\t\t\t// evt.hand.lookTouchy()\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Otherwise, switch to mouse mode now (we just clicked in world)\n\t\t\t\t// ClipboardHack.ensurePasteBuffer().focus();\n\t\t\t\tConfig.touchBeMouse = true; // currently not used\n\t\t\t\t// evt.hand.lookNormal()\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tvar menu, targetMorph = this;\n\t\tvar items = [\n\t\t\t['make selection ([NE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SW])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t((UserAgent.isTouch) ? ['use touch ((O))', beTouchFn]\n\t\t\t\t: ['make selection ([NW])', function(evt) { targetMorph.makeSelection(evt); }])\n\t\t\t];\n\t\tmenu = new PieMenuMorph(items, this, 0, beTouchFn);\n\t\tmenu.open(evt);\n\t}\n \n},\n'Copy And Paste (Private)',{\n\t/* Actions */\n\t\n\t\n\t\n\tpastePosition: function() {\n\t\tvar pos = this.hands.first().lastMouseDownPoint;\n\t\tif (!pos || pos.eqPt(pt(0,0)))\n\t\t\tpos = this.hands.first().getPosition();\n\t\treturn pos\n\t},\n\t\n\t\n\t\n\t// similarities to Fabrik >> pasteComponentFromXMLStringIntoFabrik\n\t// TODO refactor\n\tpasteFromSource: function(source){\n\t\tvar copier = new ClipboardCopier();\n\t\tcopier.pastePosition = this.pastePosition();\n\t\tcopier.pasteMorphsFromSource(source, this.pasteDestinationMorph());\n\t},\n\t\n\tcopySelectionAsXMLString: function() {\n\t\tif (!this.currentSelection) {\n\t\t\tconsole.log(\"WorldMorph: don't know what to copy\")\n\t\t\treturn\n\t\t}\n\t\tvar selectedMorphs = this.currentSelection.selectedMorphs\n\t\tif (selectedMorphs.length == 0) {\n\t\t\tconsole.log(\"WorldMorph: selection is empty\")\n\t\t\treturn \n\t\t};\n\t\treturn new ClipboardCopier().copyMorphsAsXMLString(selectedMorphs)\n\t},\n\n\tpasteDestinationMorph: function() {\n\t\treturn this;\n\t},\n\t\n\t\n},\n'Keyboard Events',{\n\n\ttakesKeyboardFocus: Functions.True,\n\t\n\tonKeyDown: function(evt) {\n\t\t// console.log(\"WorldMorph onKeyDown \" + this + \" --- \" + evt + \" char: \" + evt.getKeyChar() )\n\t\tvar key = evt.getKeyChar().toLowerCase();\n\t\tif (evt.isCommandKey() && evt.isShiftDown()) {\n\t\t\tif (key == 'f') {\n\t\t\t\tvar world = this;\n\t\t\t\trequire('lively.ide').toRun(function(unused, ide) {\n\t\t\t\t\tworld.prompt(\"browse references in source\", function(whatToSearch) {\n\t\t\t\t\t\tide.startSourceControl().browseReferencesTo(whatToSearch);\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\tif (key == 'b') {\n\t\t\t\t// for safari where without shift is blocked\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tif (evt.isCommandKey() && !evt.isShiftDown()) {\n\t\t\tif (key == 'b') {\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'l') { // (L)ogger\n\t\t\t\tnew ConsoleWidget().open();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'k') { // Workspace\n\t\t\t\tthis.addTextWindow(\"Workspace\");\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 's') { // save\n\t\t\t\tif (!this.isProtectedWorld()) {\n\t\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t\t} else {\n\t\t\t\t\tthis.setStatusMessage(\"Warning: Did not save world, because it is protected!\", Color.red, 3)\n\t\t\t\t}\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\n\t\t\t}\n\t\t}\n\t\treturn ClipboardHack.tryClipboardAction(evt, this);\n\t},\n\t\n\tonKeyPress: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyPress \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false;\n\t},\n\n\tonKeyUp: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyUp \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false\n\t},\n},\n'Commands',{\n\n\tdoCopy: function() {\n\t\tvar source = this.copySelectionAsXMLString();\n\t\tTextMorph.clipboardString = source;\n\t},\n\t\n\tdoPaste: function() {\n\t\tif (TextMorph.clipboardString) {\n\t\t\t// console.log(\"paste morphs...\")\n\t\t\tthis.pasteFromSource(TextMorph.clipboardString);\n\t\t}\n\t},\n\t\n\tdoCut: function() {\n\t\tconsole.log(\"cut selection\")\n\t\tthis.doCopy();\n \t\tif (this.currentSelection) \n\t\t\tthis.currentSelection.remove();\n\t},\n},\n'local code', {\n\tgetChangeSet: function() {\n\t\treturn ChangeSet.fromWorld(this);\n\t},\n\tsetChangeSet: function(cs) {\n\t\tcs.addHookTo(cs.findOrCreateDefNodeOfWorld(this.rawNode));\n\t},\n\n\tgetCodeNode: function() {\n\t\tvar codeElement = Query.find('./svg:defs/*[local-name()=\"code\"]', this.rawNode);\n\t\treturn codeElement;\n\t},\n\treplaceCodeNode: function(newCodeNode) {\n\t\tthis.getDefsNode().replaceChild(this.getCodeNode(), newCodeNode);\n\t\treturn newCodeNode;\n\t},\n\n\n\n})\n\n\nObject.extend(WorldMorph, { \n worldCount: 0,\n \n currentWorld: null,\n \n current: function() {\n return WorldMorph.currentWorld;\n }\n});\n\n\n\n/**\n * @class HandMorph\n * Since there may be multiple users manipulating a Morphic world\n * simultaneously, we do not want to use the default system cursor. \n */ \n\nMorph.subclass(\"HandMorph\", \n'default properties', { \n documentation: \"Defines a visual representation for the user's cursor.\",\n applyDropShadowFilter: !!Config.useDropShadow,\n dropShadowFilter: \"url(#DropShadowFilter)\",\n useShadowMorphs: Config.useShadowMorphs,\n\n shadowOffset: pt(5,5),\n handleOnCapture: false,\n logDnD: Config.logDnD,\n grabHaloLabelStyle: {fontSize: Math.floor((Config.defaultFontSize || 12) *0.85), padding: Rectangle.inset(0)},\n\n},\n'Basic',{\n initialize: function($super, local) {\n $super(new lively.scene.Polygon([pt(0,0), pt(10, 8), pt(4,9), pt(8,16), pt(4,9), pt(0, 12)]));\n\t\tthis.applyStyle({fill: local ? Color.primary.blue : Color.primary.red, borderColor: Color.black, borderWidth: 1});\n\t\n this.isLocal = local;\n\n this.keyboardFocus = null;\n this.mouseFocus = null;\n\t\tthis.mouseFocusChanges_ = 0; // count mouse focus changes until reset\n this.mouseOverMorph = null;\n this.lastMouseEvent = null;\n this.lastMouseDownPoint = pt(0,0);\n this.lastMouseDownEvent = null;\n this.hasMovedSignificantly = false;\n this.grabInfo = null;\n \n this.mouseButtonPressed = false;\n\n this.keyboardFocus = null; \n\n this.priorPoint = null;\n this.owner = null;\n\t\tthis.boundMorph = null; // surrounds bounds\n\t\tthis.layoutChangedCount = 0; // to prevent recursion on layoutChanged\n return this;\n },\n\n\tid: function() {\n\t\tif (!this.rawNode) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.rawNode.getAttribute(\"id\");\n\t},\n\n world: function() {\n return this.owner;\n },\n},\n'Looks',{\n\n lookNormal: function(morph) {\n this.shape.setVertices([pt(0,0), pt(10, 8), pt(4,9), pt(8,16), pt(4,9), pt(0, 12)]);\n },\n\t\n\tlookTouchy: function(morph) {\n\t\t// Make the cursor look polygonal to indicate touch events go to pan/zoom\n\t\tvar n = 5, r = 10, theta = 2*Math.PI/n;\n\t\tvar verts = [0, 1, 2, 3, 4, 0].map(function(i) { return Point.polar(r, i*theta).addXY(20,0) });\n\t\tthis.shape.setVertices(verts);\n },\n\n\n lookLinky: function(morph) {\n this.shape.setVertices([pt(0,0), pt(18,10), pt(10,18), pt(0,0)]);\n },\n\n\tlookLikeAnUpDownArrow: function() {\n\t\t// /\\\n\t\t// /_ _\\\n\t\t// _||_\n\t\t// \\ /\n\t\t// \\/\n\t\tvar verts = [\n\t\t\tpt(8.0,0.0), pt(16.0,8.0), pt(12.0,8.0), pt(12.0,16.0), pt(16.0,16.0),\n\t\t\tpt(8.0,24.0), pt(0.0,16.0), pt(4.0,16.0), pt(4.0,8.0), pt(0.0,8.0)\n\t\t];\n\t\tthis.shape.setVertices(verts);\n\t},\n},\n'Event Registering',{\n\taddOrRemoveEvents: function(morphOrNode, eventNames, isRemove) {\n\t\tvar node = morphOrNode.rawNode || morphOrNode;\n\t\tvar selector = isRemove ? 'removeEventListener' : 'addEventListener';\n\t\teventNames.forEach(function(name) { \n node[selector](name, this, this.handleOnCapture);\n\t\t}, this);\n\t},\n\t\n registerForEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.basicInputEvents);\n },\n\n unregisterForEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.basicInputEvents, true);\n },\n \n registerForKeyboardEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.keyboardEvents);\n },\n\n unregisterForKeyboardEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.keyboardEvents, true);\n },\n\n},\n'Focus',{\n resetMouseFocusChanges: function() {\n\t\tvar result = this.mouseFocusChanges_;\n\t\tthis.mouseFocusChanges_ = 0;\n\t\treturn result;\n },\n\n setMouseFocus: function(morphOrNull) {\n //console.log('setMouseFocus: ' + morphOrNull);\n\t\tthis.mouseFocus = morphOrNull;\n\t\t// this.setFill(this.mouseFocus ? Color.primary.blue.lighter(2) : Color.primary.blue);\n\t\tthis.mouseFocusChanges_ ++;\n },\n \n setKeyboardFocus: function(morphOrNull) {\n if (this.keyboardFocus === morphOrNull) return;\n\n if (this.keyboardFocus != null) {\n // console.log('blur %s', this.keyboardFocus);\n this.keyboardFocus.onBlur(this);\n this.keyboardFocus.setHasKeyboardFocus(false);\n }\n \n this.keyboardFocus = morphOrNull; \n \n if (this.keyboardFocus) {\n this.keyboardFocus.onFocus(this);\n }\n },\n \n},\n'Event Handling',{\n\t// this is the DOM Event callback\n\thandleEvent: function HandMorph$handleEvent(rawEvt) {\n\t\tvar evt = new Event(rawEvt);\n\t\t// for mutliple worlds since keyboard events can only be registered for entire documentElement\n\t\tif (rawEvt.world && rawEvt.world != this.world())\n\t\t\treturn evt;\n\t\trawEvt.world = this.world();\n\t\tevt.setCanvas(this.canvas());\n\t\tevt.hand = this;\n\t\t//if(Config.showLivelyConsole) console.log(\"event type = \" + rawEvt.type + \", platform = \" + window.navigator.platform);\n\n\t\tlively.lang.Execution.resetDebuggingStack();\n\t\tswitch (evt.type) {\n\t\t\tcase \"MouseWheel\":\n\t\t\tcase \"MouseMove\":\n\t\t\tcase \"MouseDown\":\n\t\t\tcase \"MouseUp\":\n\t\t\t\tthis.handleMouseEvent(evt);\n\t\t\t\tbreak;\n\t\t\tcase \"KeyDown\":\n\t\t\tcase \"KeyPress\": \n\t\t\tcase \"KeyUp\":\n\t\t\t\tthis.handleKeyboardEvent(evt);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.log(\"unknown event type \" + evt.type);\n\t\t}\n\t\tevt.stopPropagation();\n\t\treturn evt; // for touch development FIXME remove\n\t}.logErrors('Event Handler'),\n\n armProfileFor: function(evtType) { \n\t\tthis.profileArmed = evtType; // either \"MouseDown\" or \"MouseUp\"\n },\n\n\tmakeANullMove: function() {\n\t\t// Process a null mouseMove event -- no change in x, y\n\t\t// Allows simulations to respond where, eg, a morph moves under the mouse\n\t\t// Note: Fabrik generates also Mouse events with newFakeMouseEvent; to be merged\n\t\tvar last = this.lastMouseEvent;\n\t\tif (!last) return;\n\t\tvar nullMove = new Event(last.rawEvent);\n\t\tnullMove.type = \"MouseMove\";\n\t\tnullMove.hand = this;\n\t\t// console.log(\"last = \" + Object.inspect(this.lastMouseEvent));\n\t\t// console.log(\"null = \" + Object.inspect(nullMove));\n\t\tthis.reallyHandleMouseEvent(nullMove);\n\t\tthis.lastMouseEvent = last; // Restore -- necess??\n\t},\n\n\thandleMouseEvent: function HandMorph$handleMouseEvent(evt) {\n\t\tif(!Config.debugExtras || !this.profileArmed || this.profileArmed != evt.type) {\n\t\t\t// Profile not armed or event doesnt match\n\t\t\treturn this.reallyHandleMouseEvent(evt);\n\t\t}\n\t\t// Run profile during handling of this event\n\t\tthis.profileArmed = null; // Only this once\n\t\tvar result;\n\t\tlively.lang.Execution.trace(function() { result = this.reallyHandleMouseEvent(evt) }.bind(this), this.profilingOptions );\n\t\treturn result;\n\t},\n\n\treallyHandleMouseEvent: function HandMorph$reallyHandleMouseEvent(evt) { \n\t\t// console.log(\"reallyHandleMouseEvent \" + evt + \" focus \" + this.mouseFocus);\n\t\t// var rawPosition = evt.mousePoint;\n\t\tvar world = this.owner;\n\t\tevt.mousePoint = evt.mousePoint.matrixTransform(world.getTransform().createInverse()); // for scaling\n\t\tevt.setButtonPressedAndPriorPoint(this.mouseButtonPressed, \n\t\t\t\t\t this.lastMouseEvent ? this.lastMouseEvent.mousePoint : null);\n\t\t//-------------\n\t\t// mouse move\n\t\t//-------------\n\t\tif (evt.type == \"MouseMove\" || evt.type == \"MouseWheel\") { // it is just a move\n\t\t\tthis.setPosition(evt.mousePoint);\n\t\t\t\n\t\t\tif(evt.isShiftDown())\n\t\t\t\tthis.alignToGrid();\n\t\t\t\n\t\t\tthis.updateGrabHalo();\n\t\t\t\n\t\t\tif (evt.mousePoint.dist(this.lastMouseDownPoint) > 10) { \n\t\t\t\tthis.hasMovedSignificantly = true;\n\t\t\t}\n\t\t\t\n\t\t\tif (this.mouseFocus) { // if mouseFocus is set, events go to that morph\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t} else if (world) {\n\t\t\t\tvar receiver = world.morphToReceiveEvent(evt);\n\t\t\t\t// console.log(\"found receiver: \" + receiver)\n\t\t\t\tif (this.checkMouseOverAndOut(receiver, evt)) {\t // mouseOverMorph has changed...\n\t\t\t\t\tif (!receiver || !receiver.canvas()) return false;\t// prevent errors after world-switch\n\t\t\t\t\t// Note if onMouseOver sets focus, it will get onMouseMove\n\t\t\t\t\tif (this.mouseFocus) this.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t\t\telse if (!evt.hand.hasSubmorphs()) world.captureMouseEvent(evt, false); \n\t\t\t\t} else if (receiver) receiver.captureMouseEvent(evt, false);\n\t\t\t}\n\t\t\tthis.lastMouseEvent = evt;\n\t\t\treturn true;\n\t\t} \n\n\t\n\t\t//-------------------\n\t\t// mouse up or down\n\t\t//-------------------\n\t\tif (!evt.mousePoint.eqPt(this.position())) { // Only happens in some OSes\n\t\t\t// and when window wake-up click hits a morph\n\t\t\tthis.moveBy(evt.mousePoint.subPt(this.position())); \n\t\t}\n\n\t\tthis.mouseButtonPressed = (evt.type == \"MouseDown\"); \n\t\tthis.setBorderWidth(this.mouseButtonPressed ? 2 : 1);\n\t\tevt.setButtonPressedAndPriorPoint(this.mouseButtonPressed, this.lastMouseEvent ? this.lastMouseEvent.mousePoint : null);\n\t\n\t\tif (this.mouseFocus != null) {\n\t\t\tif (this.mouseButtonPressed) {\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t\tthis.lastMouseDownPoint = evt.mousePoint; \n\t\t\t} else {\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.hasSubmorphs() && (evt.type == \"MouseDown\" || this.hasMovedSignificantly)) {\n\t\t\t\t// If laden, then drop on mouse up or down\n\t\t\t\tvar m = this.topSubmorph();\n\t\t\t\tvar receiver = world.morphToGrabOrReceiveDroppingMorph(evt, m);\n\t\t\t\t// For now, failed drops go to world; later maybe put them back?\n\t\t\t\tthis.dropMorphsOn(receiver || world);\n\t\t\t} else {\n\t\t\t\t// console.log(\"hand dispatching event %s to owner %s\", evt, this.owner);\n\t\t\t\t// This will tell the world to send the event to the right morph\n\t\t\t\t// We do not dispatch mouseup the same way -- only if focus gets set on mousedown\n\t\t\t\tif (evt.type == \"MouseDown\") world.captureMouseEvent(evt, false);\n\t\t\t}\n\t\t\tif (evt.type == \"MouseDown\") {\n\t\t\t\tthis.lastMouseDownPoint = evt.mousePoint;\n\t\t\t\tthis.lastMouseDownEvent = evt;\n\t\t\t\tthis.hasMovedSignificantly = false; \n\t\t\t}\n\t\t}\n\t\tthis.lastMouseEvent = evt; \n\t\treturn true;\n\t},\n},\n'Misc',{\t\n checkMouseUpIsInClickTimeSpan: function(mouseUpEvent) {\n\t\t// console.log(\"checkMouseUpIsInClickTimeSpan \" + this.lastMouseDownEvent.timeStamp )\n\t\tif (!this.lastMouseDownEvent || !mouseUpEvent)\n\t\t\treturn false;\n\t\treturn (mouseUpEvent.timeStamp - this.lastMouseDownEvent.timeStamp) < (400)\n\t},\n\n checkMouseOverAndOut: function(newMouseOverMorph, evt) {\n\t\tif (newMouseOverMorph === this.mouseOverMorph) return false;\n\n\t\t// if over a new morph, send onMouseOut, onMouseOver\n\t\tif (this.mouseOverMorph) this.mouseOverMorph.onMouseOut(evt);\n\t\tthis.mouseOverMorph = newMouseOverMorph;\n\t\t// console.log('msOverMorph set to: ' + Object.inspect(this.mouseOverMorph));\n\t\tif (this.mouseOverMorph) this.mouseOverMorph.onMouseOver(evt);\n\t\treturn true;\n\t},\n\n layoutChanged: function($super) {\n\t\tthis.layoutChangedCount ++;\n\t\ttry {\n\t\t\t$super();\n\t\t\tif (this.layoutChangedCount == 1) {\n\t\t\t\tConfig.showGrabHalo && this.updateGrabHalo();\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.layoutChangedCount --;\n\t\t}\n },\n},\n'Keyboard Events',{\n\tisKeyDown: function(character) {\n\t\tif (!this.keysDown)\n\t\t\treturn false;\n\t\treturn this.keysDown[character]\n\t},\n\t\n\tforgetKeyDown: function(evt) {\n\t\tif (!this.keysDown)\n\t\t\treturn;\n\t\tthis.keysDown[evt.getKeyChar()] = false;\n\t\t// hack, around weired events when command is pressed\n\t\tif (evt.getKeyCode() == 91) {\n\t\t\t// console.log(\"clear keydown list...\")\n\t\t\tthis.keysDown = {};\n\t\t\n\t\t};\n\t},\n\n\trememberKeyDown: function(evt) {\n\t\tif (!this.keysDown) {\n\t\t\tthis.keysDown = {};\n\t\t};\n \t\t//console.log(\"remember KeyDown \" + evt.getKeyChar())\n\t\tthis.keysDown[evt.getKeyChar().toUpperCase()] = true;\n\t},\n\n handleKeyboardEvent: function(evt) { \n\t\t// console.log(\"event: \" + evt )\n\t\tif(evt.type == \"KeyUp\") {\n \t\t\tthis.forgetKeyDown(evt);\t\t\t\n\t\t};\n if (this.hasSubmorphs()) {\n if (evt.type == \"KeyDown\" && this.moveSubmorphs(evt)) return;\n else if (evt.type == \"KeyPress\" && this.transformSubmorphs(evt)) return;\n }\n\t\tvar consumed = false;\n // manual bubbling up b/c the event won't bubble by itself\n\t\tvar world = this.world();\n for (var responder = this.keyboardFocus || world; responder != null; responder = responder.owner || world) {\n\t\t\tif (responder.takesKeyboardFocus()) {\n var handler = responder[evt.handlerName()];\n if (handler) {\n if (handler.call(responder, evt)) {\n\t\t\t\t\t\tconsumed = true;\n break; // event consumed?\t\t\n\t\t\t\t\t}\n }\n }\n\t\t\tif (responder == world) break;\n }\n\n\t\tif (!consumed) {\n\t\t\t// console.log(\"not consumed \" + evt)\n\t\t\t// the single command key evt \n\t\t\tif (evt.isCommandKey()) // rk: what is that supposed to do?\n\t\t\t\tClipboardHack.selectPasteBuffer();\t\t\t\n\t\t\t\t\n\t\t\t// remember key down for mouse events\n\t\t\tif(evt.type == \"KeyPress\") {\n\t\t\t\tthis.rememberKeyDown(evt);\n\t\t\t};\n\t\t};\n\t\tthis.blockBrowserKeyBindings(evt);\n },\n\t\n blockBrowserKeyBindings: function(evt) {\n\t\tswitch (evt.getKeyCode()) {\n\t\t\tcase Event.KEY_SPACEBAR: // [don't] scroll\n\t\t \t// stop keypress but don't try to stop preceeding keydown,\n\t\t \t// which would prevent keypress from firing and being handled by Text etc\n\t\t \tif (evt.type == \"KeyPress\") evt.stop();\n\t\t \tbreak;\n\t\t case Event.KEY_BACKSPACE: // [don't] go to the previous page \n\t\t \tevt.stop();\n\t\t \tbreak;\n\t\t\tcase 22:\n\t\t\tcase 3:\n\t\t\tcase 24:\n\t\t\t\tif (evt.isCtrlDown() && evt.type == \"KeyPress\") \n\t\t\t\t\tevt.preventDefault(); // ctrl+x, ctrl+c, or ctrl+v pressed\n\t\t\t\tbreak;\n\t\t\t}\n\t\tswitch (evt.getKeyChar()) {\n\t\t\tcase \"[\":\n\t\t\tcase \"]\":\n\t\t \tif (evt.isMetaDown() && evt.type == \"KeyPress\") {\n\t\t\t\t\t// Safari would want to navigate the history\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tbreak;\n\t\t }\n\t\t}\t\n },\n},\n'Geometry',{\n\tbounds: function($super) {\n\t\t// account for the extra extent of the drop shadow\n\t\t// FIXME drop shadow ...\n\t\treturn this.shadowMorph ? $super().expandBy(this.shadowOffset.x) : $super();\n\t},\n\n\tgetInsertPositionFor: function(m, isFront) {\n\t\tif (this.submorphs.length == 0) return this.shape.rawNode;\n\t\treturn isFront ? this.submorphs.last().rawNode : this.submorphs.first().rawNode;\n\t},\n\n toString: function($super) { \n var superString = $super();\n var extraString = Strings.format(\", local=%s,id=%s\", this.isLocal, this.id());\n if (!this.hasSubmorphs()) \n\t\t\treturn superString + \", an empty hand\" + extraString;\n return Strings.format(\"%s, a hand carrying %s%s\", superString, this.topSubmorph(), extraString);\n },\n\n\tsetPosition: function($super, pos) {\n\t\t$super(pos);\n\t\tif (this.hasSubmorphs())\n\t\t\tthis.scrollDuringDrag()\n\t\treturn pos;\n\t},\n},\n'Indicator',{\n\tremoveIndicatorMorph: function() {\n\t\tif (!this.indicatorMorph)\n\t\t\treturn;\n\t\tthis.indicatorMorph.remove();\n\t\tthis.indicatorMorph = undefined;\n\t},\n\n\tensureIndicatorMorph: function() {\n\t\tif (this.indicatorMorph)\n\t\t\treturn this.indicatorMorph;\n\t\tvar morph = new TextMorph(new Rectangle(0,0,100,20));\n\t\tmorph.setPosition(this.shape.bounds().bottomRight().addPt(pt(-5,-5)))\n\t\tmorph.ignoreEvents();\n\t\tmorph.isEpimorph = true;\n\t\tmorph.setBorderWidth(0);\n\t\tmorph.setFill(null);\n\t\tthis.indicatorMorph = morph;\n\t\tthis.addMorph(morph);\n\t\treturn morph\n\t},\n\n\thasSubmorphs: function() {\n\t\tif (this.submorphs.length == 0)\n\t\t\treturn false;\n\t\telse\n\t\t\treturn this.submorphs.reject(function(ea) {return ea.isEpimorph}).length != 0;\n\t},\n},\n'Scrolling',{\n\tscrollDuringDrag: function(counter) {\n\t\tvar scrollSpeed = 0.3; // should go into config options?\n\t\tvar maxSteps = 30;\n\t\t\n\t\tvar world = this.world();\n\t\tvar wb = world.windowBounds();\n\t\tvar pos = this.getPosition();\n\t\tcounter = counter || 1;\n\t\t\n\t\tvar worldScale = world.getScale();\n\t\tvar steps = counter * scrollSpeed * worldScale;\n\t\tsteps = Math.min(steps, maxSteps);\n\t\tvar animate = false;\n\t\tvar self = this;\n\t\t\n\t\tvar scroll = function(delta) {\n\t\t\tvar oldPos = pt(Global.scrollX, Global.scrollY)\n\t\t\tGlobal.scrollBy(delta.x, delta.y);\t\t\tvar newPos = pt(Global.scrollX, Global.scrollY)\n\t\t\tvar scrollDelta = newPos.subPt(oldPos).scaleBy(1 / worldScale);\n\t\t\tself.moveBy(scrollDelta.scaleBy(1))\n\t\t\tanimate = true;\n\t\t};\n\t\tvar offset = 50\n\t\tif (pos.x + offset > wb.right()) scroll(pt(steps,0));\n\t\tif (pos.x - offset < wb.left()) scroll(pt(-steps,0));\n\t\tif (pos.y - offset < wb.top()) scroll(pt(0, - steps));\n\t\tif (pos.y + offset > wb.bottom()) scroll(pt(0, steps))\n\t\tif (animate) {\n\t\t\t(function(){self.scrollDuringDrag( counter + 1)}).delay()\t\n\t\t}\n\t}\n},\n'Fabrik Extension (DEPRICATED)',{\n changed: function($super, morph) {\n $super();\n this.globalPosition = this.getPosition();\n this.submorphs.forEach(function(ea){\n // console.log(\"changed \"+ ea);\n ea.changed(\"globalPosition\", this.getPosition());\n }, this);\n },\n});\n\nMorph.subclass('LinkMorph', {\n\n documentation: \"two-way hyperlink between two Lively worlds\",\n helpText: \"Click here to enter or leave a subworld.\\n\" +\n \"Use menu 'grab' to move me. Drag objects\\n\" +\n \"onto me to transport objects between worlds.\",\n openForDragAndDrop: false,\n suppressHandles: true,\n\tstyle: {\n\t\tborderColor: Color.black, \n\t\tfill: lively.lang.let(lively.paint, function(g) { \n\t\t\treturn new g.RadialGradient([new g.Stop(0, Color.blue.lighter()) , new g.Stop(0.5, Color.blue), \n\t\t\tnew g.Stop(1, Color.blue.darker())], pt(0.4, 0.2))})\n\t},\n \n\tinitialize: function($super, otherWorld, initialPosition) {\n\t\t// In a scripter, type: world.addMorph(new LinkMorph(null))\n\n\t\t// Note: Initial position can be specified either as a rectangle or point.\n\t\t// If no position is specified, place the icon in the lower left corner\n\t\t// of the screen.\n\t\tinitialPosition = initialPosition || WorldMorph.current().bounds().bottomLeft().addXY(50, -50);\n\t\t$super(new lively.scene.Ellipse(initialPosition, 25));\n\t\tvar bounds = this.shape.bounds();\n\n\t\t// Make me look a bit like a world\n\t\t[new Rectangle(0.15,0,0.7,1), new Rectangle(0.35,0,0.3,1), new Rectangle(0,0.3,1,0.4)].forEach(function(each) {\n\t\t\t// Make longitude / latitude lines\n\t\t\tvar lineMorph = new Morph(new lively.scene.Ellipse(bounds.scaleByRect(each)));\n\t\t\tlineMorph.applyStyle({fill: null, borderWidth: 1, borderColor: Color.black}).ignoreEvents();\n\t\t\tthis.addMorph(lineMorph);\n\t\t}, this);\n\n\t\tif (!otherWorld) {\n\t\t\tthis.myWorld = this.makeNewWorld(this.canvas());\n\t\t\tthis.addPathBack();\n\t\t} else {\n\t\t\tthis.myWorld = otherWorld;\n\t\t}\n\t\treturn this;\n\t},\n \n\tmakeNewWorld: function(canvas) {\n\t\treturn new WorldMorph(canvas);\n\t},\n \n\taddPathBack: function() {\n\t\tvar pathBack = new LinkMorph(WorldMorph.current(), this.bounds().center());\n\n\t\tpathBack.setFill(lively.lang.let(lively.paint, function(gfx) {\n\t\t\treturn new gfx.RadialGradient([new gfx.Stop(0, Color.orange), \n\t\t\tnew gfx.Stop(0.5, Color.red), \n\t\t\tnew gfx.Stop(1, Color.red.darker(2))],\n\t\t\tpt(0.4, 0.2));\n\t\t}));\n\n\t\tthis.myWorld.addMorph(pathBack);\n\t\treturn pathBack;\n\t},\n \n\tonDeserialize: function() {\n\t\t//if (!this.myWorld) \n\t\tthis.myWorld = WorldMorph.current(); // a link to the current world: a reasonable default?\n\t},\n\n\thandlesMouseDown: function(evt) {\n\t\treturn true; \n\t},\n\n\tonMouseDown: function(evt) {\n\t\tthis.enterMyWorld(evt); \n\t\treturn true; \n\t},\n\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.addItem([\"publish linked world as ... \", function() { \n\t\tthis.world().prompt(\"world file (.xhtml)\", this.exportLinkedFile.bind(this)); }]);\n\t\tmenu.replaceItemNamed(\"package\", [\"package linked world\", function(evt) {\n\t\t\tnew PackageMorph(this.myWorld).openIn(this.world(), this.bounds().topLeft()); this.remove()} ]);\n\t\treturn menu;\n\t},\n\n\tenterMyWorld: function(evt) { // needs vars for oldWorld, newWorld\n\t\tcarriedMorphs = [];\n\n\t\t// Save, and suspend stepping of, any carried morphs\n\t\tevt.hand.unbundleCarriedSelection();\n\t\tevt.hand.carriedMorphsDo( function (m) {\n\t\t\tm.suspendAllActiveScripts();\n\t\t\tcarriedMorphs.splice(0, 0, m);\n\t\t\tevt.hand.shadowMorphsDo( function(m) { m.stopAllStepping(); });\n\t\t\tevt.hand.showAsUngrabbed(m);\n\t\t});\n\t\tevt.hand.removeAllMorphs();\n\t\tthis.hideHelp();\n\t\tthis.myWorld.changed();\n\t\tvar oldWorld = WorldMorph.current();\n\t\toldWorld.onExit(); \n\n\t\tif (Config.suspendScriptsOnWorldExit)\n\t\t\toldWorld.suspendAllActiveScripts();\n\n\t\tvar canvas = oldWorld.canvas();\n\t\toldWorld.remove(); // some SVG calls may stop working after this point in the old world.\n\n\t\tconsole.log('left world %s through %s', oldWorld, this);\n\n\t\t// display world first, then add hand, order is important!\n\t\tvar newWorld = this.myWorld;\n\t\tif (newWorld.owner) {\n\t\t\tconsole.log(\"new world had an owner, removing\");\n\t\t\tnewWorld.remove();\n\t\t}\n\n\t\tnewWorld.displayOnCanvas(canvas); // Becomes current at this point\n\n\t\tif (Config.suspendScriptsOnWorldExit) { \n\t\t\tnewWorld.resumeAllSuspendedScripts();\n\t\t}\n\n\t\tcarriedMorphs.forEach(function(m) {\n\t\t\tvar hand = newWorld.firstHand();\n\t\t\tm.resumeAllSuspendedScripts();\n\t\t\thand.addMorphAsGrabbed(m);\n\t\t});\n\n\t\tif (Config.showThumbnail) {\n\t\t\tvar scale = 0.1;\n\t\t\tif (newWorld.thumbnail) {\n\t\t\t\tconsole.log(\"disposing of a thumbnail\");\n\t\t\t\tnewWorld.thumbnail.remove();\n\t\t\t}\n\t\t\tnewWorld.thumbnail = Morph.makeRectangle(Rectangle.fromElement(canvas));\n\t\t\tnewWorld.thumbnail.setPosition(this.bounds().bottomRight());\n\t\t\tnewWorld.addMorph(newWorld.thumbnail);\n\t\t\tnewWorld.thumbnail.setScale(scale);\n\t\t\tnewWorld.thumbnail.addMorph(oldWorld);\n\t\t}\n\n\t\tif (carriedMorphs.length > 0) newWorld.firstHand().emergingFromWormHole = true; // prevent re-entering\n\t},\n \n\tonMouseOver: function($super, evt) {\n\t\tif (evt.hand.hasSubmorphs()) { // if hand is laden enter world bearing gifts\n\t\t\tif (!evt.hand.emergingFromWormHole) this.enterMyWorld(evt);\n\t\t} else {\n\t\t\t$super(evt);\n\t\t}\n\t},\n\n\tonMouseOut: function($super, evt) {\n\t\tevt.hand.emergingFromWormHole = false;\n\t\t$super(evt);\n\t},\n\n\tgetHelpText: function() {\n\t\treturn this.helpText;\n\t},\n\t\n\taddLabel: function(text) {\n\t\tvar label = new TextMorph(pt(110, 25).extentAsRectangle(), text).applyStyle({borderRadius: 10, borderWidth: 2});\n\t\tthis.addMorph(label);\n\t\tlabel.align(label.bounds().leftCenter(), this.shape.bounds().rightCenter().addXY(5, 0));\n\t\tlabel.linkToStyles(['raisedBorder']);\n\t\treturn label;\n\t},\n \n});\n\nLinkMorph.subclass('ExternalLinkMorph', {\n\n documentation: \"A link to a different web page, presumably containing another LK\",\n\n style: { borderColor: Color.black, fill: new lively.paint.RadialGradient([new lively.paint.Stop(0, Color.green), \n\t\t\t\t\t\t\t\t\t new lively.paint.Stop(1, Color.yellow)])},\n \n initialize: function($super, url, position) {\n\t\t$super(null, position || pt(0, 0));\n\t\tthis.url = url;\n\t\tthis.win = null; // browser window\n },\n\n makeNewWorld: Functions.Null, \n \n addPathBack: Functions.Null,\n\n\tenterMyWorld: function(evt) {\n\t\tif (evt.isCommandKey()) {\n\t\t\tthis.world().confirm(\"Leave current runtime to enter another page?\", function (answer) {\n\t\t\t\tif (answer) Global.location = this.url.toString();\n\t\t\t\telse console.log(\"cancelled loading \" + this.url);\n\t\t\t});\n\t\t} else {\n\t\t\tif (this.win && !this.win.closed) this.win.focus();\n\t\t\telse this.win = Global.window.open(this.url);\n\t\t}\n\t},\n \n getHelpText: function() {\n\t\treturn \"Click to enter \" + this.url;\n },\n\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.addItem([\"set link target...\", function() {\n\t\t\tthis.world().prompt(\"Set new target file\", function(answer) {\n\t\t\t\tthis.url = URL.source.withFilename(answer);\n\t\t\t}.bind(this), URL.source.toString());\n\t\t}]);\n\t\treturn menu;\n\t}\n \n});\n\n\n/**\n * Morpsh for Structuring and Layouting \n */\n\nMorph.subclass('BoxMorph', {\n\n documentation: \"Occupies a rectangular area of the screen, can be laid out\",\n\n initialize: function($super, initialBounds) {\n\t\t$super(new lively.scene.Rectangle(initialBounds));\n },\n\n});\n\nBoxMorph.subclass('ContainerMorph', {\n documentation: \"Box morph whose shape grows to contain all its submrphs\",\n\n\tinitialize: function($super,rect) {\n\t\t$super(rect);//new Rectangle(0,0,0,0));\n\t},\n\n initializeTransientState: function($super) {\n $super();\n this.priorExtent = this.innerBounds().extent();\n },\n\n\taddMorph: function($super, m, isFront) {\n\t\tvar ret = $super(m, isFront);\n\t\tvar submorphBounds = this.submorphBounds(true);\n\t\tif (submorphBounds)\n\t\t\tthis.shape.setBounds(submorphBounds.outsetByRect(this.padding));\n\t\treturn ret;\n\t},\n\n\tadjustForNewBounds: function ($super) {\n\t\t// borrowed from PanelMorph\n\t\t// Compute scales of old submorph extents in priorExtent, then scale up to new extent\n\t\t$super();\n\t\tvar newExtent = this.innerBounds().extent();\n\t\tvar scalePt = newExtent.scaleByPt(this.priorExtent.invertedSafely());\n\t\tthis.submorphs.forEach(function(sub) {\n\t\t\tsub.setPosition(sub.getPosition().scaleByPt(scalePt));\n\t\t\tsub.setExtent(sub.getExtent().scaleByPt(scalePt));\n\t\t});\n\t\tthis.priorExtent = newExtent;\n\t}, \n});\n\n/**\n * Hacks \n */\nGlobal.ClipboardHack = {\n\tensurePasteBuffer: function() {\n\t\t// Return a reference to a text element to serve as our proxy for communication\n\t\t// with the OS about text such as cut/paste, or iPad keyboard input\n\t\tif (UserAgent.isMozilla && UserAgent.fireFoxVersion) return;\n\t\tvar buffer = document.getElementById(\"copypastebuffer\");\n\t\tif (buffer) return buffer;\n\n\t\t// Not there yet -- create a new one\n\t\tbuffer = document.createElement(\"textarea\");\n\t\tbuffer.setAttribute(\"cols\",\"1\");\n\t\tbuffer.setAttribute(\"rows\",\"1\");\n\t\tbuffer.setAttribute(\"id\",\"copypastebuffer\");\n\t\t// buffer.setAttribute(\"style\",\"position:absolute;z-index: -400;left:0px; top:1px; width:1px; height:1px;\");\n\t\tif (UserAgent.isTouch) { // hack to test text input on iPad\n\t\t\tbuffer.setAttribute(\"style\",\"position:fixed;z-index: 5;left:0px; top:0px; width:100px; height:30px;\");\n\t\t} else {\n\t\t\t// the Clipboard buffer needs a minimum width, otherwise it will scroll the page on the first paste\n\t\t\tbuffer.setAttribute(\"style\",\"position:fixed;z-index: -5;left:0px; top:0px; width:100px; height:100px;\");\n\t\t}\n\t\tbuffer.textContent = \"NoText\";\n\t\tvar outerBody = Global.document.body || Global.parent.document.body;\n\t\touterBody.appendChild(buffer);\n\t\treturn buffer;\n\t},\n\t\n\tselectPasteBuffer: function() {\n\t\tvar buffer = this.ensurePasteBuffer();\n\t\tif (buffer) buffer.select();\n\t},\n\t\n\tinvokeKeyboard: function() {\n\t \t\tif (!UserAgent.isTouch) return;\n\t\t\tvar buffer = this.ensurePasteBuffer();\n\t\t\tif (buffer) buffer.focus();\n\t},\n\t\n\ttryClipboardAction: function(evt, target) {\n // Copy and Paste Hack that works in Webkit/Safari\n if (!evt.isMetaDown() && !evt.isCtrlDown()) return false;\n\n\t\t// Multiworld Code\n\t\tif (evt.hand.world().currentSelection != target && evt.hand.world() != target && evt.hand.keyboardFocus != target) return false;\n\n\t\tthis.selectPasteBuffer();\n var buffer = this.ensurePasteBuffer();\n if(!buffer) return false;\n if (evt.getKeyChar().toLowerCase() === \"v\" || evt.getKeyCode() === 22) {\t\n\t\t\tvar paste_executed = false;\n\t\t buffer.onpaste = function() {\n\t\t\t\tif (paste_executed) return; // BUG Workaround: Safari 5.0 (6533.16), calls the paste two times\n\t\t\t\tpaste_executed = true;\n\t\t\t\tTextMorph.clipboardString = event.clipboardData.getData(\"text/plain\");\n if(target.doPaste) target.doPaste();\n };\n \tbuffer.focus();\n \treturn true;\n };\n if (evt.getKeyChar().toLowerCase() === \"c\" || evt.getKeyCode() === 3) {\n\t\t\tif(target.doCopy) target.doCopy();\n\t\t\tbuffer.textContent = TextMorph.clipboardString;\n\t\t\tbuffer.select();\n \tbuffer.focus();\n \treturn true;\n };\n if (evt.getKeyChar().toLowerCase() === \"x\" || evt.getKeyCode() === 24) {\n\t\t\tif (target.doCut) target.doCut();\n\t\t\tbuffer.textContent = TextMorph.clipboardString;\n\t\t\tbuffer.select();\n \tbuffer.focus();\n \treturn true;\n };\n\t\t// console.log('Clipboard action not successful');\n\t\treturn false;\n },\n\n}\n\nObject.extend(Global, { // various stuff\n\tbasicResize: function(world, canvas, newWidth, newHeight) {\n\t\tcanvas.setAttribute(\"width\", newWidth);\n\t\tcanvas.setAttribute(\"height\", newHeight);\n\t\tworld.setExtent(pt(newWidth, newHeight));\n\t\tworld.fullBounds = new Rectangle(0, 0, newWidth, newHeight);\n\t},\n\n\tonresize: function(evt) {\n\t\tif (!Config.onWindowResizeUpdateWorldBounds) return; \n\t\tvar h = document.getElementsByTagName('html')[0];\n\t var world = WorldMorph.current();\n\t\tif (!world) {\n\t\t\tconsole.log(\"Error: No world to resize.\")\n\t\t\treturn;\n\t\t}\t\t\n\t\t// Todo: get rid of the arbitrary offset without getting scrollbars\n\t var newWidth = h.clientWidth - 4;\n\t var newHeight = h.clientHeight- 4;\n\t},\n\n\t$morph: function getMorphNamedShortcut(name) {\n\t\treturn WorldMorph.current().getMorphNamed(name);\n\t},\n\n\tinteractiveEval: function(text) {\n\t // FIXME for compatibility, load jQuery for some interactive conveniences\n\t\t// ECMAScript 3rd edition, section 12.4: \n\t\t// “Note that an ExpressionStatement cannot start with an opening curly brace because that might make it ambiguous with a Block.“\n\t\t//text = '(' + text + ')'; // workaround for that issue\n\t\treturn eval(text);\n\t},\n\t\n});\n\n\nObject.subclass('ClipboardCopier', {\n\t\n\tpastePosition: pt(0,0),\n\n\tcreateBaseDocument: function(source) {\n\t\treturn new DOMParser().parseFromString('' +\n\t\t\t'', /* \"text/xml\" */ \"application/xml\");\n\t},\n\n\tloadMorphsWithWorldTrunkFromSource: function(source) {\n \tvar xml = this.createBaseDocument(source);\n\t\tvar systemDictionary = xml.getElementById(\"SystemDictionary\");\n\t\tvar globalSystemDictionary = lively.data.Wrapper.prototype.dictionary();\n\t\tif(systemDictionary) {\n\t\t\t$A(systemDictionary.childNodes).each(function(ea) {\n\t\t\t\tvar result = lively.data.FragmentURI.getElement(ea.id);\n\t\t\t\t\n\t\t\t\t// TODO: give the element a new id and map it, is there an implemnentation laying around somewhere here?\n\t\t\t\tif(!result) \n\t\t\t\t\tglobalSystemDictionary.appendChild(ea.cloneNode(true))\n\t\t\t})\n\t\t}\n\t\tvar world = new Importer().loadWorldContents(xml);\n\t\treturn world.submorphs\n },\t\n\n\tcalcTopLeftOfPoints: function(points) {\n\t\tvar min_x;\n\t\tvar min_y;\n\t\tpoints.each(function(ea) {\n\t\t\tif (!min_x || ea.x < min_x)\n\t\t\t\tmin_x = ea.x;\n\t\t\tif (!min_y || ea.y < min_y)\n\t\t\t\tmin_y = ea.y;\n\t\t});\n\t\treturn pt(min_x, min_y)\n\t},\n\n\t\n\n\tcalcPasteOffsetFrom: function(morphs) {\n\t\tif(morphs.length == 0)\n\t\t\treturn;\n\t\tvar topLeft = this.calcTopLeftOfPoints(morphs.collect(function(ea) {return ea.getPosition()}))\t\t\n\t\treturn this.pastePosition.subPt(topLeft);\n\t},\n\n\tcopyMorphsAsXMLString: function(morphs) {\n\t\tvar copier = new Copier();\n\t\tvar doc = this.createBaseDocument();\n\t\tvar worldNode = doc.childNodes[0].childNodes[0];\n\t\t\n\t\tvar container = new Morph.makeRectangle(new Rectangle(0,0,10,10));\n\t\tcontainer.isSelectionContainer = true;\n\t\t\t\t\n\t\tmorphs.each(function(ea) {\n\t\t\tcontainer.addMorph(ea.copy(copier));\n\t\t})\n\t\tcopier.finish()\n\t\tvar systemDictionary =\tcontainer.rawNode.appendChild(NodeFactory.create(\"defs\"));\n\t\tsystemDictionary.setAttribute(\"id\", \"SystemDictionary\");\n\t\t\n\t\tworldNode.appendChild(container.rawNode);\n\t\tvar exporter = new Exporter(container);\n\t\tcontainer.dictionary = function() { return systemDictionary}\n\t\tvar helpers = exporter.extendForSerialization(systemDictionary);\n\t\tvar result = Exporter.stringify(container.rawNode);\n\t\texporter.removeHelperNodes(helpers);\n\t\tdelete container.dictionary\n\t\n\t\treturn result\n\t},\n\n\t// cut and past is not identity preserving\n\tpasteMorphsFromSource: function(source, pasteDestinationMorph){\n\t\tvar morphs = this.loadMorphsWithWorldTrunkFromSource(source);\n\t\tif (morphs.length == 0) {\n\t\t\tvar pos = this.pastePosition();\n\t\t\tvar textMorph = new TextMorph(new Rectangle(pos.x,pos.y,200,100), source);\n\t\t\tthis.addMorph(textMorph);\n\t\t\treturn;\n\t\t}\n\t\t// unpack potential selection morph\n\t\tif(morphs[0] && morphs[0].isSelectionContainer) {\n\t\t\tmorphs = morphs[0].submorphs\n\t\t};\n\t\tvar copier = new Copier();\n\t\tvar offset = this.calcPasteOffsetFrom(morphs);\n\t\tmorphs.each(function(ea) {\n\t\t\tvar copy = ea.copy(copier);\n\t\t\tpasteDestinationMorph.addMorph(copy)\n\t\t\tif (offset) {\n\t\t\t\tcopy.moveBy(offset)\n\t\t\t}\t\n\t\t}, this);\n\t\tcopier.finish()\n\t},\n\n});\n\n\n/**\n * Misc\n */\n\nObject.subclass('DocLinkConverter', {\n\n\tinitialize: function(codeBase, toDir) {\n\t\tif (!codeBase.toString().endsWith('/')) codeBase = codeBase.toString() + '/';\n\t\tif (!toDir.toString().endsWith('/')) toDir = toDir.toString() + '/';\n\t\tthis.codeBase = new URL(codeBase);\n\t\tthis.toDir = new URL(toDir).withRelativePartsResolved();\n\t},\n\n\tconvert: function(doc) {\n\t\tvar scripts = $A(doc.getElementsByTagName('script'));\n\t\tif (scripts.length <= 0) {\n\t\t\tconsole.warn('could not convert scripts in doc in DocLinkConverter because no scripts found!');\n\t\t\treturn doc;\n\t\t}\n\t\tthis.convertLinks(scripts);\n\t\tthis.convertAndRemoveCodeBaseDefs(scripts);\n\t\treturn doc;\n\t},\n\n\tconvertAndRemoveCodeBaseDefs: function(scripts) {\n\t\tvar codeBaseDefs = scripts.select(function(el) {\n\t\t\treturn el.firstChild && el.firstChild.data && el.firstChild.data.startsWith('Config.codeBase=');\n\t\t});\n\n\t\tvar codeBaseDef = this.createCodeBaseDef(this.codeBaseFrom(this.codeBase, this.toDir));\n\t\t\n\t\tif (codeBaseDefs.length == 0) {\n\t\t\tvar script = NodeFactory.create('script');\n\t\t\tscript.setAttribute('name', 'codeBase');\n\t\t\tscript.appendChild(NodeFactory.createCDATA(codeBaseDef));\n\n\t\t\tvar localConfigScript = this.findScriptEndingWith('localconfig.js', scripts);\n\t\t\tif (localConfigScript) {\n\t\t\t\tlocalConfigScript.parentNode.insertBefore(script, localConfigScript);\n\t\t\t\tlocalConfigScript.parentNode.insertBefore(NodeFactory.createNL(), localConfigScript);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (codeBaseDefs.length >= 1) {\n\n\t\t\tvar cdata = codeBaseDefs[0].firstChild;\n\t\t\tcdata.data = codeBaseDef;\n\t\t}\n\n\t\t// remove remaining\n\t\tfor (var i = 1; i < codeBaseDefs.length; i++)\n\t\t\tcodeBaseDefs[i].parentNode.removeChild(codeBaseDefs[i]);\n\t},\n\n\tconvertLinks: function(scripts) {\n\t\tvar links = scripts.select(function(el) { return this.getURLFrom(el) != null }, this);\n\t\tlinks.forEach(function(el) {\n\t\t\tvar url = this.getURLFrom(el);\n\t\t\tvar newUrl = this.convertPath(url);\n\t\t\tthis.setURLTo(el, newUrl);\n\t\t}, this);\n\t},\n\n\tconvertPath: function(path) {\n\t\tif (path.startsWith('http')) return path;\n\t\tvar fn = this.extractFilename(path);\n\t\tvar relative = this.relativeLivelyPathFrom(this.codeBase, this.toDir);\n\t\treturn relative + fn;\n\t},\n\n\tcodeBaseFrom: function(codeBase, toDir) {\n\t\tvar urlCodeBase = new URL(codeBase);\n\t\tvar urlToDir = new URL(toDir);\n\n\t\tif ((urlCodeBase.normalizedHostname() == urlToDir.normalizedHostname()) && (urlCodeBase.port == urlToDir.port))\n\t\t\treturn this.relativeCodeBaseFrom(codeBase, toDir);\n\t\telse\n\t\t\treturn urlCodeBase.toString();\n\t},\n\n\trelativeCodeBaseFrom: function(codeBase, toDir) {\n\t\tcodeBase = new URL(codeBase);\n\t\ttoDir = new URL(toDir);\n\t\tvar relative = toDir.relativePathFrom(codeBase);\n\t\tif (relative.startsWith('/')) throw dbgOn(new Error('relative looks different than expected'));\n\t\tvar levels = relative.split('/').length -1\n\t\tvar result = range(1, levels).collect(function() { return '..' }).join('/');\n\t\tif (result.length > 0) result += '/';\n\t\treturn result;\n\t},\n\n\trelativeLivelyPathFrom: function(codeBase, toDir) {\n\t\treturn this.codeBaseFrom(codeBase, toDir) + 'lively/';\n\t},\n\n\textractFilename: function(url) {\n\t\treturn url.substring(url.lastIndexOf('/') + 1, url.length);\n\t},\n\n\tcreateCodeBaseDef: function(relPath) {\n\t\treturn Strings.format('Config.codeBase=Config.getDocumentDirectory()+\\'%s\\'', relPath);\n\t},\n\n\tfindScriptEndingWith: function(str, scripts) {\n\t\treturn scripts.detect(function(node) {\n\t\t\t\tvar url = this.getURLFrom(node);\n\t\t\t\treturn url && url.endsWith(str)\n\t\t\t}, this);\n\t},\n\n\tgetURLFrom: function(el) {\n\t\treturn el.getAttribute('xlink:href') || el.getAttribute('src')\n\t},\n\n\tsetURLTo: function(el, url) {\n\t\tif (el.getAttribute('xlink:href'))\n\t\t\tel.setAttribute('xlink:href', url)\n\t\telse\n\t\t\tel.setAttribute('src', url)\n\t},\n\n});\n\nMorph.subclass('PseudoMorph', {\n description: \"This hack to make various objects serializable, despite not being morphs\",\n \n\tinitialize: function($super) {\n\t\t$super(new lively.scene.Group());\n\t\tthis.setVisible(false);\n\t}\n\n});\n\n\nPseudoMorph.subclass('Invocation', {\n\n\tinitialize: function($super, actor, scriptName, argIfAny) {\n\t\t$super();\n\t\tthis.actor = actor;\n\t\tthis.scriptName = scriptName;\n\t\tthis.argIfAny = argIfAny; // better be primitive\n\t},\n\n\texec: function Invocation$exec() {\n\t\tif (!this.actor) {\n\t\t\tconsole.warn(\"no actor on script %s\", this);\n\t\t\treturn null;\n\t\t}\n\t\tvar func = this.actor[this.scriptName];\n\t\tif (func) {\n\t\t\treturn func.call(this.actor, this.argIfAny);\n\t\t} else {\n\t\t\t//console.warn(\"no callback on actor %s\", this.actor);\n\t\t\treturn null;\n\t\t}\n\t},\n\n});\n\nInvocation.subclass('SchedulableAction', {\n\n\tdocumentation: \"Description of a periodic action\",\n\tbeVerbose: false,\n\n\tinitialize: function($super, actor, scriptName, argIfAny, stepTime) {\n\t\t$super(actor, scriptName, argIfAny);\n\t\tthis.stepTime = stepTime;\n\t\tthis.ticks = 0;\n\t},\n\n\ttoString: function() {\n\t\treturn Strings.format(\"#\", \n\t\tthis.actor, this.scriptName, this.argIfAny, this.stepTime);\n\t},\n\n\tstop: function(world) {\n\t\tif (this.beVerbose) console.log(\"stopped stepping task %s\", this);\n\t\tworld.stopSteppingFor(this);\n\t},\n\n\tstart: function(world) {\n\t\tif (this.beVerbose) console.log(\"started stepping task %s\", this);\n\t\tworld.startSteppingFor(this);\n\t},\n\n\tequalActorAndName: function(other) {\n\t\tif (!other) \n\t\t\treturn false;\n\t\tif (this === other) \n\t\t\treturn true;\n\t\treturn (this.actor === other.actor) && (this.scriptName == other.scriptName)\n\t}\n});\n\n/**\n * Layout Manager \n * TODO: Move into own package\n *\n */\nObject.subclass('LayoutManager',\n'testing', {\n\tlayoutAllowed: function() { return LayoutManager.layoutAllowed() },\n},\n'layouting', {\n\tlayout: function(supermorph) {},\n\tonReshape: function(morph) {\n\t\tmorph.adjustForNewBounds();\n\t},\n},\n'positioning', {\n\tpositionForInsert: function(morph, ownerMorph) {\n\t\treturn morph.getPosition();\n\t\t// return pt(this.leftPaddingOf(ownerMorph), this.topPaddingOf(ownerMorph));\n\t},\n},\n'morphic extensions', {\n\n setBounds: function(target, newRect) {\n\t\t// DI: Note get/setBounds should be deprecated in favor of get/setExtent and get/setPosition\n\t\t// This is so that layout management can move things around without triggering redundant or\n\t\t// recursive calls on adjustForNewBounds(q.v.)\n\n\t\t// All calls on morph.setBounds should be converted to two calls as above (or just one if,\n\t\t// eg, only the extent or position is changing).\n\n\t\t// Of course setBounds remains entirely valid as a message to the *shape* object and, \n\t\t// in fact, shape.setBounds() will have to be called from both setPosition and setExtent\n\t\t// but adjustForNewBounds will only need to be called from setExtent.\n\n\t\t// Finally, there is an argument for calling layoutChanged from setPosition and setExtent,\n\t\t// since the caller must do it otherwise. This would simplify things overall.\n\n\t\t// DI: Note that there is an inconsistency here, in that we are reading and comparing\n\t\t// the full bounds, yet if we set extent, it only affects the shape (ie, innerBounds)\n\t\n\t\tvar priorBounds = target.bounds();\n\n\t\tif (!newRect.topLeft().eqPt(priorBounds.topLeft())) { // Only set position if it changes\n\t\t target.setPosition(newRect.topLeft());\n\t\t}\n\t\tif (!newRect.extent().eqPt(priorBounds.extent())) { // Only set extent if it changes\n\t\t // FIXME some shapes don't support setFromRect\n\t\t target.shape.setBounds(newRect.extent().extentAsRectangle());\n\t \t target.adjustForNewBounds();\n\t\t}\n },\n\n\tsetExtent: function(target, newExtent) {\n\t\ttarget.setBounds(target.getPosition().extent(newExtent));\n\t},\n\n\tsetPosition: function(target, newPosition) {\n\t\tif (!newPosition) return;\n\t\tvar delta = newPosition.subPt(target.getPosition());\n\t\ttarget.translateBy(delta);\n\t\treturn delta;\n\t},\n\n layoutChanged: function(target) {},\n\n beforeAddMorph: function(supermorph, submorph, isFront) { // isFront -> general spec of location?\n },\n\n afterAddMorph: function(owner, morph, isFront) { // isFront -> general spec of location?\n\t\tthis.layout(owner);\n },\n\n beforeRemoveMorph: function(supermorph, submorph) {},\n\n afterRemoveMorph: function(supermorph, submorph) {\n\t\t// new behavior:\n\t\tsupermorph.layoutChanged();\n\t\tthis.layout(supermorph); // FIXME\n },\n\n},\n'derived accessing', {\n\n\torderedSubMorphsOf: function(morph) {\n\t\treturn morph.visibleSubmorphs();\n\t},\n\n\tleftMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.left() : 0;\n\t},\n\n\trightMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.right() : 0;\n\t},\n\n\ttopMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.top() : 0;\n\t},\n\n\tbottomMarginOf: function(morph) {\n\t\treturn morph.margin ? morph.margin.bottom() : 0;\n\t},\n\n rightPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.right() : 0;\n },\n\n\tleftPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.left() : 0;\n\t},\n\n\ttopPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.top() : 0;\n\t},\n\n\tbottomPaddingOf: function(morph) {\n\t\treturn morph.padding ? morph.padding.bottom() : 0;\n\t},\n},\n'serialization', {\n\ttoLiteral: function() {\n\t\treturn {}\n\t},\n});\n\nObject.extend(LayoutManager, {\n\tdefaultInstance: new LayoutManager(),\n\tfromLiteral: function(literal) { return this.defaultInstance },\n\n\tlayoutAllowed: function() { return !this.suppressLayout },\n\tnoLayoutDuring: function(callback) {\n\t\tthis.suppressLayout = true;\n\t\ttry {\n\t\t\tcallback();\n\t\t} finally {\n\t\t\tthis.suppressLayout = false\n\t\t};\n\t},\n});\n\nLayoutManager.subclass('HorizontalLayout', { // alignment more than anything\n\n\tlayout: function(supermorph) {\n\t\tif (!this.layoutAllowed()) return;\n\t\tvar x = this.leftPaddingOf(supermorph),\n\t\t\ty = this.topPaddingOf(supermorph),\n\t\t\theight = supermorph.getExtent().y - this.bottomPaddingOf(supermorph)\n\t\t\tsubmorphs = this.orderedSubMorphsOf(supermorph);\n\t\tfor (var i = 0; i < submorphs.length; i++) {\n\t\t\tvar submorph = submorphs[i];\n\t\t\tx += this.leftMarginOf(submorph)\n\t\t\tsubmorph.align(submorph.bounds().topLeft(), pt(x, y));\n\t\t\tif (submorph.vResizing === 'spaceFill')\n\t\t\t\tsubmorph.setExtent(submorph.getExtent().withY(height))\n\t\t\tx += submorph.bounds().width;\n\t\t\tx += this.rightMarginOf(submorph);\n\t\t}\n\t},\n\t\n});\n\nMorph.addMethods('default layout manager', {\n\tlayoutManager: LayoutManager.defaultInstance,\n});\n\nObject.extend(HorizontalLayout, { \n\tdefaultInstance: new HorizontalLayout(),\n\tfromLiteral: function(literal) { return this.defaultInstance }, \n})\n\n\nLayoutManager.subclass('VerticalLayout', { // alignment more than anything\n\n\tlayout: function(supermorph) {\n\t\tif (!this.layoutAllowed()) return;\n\t\tvar x = this.leftPaddingOf(supermorph),\n\t\t\ty = this.topPaddingOf(supermorph),\n\t\t\tsubmorphs = supermorph.visibleSubmorphs();\n\t\tfor (var i = 0; i < submorphs.length; i++) {\n\t\t\tvar submorph = submorphs[i]\n\t\t\t\t// x = submorph.bounds().left();\n\t\t\ty += this.topMarginOf(submorph)\n\t\t\tsubmorph.align(submorph.bounds().topLeft(), pt(x, y));\n\t\t\ty += submorph.bounds().height;\n\t\t\ty += this.bottomMarginOf(submorph);\n\t\t}\n\t},\n\n});\n\nObject.extend(VerticalLayout, { \n\tdefaultInstance: new VerticalLayout(),\n\tfromLiteral: function(literal) { return this.defaultInstance }, \n})\n\nconsole.log('loaded Core.js');\n\n}); // end of module","__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1154}},"1155":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Data.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1155}},"1156":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/defaultconfig.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1156}},"1157":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/demofx.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1157}},"1158":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/EmuDom.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1158}},"1159":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Examples.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1159}},"1160":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Fabrik.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1160}},"1161":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/FileUploadWidget.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1161}},"1162":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Graffle.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1162}},"1163":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/GridLayout.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1163}},"1164":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Helper.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1164}},"1165":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/ide.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1165}},"1166":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/JSON.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1166}},"1167":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/LayerableMorphs.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1167}},"1168":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/lk-js-parser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1168}},"1169":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/LKFileParser.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1169}},"1170":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/LKFileParser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1170}},"1171":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/LKWiki.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1171}},"1172":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1173},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ChangeSetNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1172}},"1173":{"registeredObject":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"ref":{"__isSmartRef__":true,"id":1173}},"1174":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/localconfig.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1174}},"1175":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Main.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1175}},"1176":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/miniprototype.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1176}},"1177":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Network.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1177}},"1178":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/obsolete.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1178}},"1179":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Ometa.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1179}},"1180":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Persistence.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1180}},"1181":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/phone.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1181}},"1182":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Presentation.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1182}},"1183":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/rhino-compat.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1183}},"1184":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/scene.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1184}},"1185":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Scripting.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1185}},"1186":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/SerializationRefactoring.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1186}},"1187":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/simpleMain.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1187}},"1188":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/SmalltalkParser.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1188}},"1189":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/SmalltalkParser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1189}},"1190":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/SmalltalkParserSupport.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1190}},"1191":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/SmartRefSerialization.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1191}},"1192":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/SpellChecker.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1192}},"1193":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Storage.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1193}},"1194":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Styles.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1194}},"1195":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/SyntaxHighlighting.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1195}},"1196":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/TabCompletion.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1196}},"1197":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/TestFramework.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1197}},"1198":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/TestRunnerExtensions.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1198}},"1199":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Text.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1199}},"1200":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/TileScripting.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1200}},"1201":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Tools.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1201}},"1202":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/TouchSupport.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1202}},"1203":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Undo.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1203}},"1204":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/WebPIM.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1204}},"1205":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/Widgets.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1205}},"1206":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/WikiParser.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1206}},"1207":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/WikiParser.ometa","showAll":false,"__LivelyClassName__":"lively.ide.CompleteOmetaFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1207}},"1208":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":224},"moduleName":"lively/WikiWidget.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1208}},"1209":{"registeredObject":{"isListItem":true,"string":"bindings.js (not parsed)","value":{"__isSmartRef__":true,"id":1148}},"ref":{"__isSmartRef__":true,"id":1209}},"1210":{"registeredObject":{"isListItem":true,"string":"bootstrap.js (not parsed)","value":{"__isSmartRef__":true,"id":1149}},"ref":{"__isSmartRef__":true,"id":1210}},"1211":{"registeredObject":{"isListItem":true,"string":"CanvasExpt.js (not parsed)","value":{"__isSmartRef__":true,"id":1150}},"ref":{"__isSmartRef__":true,"id":1211}},"1212":{"registeredObject":{"isListItem":true,"string":"ChangeSet.js (not parsed)","value":{"__isSmartRef__":true,"id":1151}},"ref":{"__isSmartRef__":true,"id":1212}},"1213":{"registeredObject":{"isListItem":true,"string":"Connector.js (not parsed)","value":{"__isSmartRef__":true,"id":1152}},"ref":{"__isSmartRef__":true,"id":1213}},"1214":{"registeredObject":{"isListItem":true,"string":"Contributions.js (not parsed)","value":{"__isSmartRef__":true,"id":1153}},"ref":{"__isSmartRef__":true,"id":1214}},"1215":{"registeredObject":{"isListItem":true,"string":"Core.js","value":{"__isSmartRef__":true,"id":1154}},"ref":{"__isSmartRef__":true,"id":1215}},"1216":{"registeredObject":{"isListItem":true,"string":"Data.js (not parsed)","value":{"__isSmartRef__":true,"id":1155}},"ref":{"__isSmartRef__":true,"id":1216}},"1217":{"registeredObject":{"isListItem":true,"string":"defaultconfig.js (not parsed)","value":{"__isSmartRef__":true,"id":1156}},"ref":{"__isSmartRef__":true,"id":1217}},"1218":{"registeredObject":{"isListItem":true,"string":"demofx.js (not parsed)","value":{"__isSmartRef__":true,"id":1157}},"ref":{"__isSmartRef__":true,"id":1218}},"1219":{"registeredObject":{"isListItem":true,"string":"EmuDom.js (not parsed)","value":{"__isSmartRef__":true,"id":1158}},"ref":{"__isSmartRef__":true,"id":1219}},"1220":{"registeredObject":{"isListItem":true,"string":"Examples.js (not parsed)","value":{"__isSmartRef__":true,"id":1159}},"ref":{"__isSmartRef__":true,"id":1220}},"1221":{"registeredObject":{"isListItem":true,"string":"Fabrik.js (not parsed)","value":{"__isSmartRef__":true,"id":1160}},"ref":{"__isSmartRef__":true,"id":1221}},"1222":{"registeredObject":{"isListItem":true,"string":"FileUploadWidget.js (not parsed)","value":{"__isSmartRef__":true,"id":1161}},"ref":{"__isSmartRef__":true,"id":1222}},"1223":{"registeredObject":{"isListItem":true,"string":"Graffle.js (not parsed)","value":{"__isSmartRef__":true,"id":1162}},"ref":{"__isSmartRef__":true,"id":1223}},"1224":{"registeredObject":{"isListItem":true,"string":"GridLayout.js (not parsed)","value":{"__isSmartRef__":true,"id":1163}},"ref":{"__isSmartRef__":true,"id":1224}},"1225":{"registeredObject":{"isListItem":true,"string":"Helper.js (not parsed)","value":{"__isSmartRef__":true,"id":1164}},"ref":{"__isSmartRef__":true,"id":1225}},"1226":{"registeredObject":{"isListItem":true,"string":"ide.js (not parsed)","value":{"__isSmartRef__":true,"id":1165}},"ref":{"__isSmartRef__":true,"id":1226}},"1227":{"registeredObject":{"isListItem":true,"string":"JSON.js (not parsed)","value":{"__isSmartRef__":true,"id":1166}},"ref":{"__isSmartRef__":true,"id":1227}},"1228":{"registeredObject":{"isListItem":true,"string":"LayerableMorphs.js (not parsed)","value":{"__isSmartRef__":true,"id":1167}},"ref":{"__isSmartRef__":true,"id":1228}},"1229":{"registeredObject":{"isListItem":true,"string":"lk-js-parser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":1168}},"ref":{"__isSmartRef__":true,"id":1229}},"1230":{"registeredObject":{"isListItem":true,"string":"LKFileParser.js (not parsed)","value":{"__isSmartRef__":true,"id":1169}},"ref":{"__isSmartRef__":true,"id":1230}},"1231":{"registeredObject":{"isListItem":true,"string":"LKFileParser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":1170}},"ref":{"__isSmartRef__":true,"id":1231}},"1232":{"registeredObject":{"isListItem":true,"string":"LKWiki.js (not parsed)","value":{"__isSmartRef__":true,"id":1171}},"ref":{"__isSmartRef__":true,"id":1232}},"1233":{"registeredObject":{"isListItem":true,"string":"Local code","value":{"__isSmartRef__":true,"id":1172}},"ref":{"__isSmartRef__":true,"id":1233}},"1234":{"registeredObject":{"isListItem":true,"string":"localconfig.js (not parsed)","value":{"__isSmartRef__":true,"id":1174}},"ref":{"__isSmartRef__":true,"id":1234}},"1235":{"registeredObject":{"isListItem":true,"string":"Main.js (not parsed)","value":{"__isSmartRef__":true,"id":1175}},"ref":{"__isSmartRef__":true,"id":1235}},"1236":{"registeredObject":{"isListItem":true,"string":"miniprototype.js (not parsed)","value":{"__isSmartRef__":true,"id":1176}},"ref":{"__isSmartRef__":true,"id":1236}},"1237":{"registeredObject":{"isListItem":true,"string":"Network.js (not parsed)","value":{"__isSmartRef__":true,"id":1177}},"ref":{"__isSmartRef__":true,"id":1237}},"1238":{"registeredObject":{"isListItem":true,"string":"obsolete.js (not parsed)","value":{"__isSmartRef__":true,"id":1178}},"ref":{"__isSmartRef__":true,"id":1238}},"1239":{"registeredObject":{"isListItem":true,"string":"Ometa.js (not parsed)","value":{"__isSmartRef__":true,"id":1179}},"ref":{"__isSmartRef__":true,"id":1239}},"1240":{"registeredObject":{"isListItem":true,"string":"Persistence.js (not parsed)","value":{"__isSmartRef__":true,"id":1180}},"ref":{"__isSmartRef__":true,"id":1240}},"1241":{"registeredObject":{"isListItem":true,"string":"phone.js (not parsed)","value":{"__isSmartRef__":true,"id":1181}},"ref":{"__isSmartRef__":true,"id":1241}},"1242":{"registeredObject":{"isListItem":true,"string":"Presentation.js (not parsed)","value":{"__isSmartRef__":true,"id":1182}},"ref":{"__isSmartRef__":true,"id":1242}},"1243":{"registeredObject":{"isListItem":true,"string":"rhino-compat.js (not parsed)","value":{"__isSmartRef__":true,"id":1183}},"ref":{"__isSmartRef__":true,"id":1243}},"1244":{"registeredObject":{"isListItem":true,"string":"scene.js (not parsed)","value":{"__isSmartRef__":true,"id":1184}},"ref":{"__isSmartRef__":true,"id":1244}},"1245":{"registeredObject":{"isListItem":true,"string":"Scripting.js (not parsed)","value":{"__isSmartRef__":true,"id":1185}},"ref":{"__isSmartRef__":true,"id":1245}},"1246":{"registeredObject":{"isListItem":true,"string":"SerializationRefactoring.js (not parsed)","value":{"__isSmartRef__":true,"id":1186}},"ref":{"__isSmartRef__":true,"id":1246}},"1247":{"registeredObject":{"isListItem":true,"string":"simpleMain.js (not parsed)","value":{"__isSmartRef__":true,"id":1187}},"ref":{"__isSmartRef__":true,"id":1247}},"1248":{"registeredObject":{"isListItem":true,"string":"SmalltalkParser.js (not parsed)","value":{"__isSmartRef__":true,"id":1188}},"ref":{"__isSmartRef__":true,"id":1248}},"1249":{"registeredObject":{"isListItem":true,"string":"SmalltalkParser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":1189}},"ref":{"__isSmartRef__":true,"id":1249}},"1250":{"registeredObject":{"isListItem":true,"string":"SmalltalkParserSupport.js (not parsed)","value":{"__isSmartRef__":true,"id":1190}},"ref":{"__isSmartRef__":true,"id":1250}},"1251":{"registeredObject":{"isListItem":true,"string":"SmartRefSerialization.js (not parsed)","value":{"__isSmartRef__":true,"id":1191}},"ref":{"__isSmartRef__":true,"id":1251}},"1252":{"registeredObject":{"isListItem":true,"string":"SpellChecker.js (not parsed)","value":{"__isSmartRef__":true,"id":1192}},"ref":{"__isSmartRef__":true,"id":1252}},"1253":{"registeredObject":{"isListItem":true,"string":"Storage.js (not parsed)","value":{"__isSmartRef__":true,"id":1193}},"ref":{"__isSmartRef__":true,"id":1253}},"1254":{"registeredObject":{"isListItem":true,"string":"Styles.js (not parsed)","value":{"__isSmartRef__":true,"id":1194}},"ref":{"__isSmartRef__":true,"id":1254}},"1255":{"registeredObject":{"isListItem":true,"string":"SyntaxHighlighting.js (not parsed)","value":{"__isSmartRef__":true,"id":1195}},"ref":{"__isSmartRef__":true,"id":1255}},"1256":{"registeredObject":{"isListItem":true,"string":"TabCompletion.js (not parsed)","value":{"__isSmartRef__":true,"id":1196}},"ref":{"__isSmartRef__":true,"id":1256}},"1257":{"registeredObject":{"isListItem":true,"string":"TestFramework.js (not parsed)","value":{"__isSmartRef__":true,"id":1197}},"ref":{"__isSmartRef__":true,"id":1257}},"1258":{"registeredObject":{"isListItem":true,"string":"TestRunnerExtensions.js (not parsed)","value":{"__isSmartRef__":true,"id":1198}},"ref":{"__isSmartRef__":true,"id":1258}},"1259":{"registeredObject":{"isListItem":true,"string":"Text.js (not parsed)","value":{"__isSmartRef__":true,"id":1199}},"ref":{"__isSmartRef__":true,"id":1259}},"1260":{"registeredObject":{"isListItem":true,"string":"TileScripting.js (not parsed)","value":{"__isSmartRef__":true,"id":1200}},"ref":{"__isSmartRef__":true,"id":1260}},"1261":{"registeredObject":{"isListItem":true,"string":"Tools.js (not parsed)","value":{"__isSmartRef__":true,"id":1201}},"ref":{"__isSmartRef__":true,"id":1261}},"1262":{"registeredObject":{"isListItem":true,"string":"TouchSupport.js (not parsed)","value":{"__isSmartRef__":true,"id":1202}},"ref":{"__isSmartRef__":true,"id":1262}},"1263":{"registeredObject":{"isListItem":true,"string":"Undo.js (not parsed)","value":{"__isSmartRef__":true,"id":1203}},"ref":{"__isSmartRef__":true,"id":1263}},"1264":{"registeredObject":{"isListItem":true,"string":"WebPIM.js (not parsed)","value":{"__isSmartRef__":true,"id":1204}},"ref":{"__isSmartRef__":true,"id":1264}},"1265":{"registeredObject":{"isListItem":true,"string":"Widgets.js (not parsed)","value":{"__isSmartRef__":true,"id":1205}},"ref":{"__isSmartRef__":true,"id":1265}},"1266":{"registeredObject":{"isListItem":true,"string":"WikiParser.js (not parsed)","value":{"__isSmartRef__":true,"id":1206}},"ref":{"__isSmartRef__":true,"id":1266}},"1267":{"registeredObject":{"isListItem":true,"string":"WikiParser.ometa (not parsed)","value":{"__isSmartRef__":true,"id":1207}},"ref":{"__isSmartRef__":true,"id":1267}},"1268":{"registeredObject":{"isListItem":true,"string":"WikiWidget.js (not parsed)","value":{"__isSmartRef__":true,"id":1208}},"ref":{"__isSmartRef__":true,"id":1268}},"1269":{"registeredObject":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1269}},"1270":{"registeredObject":{"attributes":["isClassNode","isGrammarNode","isChangeNode","isFunctionNode","isObjectNode"],"__LivelyClassName__":"lively.ide.NodeTypeFilter","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1270}},"1271":{"registeredObject":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":1272}},"ref":{"__isSmartRef__":true,"id":1271}},"1272":{"registeredObject":{"target":{"__isSmartRef__":true,"id":231},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1272}},"1273":{"registeredObject":{"isListItem":true,"string":"testModuleLoad (function)","value":{"__isSmartRef__":true,"id":1274}},"ref":{"__isSmartRef__":true,"id":1273}},"1274":{"registeredObject":{"target":{"__isSmartRef__":true,"id":235},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1274}},"1275":{"registeredObject":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":1276}},"ref":{"__isSmartRef__":true,"id":1275}},"1276":{"registeredObject":{"target":{"__isSmartRef__":true,"id":237},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1276}},"1277":{"registeredObject":{"isListItem":true,"string":"configFromURL (function)","value":{"__isSmartRef__":true,"id":1278}},"ref":{"__isSmartRef__":true,"id":1277}},"1278":{"registeredObject":{"target":{"__isSmartRef__":true,"id":244},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1278}},"1279":{"registeredObject":{"isListItem":true,"string":"Global.Namespace (object)","value":{"__isSmartRef__":true,"id":1280}},"ref":{"__isSmartRef__":true,"id":1279}},"1280":{"registeredObject":{"target":{"__isSmartRef__":true,"id":245},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1280}},"1281":{"registeredObject":{"isListItem":true,"string":"Global.Converter (object)","value":{"__isSmartRef__":true,"id":1282}},"ref":{"__isSmartRef__":true,"id":1281}},"1282":{"registeredObject":{"target":{"__isSmartRef__":true,"id":258},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1282}},"1283":{"registeredObject":{"isListItem":true,"string":"Global.NodeFactory (object)","value":{"__isSmartRef__":true,"id":1284}},"ref":{"__isSmartRef__":true,"id":1283}},"1284":{"registeredObject":{"target":{"__isSmartRef__":true,"id":275},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1284}},"1285":{"registeredObject":{"isListItem":true,"string":"Global.XLinkNS (object)","value":{"__isSmartRef__":true,"id":1286}},"ref":{"__isSmartRef__":true,"id":1285}},"1286":{"registeredObject":{"target":{"__isSmartRef__":true,"id":286},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1286}},"1287":{"registeredObject":{"isListItem":true,"string":"Global.LivelyNS (object)","value":{"__isSmartRef__":true,"id":1288}},"ref":{"__isSmartRef__":true,"id":1287}},"1288":{"registeredObject":{"target":{"__isSmartRef__":true,"id":292},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1288}},"1289":{"registeredObject":{"isListItem":true,"string":"Global.XHTMLNS (object)","value":{"__isSmartRef__":true,"id":1290}},"ref":{"__isSmartRef__":true,"id":1289}},"1290":{"registeredObject":{"target":{"__isSmartRef__":true,"id":302},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1290}},"1291":{"registeredObject":{"isListItem":true,"string":"addRecordStuffToWrapper (function)","value":{"__isSmartRef__":true,"id":1292}},"ref":{"__isSmartRef__":true,"id":1291}},"1292":{"registeredObject":{"target":{"__isSmartRef__":true,"id":311},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1292}},"1293":{"registeredObject":{"isListItem":true,"string":"setupEvent (function)","value":{"__isSmartRef__":true,"id":1294}},"ref":{"__isSmartRef__":true,"id":1293}},"1294":{"registeredObject":{"target":{"__isSmartRef__":true,"id":315},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1294}},"1295":{"registeredObject":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":1296}},"ref":{"__isSmartRef__":true,"id":1295}},"1296":{"registeredObject":{"target":{"__isSmartRef__":true,"id":317},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1296}},"1297":{"registeredObject":{"isListItem":true,"string":"Exporter","value":{"__isSmartRef__":true,"id":1298}},"ref":{"__isSmartRef__":true,"id":1297}},"1298":{"registeredObject":{"target":{"__isSmartRef__":true,"id":321},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1298}},"1299":{"registeredObject":{"isListItem":true,"string":"Exporter (extension)","value":{"__isSmartRef__":true,"id":1300}},"ref":{"__isSmartRef__":true,"id":1299}},"1300":{"registeredObject":{"target":{"__isSmartRef__":true,"id":330},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1300}},"1301":{"registeredObject":{"isListItem":true,"string":"Copier","value":{"__isSmartRef__":true,"id":1302}},"ref":{"__isSmartRef__":true,"id":1301}},"1302":{"registeredObject":{"target":{"__isSmartRef__":true,"id":344},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1302}},"1303":{"registeredObject":{"isListItem":true,"string":"Copier (extension)","value":{"__isSmartRef__":true,"id":1304}},"ref":{"__isSmartRef__":true,"id":1303}},"1304":{"registeredObject":{"target":{"__isSmartRef__":true,"id":365},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1304}},"1305":{"registeredObject":{"isListItem":true,"string":"Importer","value":{"__isSmartRef__":true,"id":1306}},"ref":{"__isSmartRef__":true,"id":1305}},"1306":{"registeredObject":{"target":{"__isSmartRef__":true,"id":369},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1306}},"1307":{"registeredObject":{"isListItem":true,"string":"Importer (extension)","value":{"__isSmartRef__":true,"id":1308}},"ref":{"__isSmartRef__":true,"id":1307}},"1308":{"registeredObject":{"target":{"__isSmartRef__":true,"id":392},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1308}},"1309":{"registeredObject":{"isListItem":true,"string":"Function (extension)","value":{"__isSmartRef__":true,"id":1310}},"ref":{"__isSmartRef__":true,"id":1309}},"1310":{"registeredObject":{"target":{"__isSmartRef__":true,"id":396},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1310}},"1311":{"registeredObject":{"isListItem":true,"string":"Function (extension)","value":{"__isSmartRef__":true,"id":1312}},"ref":{"__isSmartRef__":true,"id":1311}},"1312":{"registeredObject":{"target":{"__isSmartRef__":true,"id":403},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1312}},"1313":{"registeredObject":{"isListItem":true,"string":"MouseHandlerForDragging","value":{"__isSmartRef__":true,"id":1314}},"ref":{"__isSmartRef__":true,"id":1313}},"1314":{"registeredObject":{"target":{"__isSmartRef__":true,"id":408},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1314}},"1315":{"registeredObject":{"isListItem":true,"string":"MouseHandlerForRelay","value":{"__isSmartRef__":true,"id":1316}},"ref":{"__isSmartRef__":true,"id":1315}},"1316":{"registeredObject":{"target":{"__isSmartRef__":true,"id":413},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1316}},"1317":{"registeredObject":{"isListItem":true,"string":"Morph","value":{"__isSmartRef__":true,"id":1318}},"ref":{"__isSmartRef__":true,"id":1317}},"1318":{"registeredObject":{"target":{"__isSmartRef__":true,"id":420},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1318}},"1319":{"registeredObject":{"isListItem":true,"string":"Morph (extension)","value":{"__isSmartRef__":true,"id":1320}},"ref":{"__isSmartRef__":true,"id":1319}},"1320":{"registeredObject":{"target":{"__isSmartRef__":true,"id":422},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1320}},"1321":{"registeredObject":{"isListItem":true,"string":"Morph (extension)","value":{"__isSmartRef__":true,"id":1322}},"ref":{"__isSmartRef__":true,"id":1321}},"1322":{"registeredObject":{"target":{"__isSmartRef__":true,"id":435},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1322}},"1323":{"registeredObject":{"isListItem":true,"string":"Global.ViewTrait (object)","value":{"__isSmartRef__":true,"id":1324}},"ref":{"__isSmartRef__":true,"id":1323}},"1324":{"registeredObject":{"target":{"__isSmartRef__":true,"id":737},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1324}},"1325":{"registeredObject":{"isListItem":true,"string":"View","value":{"__isSmartRef__":true,"id":1326}},"ref":{"__isSmartRef__":true,"id":1325}},"1326":{"registeredObject":{"target":{"__isSmartRef__":true,"id":751},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1326}},"1327":{"registeredObject":{"isListItem":true,"string":"Model","value":{"__isSmartRef__":true,"id":1328}},"ref":{"__isSmartRef__":true,"id":1327}},"1328":{"registeredObject":{"target":{"__isSmartRef__":true,"id":759},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1328}},"1329":{"registeredObject":{"isListItem":true,"string":"ModelPlug","value":{"__isSmartRef__":true,"id":1330}},"ref":{"__isSmartRef__":true,"id":1329}},"1330":{"registeredObject":{"target":{"__isSmartRef__":true,"id":768},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1330}},"1331":{"registeredObject":{"isListItem":true,"string":"SyntheticModel","value":{"__isSmartRef__":true,"id":1332}},"ref":{"__isSmartRef__":true,"id":1331}},"1332":{"registeredObject":{"target":{"__isSmartRef__":true,"id":777},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1332}},"1333":{"registeredObject":{"isListItem":true,"string":"PasteUpMorph","value":{"__isSmartRef__":true,"id":1334}},"ref":{"__isSmartRef__":true,"id":1333}},"1334":{"registeredObject":{"target":{"__isSmartRef__":true,"id":792},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1334}},"1335":{"registeredObject":{"isListItem":true,"string":"Styles","value":{"__isSmartRef__":true,"id":1336}},"ref":{"__isSmartRef__":true,"id":1335}},"1336":{"registeredObject":{"target":{"__isSmartRef__":true,"id":802},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1336}},"1337":{"registeredObject":{"isListItem":true,"string":"Styles (extension)","value":{"__isSmartRef__":true,"id":1338}},"ref":{"__isSmartRef__":true,"id":1337}},"1338":{"registeredObject":{"target":{"__isSmartRef__":true,"id":803},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1338}},"1339":{"registeredObject":{"isListItem":true,"string":"Global.DisplayThemes (object)","value":{"__isSmartRef__":true,"id":1340}},"ref":{"__isSmartRef__":true,"id":1339}},"1340":{"registeredObject":{"target":{"__isSmartRef__":true,"id":808},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1340}},"1341":{"registeredObject":{"isListItem":true,"string":"WorldMorph","value":{"__isSmartRef__":true,"id":1342}},"ref":{"__isSmartRef__":true,"id":1341}},"1342":{"registeredObject":{"target":{"__isSmartRef__":true,"id":810},"browser":{"__isSmartRef__":true,"id":218},"savedSource":"PasteUpMorph.subclass(\"WorldMorph\", \n'defaults', {\n documentation: \"A Morphic world (a visual container of other morphs)\",\n fill: Color.primary.blue,\n defaultExtent: pt(1280, 1024),\n\tstyleClass: ['world'],\n\t\n // Default theme for the theme manager \n},\n'initilization', {\n\tinitialize: function($super, canvas, backgroundImageId) {\n\t\tvar bounds = Rectangle.fromElement(canvas);\n\t\t// sometimes bounds has zero dimensions (when reloading thes same page, timing issues?\n\t\t// in Firefox bounds may be 1x1 size?? maybe everything should be run from onload or sth?\n\t\tif (bounds.width < 2) {\n\t\t\tbounds.width = this.defaultExtent.x;\n\t\t}\n\n\t\tif (bounds.height < 2) {\n\t\t\tbounds.height = this.defaultExtent.y;\n\t\t}\n\n\t\tif (backgroundImageId) {\n\t\t\tvar background = NodeFactory.create(\"use\");\n\t\t\tXLinkNS.setHref(background, backgroundImageId);\n\t\t\tthis.addNonMorph(background);\n\t\t}\n\t\t$super(new lively.scene.Rectangle(bounds));\n\n\t\tthis.setDisplayTheme(this.displayTheme); // apply display theme\n\n\t\t//gradient.rawNode.setAttributeNS(null, \"gradientTransform\", \"translate(0, -0.1) skewY(10)\");\t\t \n\t\tthis.enterCount = 0;\n\t},\n\n\tdoNotSerialize: ['hands', 'scheduledActions', 'lastStepTime', 'mainLoop', 'worldId', 'secondTick', 'currentScript', 'currentSelection', '_statusMessageContainer'],\n\n initializeTransientState: function($super) {\n $super();\n\n this.hands = [];\n\n\t\t\t\t\n\t\tvar theme = DisplayThemes[Config.defaultDisplayTheme];\n\t\tif (!theme)\n\t\t\tconsole.log('ERROR: could not find Theme ' + Config.defaultDisplayTheme)\n\t\tthis.displayTheme = theme; // set display them without applying it\n\t\tconsole.log('WorldMorph: updated display theme ')\n\n\n\t\tthis.withAllSubmorphsDo( function() { this.layoutChanged(); }); // Force installation of transforms\n\n this.scheduledActions = []; // an array of schedulableActions to be evaluated\n this.lastStepTime = (new Date()).getTime();\n this.mainLoopFunc = this.doOneCycle.bind(this).logErrors('Main Loop');\n this.mainLoop = Global.setTimeout(this.mainLoopFunc, 30);\n this.worldId = ++WorldMorph.worldCount;\n\t\tvar self = this;\n\t\twindow.onscroll = function() {signal(self, 'scrollChange')}\n\n return this;\n },\n\n\tcollectAllUsedFills: function($super, usedFills) {\n\t\tusedFills = $super(usedFills);\n\t\tProperties.forEachOwn(this.displayTheme, function(ea) {\n\t\t\tvar style = this[ea]\n\t\t\tif (style && (style.fill instanceof lively.paint.Gradient)) {\n\t\t\t\tusedFills.push(style.fill);\n\t\t\t} \n\t\t}.bind(this.displayTheme))\n\t\treturn usedFills\n\t},\n \n\tremove: function() {\n\t\tif (!this.rawNode.parentNode) return null; // already removed\n\t\tthis.hands.clone().forEach(function(hand) { this.removeHand(hand) }, this);\n\t\tthis.stopStepping();\n\t\tthis.removeRawNode();\n\t\treturn this;\n\t},\n},\n'private', {\n\n\t// called by insertMorph to determine the rawNode after the new inserted morph\n\tgetInsertPositionFor: function(m, isFront) {\n\t\tif (this.submorphs.length == 0) return this.hands.length > 0 ? this.hands[0].rawNode : null;\n\t\treturn isFront ? this.submorphs.last().rawNode.nextSibling : this.submorphs.first().rawNode;\n\t},\n\t\n\ttoggleNativeCursor: function(flag) {\n\t\tthis.canvas().setAttributeNS(null, \"cursor\", flag ? \"auto\" : \"none\");\n\t},\n\n\tresizeCanvasToFitWorld: function () {\n\t\tvar canvas = this.canvas();\n\t\tif (!canvas) return;\n\t\tthis.transformChanged();\n\t\tthis.fullBounds = null;\n\n\t\tvar w = this.bounds().width * this.getScale() , h = this.bounds().height * this.getScale();\n\n\t\tif (canvas.clientWidth != w && canvas.clientHeight != h) {\n\t\t\tif (canvas.offsetLeft) w += canvas.offsetLeft * this.getScale();\n\t\t\tif (canvas.offsetTop) h += canvas.offsetTop * this.getScale();\n\t\t\tcanvas.setAttribute(\"width\", w);\n\t\t\tcanvas.setAttribute(\"height\", h);\n\n\t\t}\n\t},\n\n\tdisplayOnCanvas: function(canvas) {\n\t\t// this.remove();\n\t\tif (this.rawNode.parentNode !== canvas) canvas.appendChild(this.rawNode);\n\t\tvar hand = this.addHand(new HandMorph(true));\n\t\tWorldMorph.currentWorld = this; // this conflicts with mutliple worlds\n\t\tif (Config.resizeScreenToWorldBounds)\n\t\t\tthis.resizeCanvasToFitWorld(this);\n\t\tthis.onEnter(); \n\n\t\tthis.enterCount ++;\n\t},\n \n\taddHand: function(hand) {\n\t\tif (this.hands.length > 0 && !this.hands.first())\n\t\t\tthis.hands.shift(); // FIXME: Quick bugfix. When deserializing the world the hands.first() is sometimes undefined\n\t\tthis.hands.push(hand);\n\t\thand.owner = this;\n\t\t// FIXME mouse events are correctly dispatched when using canvas or world\n\t\t// keyboard events only work when using documentElement --> problem with multiple worlds\n\t\thand.registerForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.registerForEvents(this.canvas());\n\t\thand.layoutChanged();\n\n\t\tthis.rawNode.appendChild(hand.rawNode);\n\t\treturn hand;\n\t},\n \n\tremoveHand: function(hand) {\n\t\thand.setMouseFocus(null); // cleanup, just in case\n\t\thand.setKeyboardFocus(null); // cleanup (calls blur(), which will remove the focus halo)\n\t\thand.removeRawNode();\n\t\thand.unregisterForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.unregisterForEvents(this.canvas());\n\n\t\tthis.hands.splice(this.hands.indexOf(hand), 1);\n\t},\n\n\n toggleBalloonHelp: function() {\n Morph.prototype.suppressBalloonHelp = !Morph.prototype.suppressBalloonHelp;\n },\n\n toggleDebugBackground: function() {\n // Debug background is transparent, so that we can see the console\n // if it is not otherwise visible\n Config.useDebugBackground = !Config.useDebugBackground;\n this.shape.setFillOpacity(Config.useDebugBackground ? 0.8 : 1.0);\n },\n\n chooseDisplayTheme: function(evt) { \n var themes = DisplayThemes;\n var target = this; // trouble with function scope\n var themeNames = Properties.own(themes);\n var items = themeNames.map(\n function(each) { return [each, target, \"setDisplayTheme\", themes[each]]; });\n var menu = new MenuMorph(items, this);\n menu.openIn(this.world(), evt.point());\n },\n \n setDisplayTheme: function(styleDict) { \n this.displayTheme = styleDict;\n this.withAllSubmorphsDo( function() { this.applyLinkedStyles(); });\n },\n \n restart: function() {\n window.location && window.location.reload();\n },\n\n},\n'geometry', {\n \n layoutChanged: function() {\n\t// do nothing\n },\n\n layoutOnSubmorphLayout: function() {\n\treturn false;\n },\n \n\n moveBy: function(delta) { // don't try to move the world\n },\n},\n'world', {\n\n world: function() { \n return this; \n },\n\t\n validatedWorld: function() { \n return this; \n },\n \n firstHand: function() {\n return this.hands[0];\n },\n\n onEnter: function() {},\n onExit: function() {},\n\n /**\n * override b/c of parent treatement\n */\n relativize: function(pt) { \n return pt;\n //return pt.matrixTransform(this.rawNode.parentNode.getTransformToElement(this.rawNode)); \n },\n\thideHostMouseCursor: function() {\n\t\tif (!Config.hideSystemCursor) return;\n\t\tvar\tpath = URL.codeBase.withFilename('media/nocursor.gif').pathname\n\t\tdocument.body.style.cursor = 'url(\"' + path + '\"), none';\n\t},\n\tshowHostMouseCursor: function() {\n\t\tdocument.body.style.cursor = 'default'\n\t},\n\n\n\n},\n'stepping', {\n \n // *** The new truth about ticking scripts ***\n // A morph may have any number of active scripts\n // Each is activated by a call such as\n // this.startStepping(50, \"rotateBy\", 0.1);\n // Note that stepTime is in milliseconds, as are all lower-level methods\n // The arguments are: stepTime, scriptName, argIfAny\n // This in turn will create a SchedulableAction of the form\n // { actor: aMorph, scriptName: \"rotateBy\", argIfAny: 0.1, stepTime: 50, ticks: 0 }\n // and this action will be both added to an array, activeScripts in the morph,\n // and it will be added to the world's scheduledActions list, which is an array of\n // tuples of the form [msTimeToRun, action]\n // The ticks field is used to tally ticks spent in each schedulableAction --\n // It is incremented on every execution, and it is multiplied by 0.9 every second\n // Thus giving a crude 10-second average of milliseconds spent in this script\n // every 10 seconds. The result is divided by 10 in the printouts.\n //\n // The message startSteppingScripts can be sent to morphs when they are placed in the world.\n // It is intended that this may be overridden to start any required stepping.\n // The message stopStepping will be sent when morphs are removed from the world.\n // In this case the activeScripts array of the morph is used to determine exactly what\n // scripts need to be unscheduled. Note that startSteppingScripts is not sent\n // automatically, whereas stopStepping is. We know you won't forget to \n // turn your gadgets on, but we're more concerned to turn them off when you're done.\n\n scheduleForLater: function(action, delayInMs, removePrior) {\n if (removePrior) this.stopSteppingFor(action, true); // unschedule earlier\n this.scheduleAction(new Date().getTime() + delayInMs, action);\n },\n \n startSteppingFor: function(action) {\n\t\tif (!action.scriptName) throw new Error(\"old code\");\n\t\t// New code for stepping schedulableActions\n\t\tthis.stopSteppingFor(action, true); // maybe replacing arg or stepTime\n\t\tthis.scheduleAction(new Date().getTime(), action);\n\t},\n \n stopSteppingFor: function(action, fromStart) { // should be renamed to unschedule()\n // fromStart means it is just getting rid of a previous one if there,\n\t // so not an error if not found\n\n if (this.currentScript === action) {\n\t\t // Not in queue; just prevent it from being rescheduled\n\t\t this.currentScript = null;\n\t\t return;\n\t\t};\n\n\t\tthis.scheduledActions = this.scheduledActions.reject(function(ea) {\n\t\t\tvar eaAction = ea[1]\n\t\t\treturn action.equalActorAndName(eaAction)\n\t\t})\n },\n\n \tstopSteppingScriptNamedAndRemoveFromSubmorphs: function(sName) {\n\t\tif (!this.activeScripts) return;\n\t\tvar all =this.activeScripts.select(function (ea) { return ea.scriptName == sName });\n\t\tall.invoke('stop', this.world());\n\t\tall.each(function(ea) {this.removeMorph(ea);}.bind(this));//remove\n\t\tthis.activeScripts = this.activeScripts.select(function (ea) { return ea.scriptName !== sName });\t\n\t\tif (this.activeScripts.length == 0) this.activeScripts = null;\n },\n \n validateScheduler: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n\tvar list = this.scheduledActions.clone(); // shorthand\n for (var i = 0; i < list.length; i++) {\n var actn = list[i][1];\n if (actn.actor instanceof Morph && actn.actor.validatedWorld() !== this) {\n this.stopSteppingFor(actn)\n }\n }\n },\n\n inspectScheduledActions: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n lively.Tools.inspect(this.scheduledActions.map(function(each) { return each[1]; }));\n },\n\n doOneCycle: function WorldMorph$doOneCycle(world) {\n // Process scheduled scripts\n\n // Run through the scheduledActions queue, executing those whose time has come\n // and rescheduling those that have a repeatRate\n // Note that actions with error will not get rescheduled\n // (and, unless we take the time to catch here, will cause all later \n // ones in the queue to miss this tick. Better less overhead, I say\n // DI: **NOTE** this needs to be reviewed for msClock rollover\n // -- also note we need more time info for multi-day alarm range\n // When we do this, I suggest that actions carry a date and msTime\n // and until their day is come, they carry a msTime > a day\n // That way they won't interfere with daily scheduling, but they can\n // still be dealt with on world changes, day changes, save and load.\n\t\tvar msTime = new Date().getTime();\n\t\tvar timeOfNextStep = Infinity;\n\t\tvar list = this.scheduledActions; // shorthand\n\t\tvar timeStarted = msTime; // for tallying script overheads\n\t\twhile (list.length > 0 && list[list.length - 1][0] <= msTime) {\n\t\t\tvar schedNode = list.pop(); // [time, action] -- now removed\n\t\t\tvar action = schedNode[1];\n\t\t\tthis.currentScript = action; // so visible from stopStepping\n\t\t\tlively.lang.Execution.resetDebuggingStack(); // Reset at each tick event\n\t\t\ttry {\n\t\t\t\taction.exec();\n\t\t\t} catch (er) {\n\t\t\t\tconsole.warn(\"error on actor %s: %s\", action.actor, er);\n\t\t\t\tdbgOn(true);\n\t\t\t\tlively.lang.Execution.showStack();\n\t\t\t\ttimeStarted = new Date().getTime();\n\t\t\t\tcontinue; // Note: if error in script above, it won't get rescheduled below (this is good)\n\t\t\t}\n \n\t\t\t// Note: stopStepping may set currentScript to null so it won't get rescheduled\n\t\t\tif (this.currentScript && action.stepTime > 0) {\n\t\t\t\tvar nextTime = msTime + action.stepTime;\n\t\t\t\tthis.scheduleAction(nextTime, action)\n\t\t\t}\n\t\t\tthis.currentScript = null;\n\n\t\t\tvar timeNow = new Date().getTime();\n\t\t\tvar ticks = timeNow - timeStarted;\n\t\t\tif (ticks > 0) action.ticks += ticks; // tally time spent in that script\n\t\t\ttimeStarted = timeNow;\n\t\t}\n\n\t\t// Generate a mouseMove if any ticking scripts have run so that\n\t\t// simulations can respond where, eg, a morph moves under the mouse\n\t\t// DI: This is *only* needed for the slide-keyboard-under-mouse demo (very cool)\n\t\t//\tUses extra cycles, though, and currently fails in Opera\n\t\tif (Config.nullMoveAfterTicks) { // set this true in localConfig for the demo\n\t\t\tvar myHand = this.firstHand();\n\t\t\tif (myHand) myHand.makeANullMove();\n\t\t}\n\t\tif (list.length > 0) timeOfNextStep = Math.min(list[list.length-1][0], timeOfNextStep);\n\n\t\t// Each second, run through the tick tallies and mult by 0.9 to 10-sec \"average\"\n\t\tif (!this.secondTick) this.secondTick = 0;\n\t\tvar secondsNow = Math.floor(msTime / 1000);\n\t\tif (this.secondTick != secondsNow) {\n\t\t\tthis.secondTick = secondsNow;\n\t\t\tvar tallies = {};\n\t\t\tfor (var i=0; i=0; i--) {\n var schedNode = list[i];\n if (schedNode[0] > msTime) {\n list.splice(i+1, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n return; \n }\n }\n list.splice(0, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n },\n},\n'dialogs', {\n \n\topenURLasText: function(url, title) {\n\t\t// FIXME: This should be moved with other handy services like confirm, notify, etc\t\t\n\t\tvar pane = this.addTextWindow({content: \"fetching ... \", title: title});\n\t\tvar r = new WebResource(url);\n\t\tlively.bindings.connect(r, 'content', pane.innerMorph(), 'setTextString');\n\t\tr.beAsync().get();\n\t\t\n\t},\n\n\tviewport: function() {\n\t\ttry {\n\t\t\treturn Rectangle.ensure(this.canvas().viewport);\n\t\t\t} catch (er) { // FF doesn't implement viewport ?\n\t\t\treturn this.shape.bounds();\n\t\t}\n\t},\n\n\talert: function(varargs) {\n\t\tvar message = Strings.formatFromArray($A(arguments));\n\t\tvar openDialog = function() {\n\t\t\talert(message)\n\t\t};\n\t\tthis.setStatusMessage(message, Color.red, undefined, openDialog, undefined, \"alert: \")\n\t}.logErrors('alert'),\n\n\tprompt: function(message, callback, defaultInput) {\n\t\tvar model = Record.newPlainInstance({Message: message, Input: defaultInput || \"\", Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value == true && callback) callback.call(Global, model.getInput());\n\t\t\t}\n\t\t});\n\t\tvar dialog = new PromptDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\", Input: \"Input\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t},\n\n editPrompt: function(message, callback, defaultInput) {\n\t\tvar dialog = new PromptDialogMorph();\n\t\tdialog.title = message;\n\t\tdialog.setText(defaultInput);\n\t\tdialog.callback = callback;\n\t\tdialog.openIn(this, this.positionForNewMorph(dialog));\n\t\treturn dialog\n },\n\n\tconfirm: function(message, callback) {\n\t\tvar model = Record.newPlainInstance({Message: message, Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value && callback) callback.call(Global, value);\n\t\t\t}});\n\t\tvar dialog = new ConfirmDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t\treturn dialog;\n\t},\n\tshowErrorDialog: function(error) {\n\t\tvar pane = this.addTextWindow({\n\t\t\tcontent: \"\",\n\t\t\ttitle: \"Error\", \n\t\t});\n\t\tpane.owner.setPosition(this.positionForNewMorph(pane))\n\t\tLastPane = pane\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceURL) {\n\t\t\t// works under Safari 5\n\t\t\tvar urlString = error.sourceURL;\n\t\t\tvar source = new WebResource(new URL(urlString)).get().content\n\t\t\tthis.showErrorDiaglogInWorkspace(source, error.expressionBeginOffset, error.expressionEndOffset, pane)\n\t\t\tpane.owner.setTitle('Error:' + urlString)\n\t\t\treturn pane\n\t\t}\n\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceId) {\n\t\t\tvar sourceReference = EvalSourceRegistry.current().sourceReference(error.sourceId);\n\t\t\tif (sourceReference !== undefined) {\n\t\t\t\tconsole.log('error ' + printObject(error))\n\t\t\t\tvar expressionBeginOffset = error.expressionBeginOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tvar expressionEndOffset = error.expressionEndOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tthis.showErrorDiaglogInWorkspace(sourceReference.sourceString, expressionBeginOffset, expressionEndOffset, pane)\n\t\t\t\tif (sourceReference.morph) {\n\t\t\t\t\tsourceReference.morph.showError(error, (sourceReference.offset || 0) - sourceReference.evalCodePrefixLength)\n\t\t\t\t}\n\n\t\t\t\treturn pane\n\t\t\t}\n\t\t} \n\n\t\tpane.innerMorph().setTextString(printObject(error))\t\n\t\treturn pane\n\t},\n\tshowErrorDiaglogInWorkspace: function(source, expressionBeginOffset, expressionEndOffset, pane) {\n\t\t// PRIVATE HELPER\n\t\tconsole.log(\"begin \" + expressionBeginOffset + \" end \" + expressionEndOffset)\n\t\tvar start = source.lastIndexOf(\"\\n\\n\", expressionBeginOffset)\n\t\tif (start == -1) start = 0;\n\t\tvar startOffset = expressionBeginOffset - start;\n\t\tvar stop = source.indexOf(\"\\n\", expressionEndOffset + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\n\t\tif (stop == -1) stop = source.length;\n\n\t\tconsole.log(\"source: \" + source + \"| \" + source.length+\" expressionEndOffset: \" + expressionEndOffset)\n\t\tvar excerpt = source.slice(start, stop)\n\t\tpane.innerMorph().setTextString(excerpt)\n\n\t\tpane.innerMorph().emphasizeFromTo({color: Color.red}, \n\t\t\tstartOffset, startOffset + expressionEndOffset - expressionBeginOffset);\n\t\tpane.innerMorph().replaceSelectionWith\n\t\tconsole.log(\"found excerpt: \" + excerpt + \" start: \" + start + \" stop:\" + stop)\n\t},\n},\n'new content', {\n \n\taddFramedMorph: function(morph, title, optLoc, optSuppressControls) {\n\t\tvar displ = pt(5, 5);\n\t\treturn this.addMorphAt(\n\t\t\tnew WindowMorph(morph, title, optSuppressControls), \n\t\t\toptLoc || this.positionForNewMorph(morph).subPt(displ));\n\t},\n\n\taddTextWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (Object.isString(spec.valueOf())) spec = {content: spec}; // convenience\n\t\tvar extent = spec.extent || pt(500, 200);\n\t\tvar pane = this.internalAddWindow(\n\t\t\t\tnewTextPane(extent.extentAsRectangle(), spec.content || \"\"),\n\t\t\t\tspec.title, spec.position);\n\t\tif (spec.acceptInput !== undefined) pane.innerMorph().acceptInput = spec.acceptInput;\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\taddTextListWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (spec instanceof Array) spec = {content: spec }; // convenience\n\t\tvar content = spec.content;\n\t\tif (!content) content = \"\";\n\t\tif (!(content instanceof Array)) content = [content];\n\t\tvar extent = spec.extent || pt(500, Math.min(300, content.length * TextMorph.prototype.fontSize * 1.5));\n\t\tvar rec = extent.extentAsRectangle();\n\t\tvar pane = this.internalAddWindow(newTextListPane(rec, content), spec.title, spec.position);\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\tinternalAddWindow: function(pane, titleSpec, posSpec) {\n\t\tvar pos = (posSpec instanceof Point) ? posSpec : undefined;\n\t\tpane.setBorderWidth(2); pane.setBorderColor(Color.black);\n\t\tvar win = this.addFramedMorph(pane, String(titleSpec || \"\"), pos || this.firstHand().position().subPt(pt(5, 5)));\n\t\tif (posSpec == \"center\") {\n\t\t\twin.align(win.bounds().center(), this.viewport().center());\n\t\t}\n\t\treturn pane;\n\t},\n\n\n\taddMorphFrontOrBack: function($super, m, front) {\n\t\tvar oldTop = this.topWindow();\n\t\tvar result = $super(m, front);\n\t\tif (!front || !(m instanceof WindowMorph)) return result;\n\t\t// if adding a new window on top, then make it active\n\t\tif (oldTop) oldTop.titleBar.highlight(false);\n\t\tm.takeHighlight();\n\t\treturn result;\n\t},\n\n\ttopWindow: function() {\n\t\tfor (var i= this.submorphs.length - 1; i >= 0; i--) {\n\t\t\tvar sub = this.submorphs[i];\n\t\t\tif (sub instanceof WindowMorph) return sub;\n\t\t}\n\t\treturn null;\n\t},\n\n\tpositionForNewMorph: function(newMorph, relatedMorph) {\n\t\t// this should be much smarter than the following:\n\t\tif (relatedMorph)\n\t\t\treturn relatedMorph.bounds().topLeft().addPt(pt(5, 0));\n\t\tvar pos = this.firstHand().getPosition();\n\t\tif (!newMorph) return pos;\n\t\tvar viewRect = this.windowBounds();\n\t\tvar newMorphBounds = pos.extent(newMorph.getExtent());\n\t\tif (viewRect.containsRect(newMorphBounds)) return pos;\n\t\treturn viewRect.center().subPt(newMorphBounds.extent().scaleBy(0.5));\n\t},\n\n\treactiveAddMorph: function(morph, relatedMorph) { \t// add morph in response to a user action, make it prominent\n\t\treturn this.addMorphAt(morph, this.positionForNewMorph(morph, relatedMorph));\n\t},\n \n resizeByUser: function() {\n var world = this;\n var cb = function(newSizePtLiteral) {\n \t try {\n \t var newPoint = eval(newSizePtLiteral);\n \t basicResize(world, world.canvas(), newPoint.x, newPoint.y);\n } catch(e) {\n \t world.alert('Wrong input ' + newSizePtLiteral);\n \t\t }\n \t};\n \tworld.prompt('Enter extent', cb, world.bounds().bottomRight().toString());\n },\n\n\taddProgressBar: function(optPt) {\n\t\tvar center = optPt || this.windowBounds().center()\n\t\tvar progressBar = new ProgressBarMorph(new Rectangle(0,0, 450, 30))\n\t\tthis.addMorph(progressBar);\n\t\tprogressBar.align(progressBar.bounds().center(), center);\n\t\tprogressBar.ignoreEvents();\n\t\treturn progressBar\n\t},\n}, \n'Requirements', {\n\t// this.world().showAddWorldRequirementsMenu(pt(100,100))\n\tshowAddWorldRequirementsMenu: function(pos) {\n\t\t\tvar ignoreModules = \"lively.Widgets lively.WikiWidget lively.Data lively.Base lively.defaultconfig lively.CanvasExpt lively.obsolete lively.Helper lively.miniprototype lively.demofx lively.Text lively.EmuDom lively.Core lively.bindings lively.rhino-compat lively.Tools lively.localconfig lively.Main lively.Network lively.scene lively.simpleMain lively.ChangeSet lively.ide\".split(\" \")\n\n\t\t\tvar items = ['apps', 'lively', 'Tests', 'draft']\n\t\t\t\t.select(function(ea){\n\t\t\t\t\treturn new WebResource(new URL(Config.codeBase).withFilename(ea)).exists()})\n\t\t\t\t.collect(function(eaDir) {\n\t\t\treturn [eaDir, ChangeSet.current()\n\t\t\t\t.moduleNamesInNamespace(eaDir)\n\t\t\t\t.sort()\n\t\t\t\t.reject(function(ea) { return ignoreModules.include(ea) })\n\t\t\t\t.collect(function(ea){ \n\t\t\t\t\treturn [ea, function(){\n\t\t\t\t\t\tmodule(ea).load();\n\t\t\t\t\t\tChangeSet.current().addWorldRequirement(ea);\n\t\t\t\t\t\tthis.alert(\"load \" + ea + \" module\")}\n\t\t\t\t]}\n\t\t\t)]\n\t\t});\n\n\t\tvar menu = new MenuMorph(items, this.world());\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"require module for this page\");\n\n\t},\n\t// this.world().showRemoveWorldRequirementsMenu(pt(100,100))\n\tshowRemoveWorldRequirementsMenu: function(pos) {\n\t\tvar pageModules = ChangeSet.current().getWorldRequirementsList().evaluate() \n\t\tvar items = pageModules\n\t\t\t.sort()\n\t\t\t.collect(function(ea){ \n\t\t\treturn [ea, function(){\n\t\t\t\tChangeSet.current().removeWorldRequirement(ea);\n\t\t\t\tthis.alert(\"remove \" + ea + \" module requirement\")}]\n\t\t})\n\t\tvar menu = new MenuMorph(items, this.world())\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"remove module requirement for this page\");\n\t}\n},\n'Feedback and Saving', {\n\n\tpromptAndSaveWorld: function(asJson) {\n\t\tthis.prompt(\"world file (.xhtml)\", function(filename) {\n\t\t\tif (!filename.endsWith('.xhtml')) filename += '.xhtml'\n\t\t\tvar start = new Date().getTime();\t\n\t\t\tif (asJson) this.saveWorldWithJSON(filename);\n\t\t\telse this.exportLinkedFile(filename);\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tthis.setStatusMessage(\"world save as \" + filename + \" in \" + time + \"ms\", Color.green, 3)\t\n\t\t}.bind(this)); \n\t},\n\n\tsaveWorldWithJSON: function(optURLOrPath) {\n\t\tvar world = this,\n\t\t\turl = optURLOrPath || URL.source,\n\t\t\tstart = new Date().getTime(),\n\t\t\tonFinished = function() {\n\t\t\t\tvar time = new Date().getTime() - start;\n\t\t\t\tworld.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + time + \"ms serialization)\", Color.green, 3)\n\t\t\t};\n\t\t\t\n\t\t\t\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\trequire(\"lively.SmartRefSerialization\").toRun(function() {\n\t\t\tif (world._statusMessageContainer) world._statusMessageContainer.remove();\n\t\t\tvar doc = ObjectGraphLinearizer.serializeWorld(world);\n\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t});\n\n\t\t\n\t\treturn url;\n\t},\n\t\n\tsaveWorld: function(optURLOrPath) {\n\t\tvar url = optURLOrPath || URL.source;\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\tvar start = new Date().getTime();\n\t\tvar self = this;\n\t\tvar serializeTime;\n\t\tvar onFinished = function() {\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tself.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + serializeTime + \"ms serialization)\", Color.green, 3)\n\t\t}\n\t\tvar statusMessage = WorldMorph.current().setStatusMessage(\"serializing....\");\n\t\t(function() {\n\t\t\tvar oldHand = this.firstHand();\n\t\t\tvar oldKeyboardFocus = oldHand.keyboardFocus;\n\t\t\tthis.removeHand(oldHand);\n\t\t\tvar doc;\n\t\t\tvar world = this;\n\t\t\ttry {\n\t\t\t\tdoc = Exporter.shrinkWrapMorph(this.world());\n\t\t\t\n\t\t\t} catch(e) {\n\t\t\t\tthis.setStatusMessage(\"Save failed due to:\\n\" + e, Color.red, 10, function() {\n\t\t\t\t\tworld.showErrorDialog(e)\n\t\t\t\t})\n\t\t\t} finally {\n\t\t\t\tthis.addHand(oldHand);\n\t\t\t\tconsole.log(\"setting back keyboard focus to\" + oldKeyboardFocus)\n\t\t\t\tif (oldKeyboardFocus)\n\t\t\t\t\toldKeyboardFocus.requestKeyboardFocus(oldHand);\n\t\t\t}\n\t\t\tnew DocLinkConverter(URL.codeBase, url.getDirectory()).convert(doc);\t\t\t\n\t\t\tstatusMessage.remove();\n\t\t\t(function removeJSONIfPresent() {\n\t\t\t\tvar jsonEl = doc.getElementById('LivelyJSONWorld');\n\t\t\t\tif (jsonEl) jsonEl.parentNode.removeChild(jsonEl);\n\t\t\t})()\n\t\t\tserializeTime = new Date().getTime() - start;\n\t\t\t(function() {\n\t\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t\t}).bind(this).delay(0);\n\t\t}).bind(this).delay(0);\n\t\treturn url;\n\t},\n\n\twindowBounds: function () {\n\t\tvar canvas = this.canvas();\n\t\tvar scale = 1/this.world().getScale();\n\t\tvar topLeft = pt(Global.pageXOffset - canvas.offsetLeft, Global.pageYOffset - canvas.offsetTop);\n\t\tvar width = Math.min(\n\t\t\tGlobal.document.documentElement.clientWidth * scale,\n\t\t\tWorldMorph.current().getExtent().x);\n\t\tvar height = Math.min(\n\t\t\tGlobal.document.documentElement.clientHeight * scale,\n\t\t\tWorldMorph.current().getExtent().y)\n\t\treturn topLeft.scaleBy(scale).extent(pt(width, height));\n\t},\n\t\n\tvisibleBounds: function() {\n\t\tvar windowBounds = this.windowBounds();\n\t\tvar worldBounds = this.shape.bounds(); // use shape so no stick-outs are included\n\t\tvar upperLeft = pt(Math.max(windowBounds.x, worldBounds.x), Math.max(windowBounds.y, worldBounds.y));\n\t\tvar lowerRight = pt(Math.min(windowBounds.width, worldBounds.width), Math.min(windowBounds.height, worldBounds.height));\n\t\treturn upperLeft.extent(lowerRight);\n\t},\n\n\tensureStatusMessageContainer: function() {\n\t\tif (!this._statusMessageContainer || ! this._statusMessageContainer.owner) {\n\t\t\tthis._statusMessageContainer = new StatusMessageContainer();\n\t\t\tthis._statusMessageContainer.setName(\"statusMorphContainer\");\n\t\t\tthis.addMorph(this._statusMessageContainer);\n\t\t\tthis._statusMessageContainer.startUpdate();\n\t\t};\n\t\treturn this._statusMessageContainer\n\t},\n\n\tsetStatusMessage: function(msg, color, delay, callback, optStyle, messageKind) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\treturn container.addStatusMessage(msg, color, delay, callback, optStyle, messageKind);\n\t},\t\n\n\tshowStatusProgress: function(msg) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\tvar progressBar = container.addProgressBar(msg);\t\t\n\t\treturn progressBar\n\t},\n\t\n\taskForWorldTitle: function() {\n\t\tvar self = this;\n\t\tthis.prompt('new world title', function(input) {\n\t\t\tdocument.title = input;\n\t\t}, document.title);\n\t},\n},\n/**\n *\tWorldMorph Menu \n *\n * Question: Should features register itself in the menu, \n * or should the menu give an overview of available features \n * and load the modules on demand?\n */\n'Menus ', {\n\tisProtectedWorld: function() {\n\t\treturn Global.URL && (URL.source.filename() == \"index.xhtml\")\n\t},\n\t\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.keepOnlyItemsNamed([\"inspect\", \"edit style\"]);\n\t\tmenu.addItems([['reset scale', function(evt) { var w = evt.hand.world(); w.setScale(1); w.resizeCanvasToFitWorld() }]]);\n\t\tmenu.addLine();\n\t\tmenu.addItems(this.subMenuItems(evt));\n\t\tmenu.addLine();\n\t\tmenu.addItems([\n\t\t\t[\"New subworld (LinkMorph)\", function(evt) { evt.hand.world().addMorph(new LinkMorph(null, evt.point()));}], \n\t\t\t[\"External link\", function(evt) { evt.hand.world().addMorph(new ExternalLinkMorph(URL.source, evt.point()));}],\n\t\t\t[\"authenticate for write access\", function() {\n\t\t\t\tnew NetRequest().put(URL.source.withFilename('auth'));\n\t\t\t\t// sometimes the wikiBtn seems to break after an authenticate\n\t\t\t\tif (Config.showWikiNavigator) WikiNavigator.enableWikiNavigator(true); }],\n\t\t\t[\"publish world as ... (XML)\", function() { this.promptAndSaveWorld() }],\n\t\t\t[\"publish world as ... (JSON)\", function() { this.promptAndSaveWorld(true/*asJson*/) }],\n\t\t]);\n\t\tif (! this.isProtectedWorld()) { // Global. avoids an error if Network.js not loaded\n\t\t\t// save but only if it's not the startup world\n\t\t\tmenu.addItem([\"save world (XML)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorld();\n\t\t\t}]);\n\t\t\tmenu.addItem([\"save world (JSON)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t}]);\n\t\t}\n\t\tif(Config.debugExtras) {\n\t\t\tmenu.addItem([\"arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }]);\n\t\t\tmenu.addItem([\"arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }]);\n\t\t}\n\t\tmenu.addItem([\"resize world\", this.resizeByUser]);\n\t\tmenu.addItem([\"restart system\", this.restart]);\n\t\treturn menu;\n\t},\n\t\n\tsimpleMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"Line\", function(evt) { \n\t\t\t\tvar p = evt.point(); \n\t\t\t\tvar m = Morph.makeLine([p, p.addXY(60, 30)], 2, Color.black);\n\t\t\t\tworld.addMorph(m);\n\t\t\t\tm.setPosition(evt.point())}],\n\t\t\t[\"Connector\", function(evt) { \n\t\t\t\trequire('lively.Connector').toRun(function() {\n\t\t\t\t\tvar m = Morph.makeConnector(evt.point())\n\t\t\t\t\tworld.addMorph(m);\n\t\t\t\t\tm.setGlobalEndPos(evt.point().addXY(60, 30))\n\t\t\t\t})}],\n\t\t\t[\"Rectangle\", function(evt) { world.addMorph(Morph.makeRectangle(evt.point(), pt(60, 30)));}],\n\t\t\t[\"Ellipse\", function(evt) { world.addMorph(Morph.makeCircle(evt.point(), 25)); }],\n\t\t\t[\"TextMorph\", function(evt) { \n\t\t\t\tvar text = new TextMorph(evt.point().extent(pt(120, 10)), \"This is a TextMorph\");\n\t\t\t\tworld.addMorph(text);}],\n\t\t\t[\"Star\",function(evt) { world.addMorph(Morph.makeStar(evt.point()))}],\n\t\t\t[\"Heart\", function(evt) { world.addMorph(Morph.makeHeart(evt.point()))}],\n\t\t\t[\"Marker\", function(evt) {world.addMorph(new MarkerMorph(evt.point().extent(pt(100, 100))))}]\n\t\t];\n\t},\n\n\tcomplexMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"SliderMorph\", function(evt) { world.addMorph(Widget.makeSlider(evt.point().extent(pt(120, 40))))}],\n\t\t\t[\"ButtonMorph\", function(evt) { world.addMorph(new ScriptableButtonMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ProgressBarMorph\", function(evt) { world.addMorph(new ProgressBarMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ScaleMorph\", function(evt) { world.addMorph(new ScaleMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"Clock\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = world.addMorph(new ClockMorph(evt.point(), 50));\n\t\t\t\t\tm.startSteppingScripts();\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.Examples')\n\t\t\t\t})}],\n\t\t\t[\"FabrikClock\", function(evt) {\n\t\t\t\trequire('lively.Fabrik').toRun(function() {\n\t\t\t\t\tvar clock = new FabrikClockWidget();\n\t\t\t\t\tvar morph = clock.buildView();\n\t\t\t\t\tworld.addMorph(morph);\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t\tmorph.startSteppingScripts(); }); }],\n\t\t\t[\"Text Window\", function(evt) { \n\t\t\t\tWorldMorph.current().addTextWindow(\"Editable text\"); }],\n\t\t\t[\"Piano Keyboard\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = new PianoKeyboard(evt.point());\n\t\t\t\t\tm.scaleBy(1.5);\t m.rotateBy(-Math.PI*2/12);\n\t\t\t\t\tworld.addMorph(m); }); }],\n\t\t\t[\"Kaleidoscope\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar kal = WorldMorph.current().addMorph(new SymmetryMorph(300, 7)); \n\t\t\t\t\tkal.startUp(); }) } ],\n\t\t\t[\"Image Morph\", function(evt) {\n\t\t\t\tworld.prompt('Enter image URL', function(urlString) {\n\t\t\t\t\tvar img = new ImageMorph(evt.point().extent(pt(100,100)), urlString);\n\t\t\t\t\timg.openInWorld() }) }],\n\t\t\t[\"Video Morph\", function(evt) {\n\t\t\t\tVideoMorph.openAndInteractivelyEmbed(evt.point()) }],\n\t\t\t[\"Layout Demo\", function(evt) {\n\t\t\t\trequire('lively.GridLayout').toRun(function() {\n\t\t\t\t\tGridLayoutMorph.demo(evt.hand.world(), evt.point()); }); }],\n\t\t\t[\"Effects demo (FF only)\", function(evt) { require('lively.demofx').toRun(Functions.Empty); }],\n\t\t\t[\"PresentationPage\", function(evt) { \n\t\t\t\trequire('lively.Presentation').toRun(function(){\n\t\t\t\t\tworld.addMorph(new lively.Presentation.PageMorph(new Rectangle(0,0,800,600)))\n\t\t\t\t}); \n\t\t\t}],\n\t\t\t// [\"Duplicator Panel\", function(evt) { \n\t\t\t// \trequire('lively.Graffle').toRun(function(){\n\t\t\t// \t\tworld.addMorph(Morph.makeDefaultDuplicatorPanel(evt.point()))\n\t\t\t// \t}); \n\t\t\t// }], \n\t\t\t[\"FileUpload Morph\", function(evt) { \n\t\t\t\trequire('lively.FileUploadWidget').toRun(function(){\n\t\t\t\t\tvar morph = new FileUploadMorph();\n\t\t\t\t\tworld.addMorph(morph)\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t}); \n\t\t\t}],\n\t\t];\n\t},\n\t\n\ttoolSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\tvar toolMenuItems = [\n//\t\t\t[\"Class Browser\", function(evt) { new SimpleBrowser().openIn(world, evt.point()); }],\n\t\t\t[\"System code browser (b)\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.SystemBrowser().openIn(world)})}],\n\t\t\t[\"Local code Browser\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.LocalCodeBrowser().openIn(world)})}],\n\t\t\t[\"Wiki code Browser\", function(evt) { require('lively.ide', 'lively.LKWiki').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tvar repo = new URL(input);\n\t\t\t\t\tnew ide.WikiCodeBrowser(repo).open()\n\t\t\t\t};\n\t\t\t\tworld.prompt('Wiki base URL?', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\n\t\t\t[\"Switch System browser directory...\", function(evt) { require('lively.ide').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tif (!input.endsWith('/')) input += '/';\n\t\t\t\t\tide.startSourceControl().switchCodeBase(new URL(input));\n\t\t\t\t};\n\t\t\t\tworld.prompt('Enter System browser directory (URL)', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\t\t\t\t\n\t\t\t[\"File Browser\", function(evt) { new FileBrowser().openIn(world) }],\n\t\t\t[\"Object Hierarchy Browser\", function(evt) { new ObjectBrowser().openIn(world); }],\t\n\t\t\t[\"Enable profiling\", function() {\n\t\t\t\t\tConfig.debugExtras = true;\n\t\t\t\t\tlively.lang.Execution.installStackTracers(); }],\n\t\t\t[\"Console (l)\", function(evt) {world.addFramedMorph(new ConsoleWidget(50).buildView(pt(800, 100)), \"Console\"); }],\n\t\t\t[\"TestRunner\", function(evt) { require('lively.TestFramework').toRun(function() { new TestRunner().openIn(world) }) }],\n\t\t\t[\"OMetaWorkspace\", function(evt) { require('lively.Ometa').toRun(function() { new OmetaWorkspace().open() }) }],\n\t\t\t[\"Call Stack Viewer\", function(evt) { \n\t\t\tif (Config.debugExtras) lively.lang.Execution.showStack(\"use viewer\");\n\t\t\telse new StackViewer(this).openIn(world); }],\t \n\t\t\t[\"FrameRateMorph\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new FrameRateMorph(evt.point().extent(pt(160, 10)), \"FrameRateMorph\"));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"EllipseMaker\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new EllipseMakerMorph(evt.point()));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"XHTML Browser\", function(evt) { \n\t\t\t\tvar xeno = new XenoBrowserWidget('sample.xhtml');\n\t\t\t\txeno.openIn(world); }],\n\t\t\t[\"Viewer for latest file changes\", function(evt) {\n\t\t\tvar cb = function(input) {\n\t\t\t\trequire('lively.LKWiki').toRun(function(u,m) {\n\t\t\t\t\tvar url = new URL(input);\n\t\t\t\t\tconsole.log(url);\n\t\t\t\t\tnew LatestWikiChangesList(url).openIn(world);\n\t\t\t}); }\n\t\t\t\tworld.prompt('Url to observe', cb, URL.source.getDirectory().toString()); \n\t\t\t}],\n\t\t\t[\"Version Viewer\", function(evt) {\n\t\t\t\trequire('lively.ide').toRun(function() {\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.ide');\n\t\t\t\t\tnew lively.ide.FileVersionViewer().openForURL(URL.source);\n\t\t\t\t});\n\t\t\t}],\n\t\t\t[\"MiniMap\", function(evt) {\n\t\t\t\tvar map = new MiniMapMorph();\n\t\t\t\tmap.name = 'MiniMap';\n\t\t\t\tmap.openInWorld();\n\t\t\t\tmap.setTargetWorld(world);\n\t\t\t\tmap.startSteppingScripts()\n\t\t\t}],\t\t\t\n\t\t];\n\n\t\tif (Config.debugExtras) { var index = -1;\n\t\t\tfor (var i=0; i= 0) \n\t\t\t\t\ttoolMenuItems.splice(index, 1,\n\t\t\t\t\t\t[\"-----\"],\n\t\t\t\t\t\t[\"Profiling help\", function(evt) { this.openURLasText( URL.common.project.withRelativePath(\n\t\t\t\t\t\t\t\"/trac/wiki/ProfilingHelp?format=txt\"), \"Profiling help\"); }],\n\t\t\t\t\t\t[\"Arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }],\n\t\t\t\t\t\t[\"Arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }],\n\t\t\t\t\t\t[\"Disable profiling\", function() {\n\t\t\t\t\t\t\tConfig.debugExtras = false;\n\t\t\t\t\t\t\tlively.lang.Execution.installStackTracers(\"uninstall\");\t }],\n\t\t\t\t\t\t[\"-----\"]);\n\t\t};\n\t\treturn toolMenuItems\n\t},\n\n\tscriptingSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"TileScriptingBox\", function(evt) { require('lively.TileScripting').toRun(function() {new lively.TileScripting.TileBox().openIn(world); }) }],\n\t\t\t[\"Fabrik Component Box\", function(evt) { require('lively.Fabrik').toRun(function() { Fabrik.openComponentBox(world); }) }],\n\t\t\t[\"Webcards with name\", function(evt) { require('apps.Webcards').toRun(function(){\n\t\t\t\t\tvar sds = new SimpleDataStore(pt(600, 300));\n\t\t\t\t\tworld.prompt(\"Name of stack:\", sds.openStackWithName.bind(sds));\n\t\t\t\t\tworld.addFramedMorph(sds, 'WebCards', pt(333, 222));\n\t\t\t\t}); \n\t\t\t}],\n \n\t\t];\n\t},\n\n\tpreferencesSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[(Config.usePieMenus ? \"don't \" : \"\") + \"use pie menus\",\n\t\t\t\t\t function() { Config.usePieMenus = !Config.usePieMenus; }],\n\t\t\t[\"choose display theme...\", this.chooseDisplayTheme],\n\t\t\t[(Morph.prototype.suppressBalloonHelp ? \"enable balloon help\" : \"disable balloon help\"),\n\t\t\t\t\t this.toggleBalloonHelp],\n\t\t\t[(HandMorph.prototype.useShadowMorphs ? \"don't \" : \"\") + \"show drop shadows\",\n\t\t\t function () { HandMorph.prototype.useShadowMorphs = !HandMorph.prototype.useShadowMorphs}],\n\t\t\t[(Config.showGrabHalo ? \"don't \" : \"\") + \"show bounds halos\",\n\t\t\t function () { Config.showGrabHalo = !Config.showGrabHalo}],\n\t\t\t[HandMorph.prototype.applyDropShadowFilter ? \"don't use filter shadows\" : \"use filter shadows (if supported)\",\n\t\t\t function () { HandMorph.prototype.applyDropShadowFilter = !HandMorph.prototype.applyDropShadowFilter}],\n\t\t\t[(Config.useDebugBackground ? \"use normal background\" : \"use debug background\"),\n\t\t\t\t\t this.toggleDebugBackground],\n\t\t\t[(Config.isSnappingToGrid ? \"[X]\": \"[]\") + \" snap to grid\",\n\t\t\t\t\t\t function(){Config.isSnappingToGrid = !Config.isSnappingToGrid}],\n\t\t\t[\"change title\", this, 'askForWorldTitle'],\n\t\t\t[\"add module requirements...\",\n\t\t\t\t function(){this.showAddWorldRequirementsMenu(evt.mousePoint)}],\n\t\t\t[\"remove module requirements...\",\n\t\t\t\t function(){this.showRemoveWorldRequirementsMenu(evt.mousePoint)}]\n\t\t];\n\t},\n\t\n\n\thelpSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn\t[\n\t\t\t[\"Connect documentation\", function(evt) {\n\t\t\t\trequire('lively.bindings').toRun(function() {\n\t\t\t\t\tworld.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/ConnectHelp?format=txt\"), \"Connect documentation\");\n\t\t\t\t})\n\t\t\t}],\n\t\t\t[\"Command key help\", function(evt) {\n\t\t\t\tthis.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/CommandKeyHelp?format=txt\"), \"Command key help\"); }]\n\t\t];\n\t},\n\t\n\tsubMenuItems: function(evt) {\n\t\t//console.log(\"mouse point == %s\", evt.mousePoint);\n\t\treturn [\n\t\t\t['Simple morphs', this.simpleMorphsSubMenuItems(evt)],\n\t\t\t['Complex morphs', this.complexMorphsSubMenuItems(evt)],\n\t\t\t['Tools', this.toolSubMenuItems(evt)],\n\t\t\t['Scripting', this.scriptingSubMenuItems(evt)],\n\t\t\t['Preferences', this.preferencesSubMenuItems(evt)],\n\t\t\t['Help', this.helpSubMenuItems(evt)]];\n\t},\n\t\n\tshowPieMenu: function(evt) {\n\t\tvar beTouchFn;\n\t\tif (UserAgent.isTouch) {\n\t\t\tif (Config.touchBeMouse) {\n\t\t\t\t// If we were in mouse mode; switch back to touch\n\t\t\t\tbeTouchFn = function(e) {\n\t\t\t\t\t//ClipboardHack.ensurePasteBuffer().blur();\n\t\t\t\t\tConfig.touchBeMouse = false; // currently not used\n\t\t\t\t\t// evt.hand.lookTouchy()\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Otherwise, switch to mouse mode now (we just clicked in world)\n\t\t\t\t// ClipboardHack.ensurePasteBuffer().focus();\n\t\t\t\tConfig.touchBeMouse = true; // currently not used\n\t\t\t\t// evt.hand.lookNormal()\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tvar menu, targetMorph = this;\n\t\tvar items = [\n\t\t\t['make selection ([NE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SW])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t((UserAgent.isTouch) ? ['use touch ((O))', beTouchFn]\n\t\t\t\t: ['make selection ([NW])', function(evt) { targetMorph.makeSelection(evt); }])\n\t\t\t];\n\t\tmenu = new PieMenuMorph(items, this, 0, beTouchFn);\n\t\tmenu.open(evt);\n\t}\n \n},\n'Copy And Paste (Private)',{\n\t/* Actions */\n\t\n\t\n\t\n\tpastePosition: function() {\n\t\tvar pos = this.hands.first().lastMouseDownPoint;\n\t\tif (!pos || pos.eqPt(pt(0,0)))\n\t\t\tpos = this.hands.first().getPosition();\n\t\treturn pos\n\t},\n\t\n\t\n\t\n\t// similarities to Fabrik >> pasteComponentFromXMLStringIntoFabrik\n\t// TODO refactor\n\tpasteFromSource: function(source){\n\t\tvar copier = new ClipboardCopier();\n\t\tcopier.pastePosition = this.pastePosition();\n\t\tcopier.pasteMorphsFromSource(source, this.pasteDestinationMorph());\n\t},\n\t\n\tcopySelectionAsXMLString: function() {\n\t\tif (!this.currentSelection) {\n\t\t\tconsole.log(\"WorldMorph: don't know what to copy\")\n\t\t\treturn\n\t\t}\n\t\tvar selectedMorphs = this.currentSelection.selectedMorphs\n\t\tif (selectedMorphs.length == 0) {\n\t\t\tconsole.log(\"WorldMorph: selection is empty\")\n\t\t\treturn \n\t\t};\n\t\treturn new ClipboardCopier().copyMorphsAsXMLString(selectedMorphs)\n\t},\n\n\tpasteDestinationMorph: function() {\n\t\treturn this;\n\t},\n\t\n\t\n},\n'Keyboard Events',{\n\n\ttakesKeyboardFocus: Functions.True,\n\t\n\tonKeyDown: function(evt) {\n\t\t// console.log(\"WorldMorph onKeyDown \" + this + \" --- \" + evt + \" char: \" + evt.getKeyChar() )\n\t\tvar key = evt.getKeyChar().toLowerCase();\n\t\tif (evt.isCommandKey() && evt.isShiftDown()) {\n\t\t\tif (key == 'f') {\n\t\t\t\tvar world = this;\n\t\t\t\trequire('lively.ide').toRun(function(unused, ide) {\n\t\t\t\t\tworld.prompt(\"browse references in source\", function(whatToSearch) {\n\t\t\t\t\t\tide.startSourceControl().browseReferencesTo(whatToSearch);\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\tif (key == 'b') {\n\t\t\t\t// for safari where without shift is blocked\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tif (evt.isCommandKey() && !evt.isShiftDown()) {\n\t\t\tif (key == 'b') {\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'l') { // (L)ogger\n\t\t\t\tnew ConsoleWidget().open();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'k') { // Workspace\n\t\t\t\tthis.addTextWindow(\"Workspace\");\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 's') { // save\n\t\t\t\tif (!this.isProtectedWorld()) {\n\t\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t\t} else {\n\t\t\t\t\tthis.setStatusMessage(\"Warning: Did not save world, because it is protected!\", Color.red, 3)\n\t\t\t\t}\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\n\t\t\t}\n\t\t}\n\t\treturn ClipboardHack.tryClipboardAction(evt, this);\n\t},\n\t\n\tonKeyPress: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyPress \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false;\n\t},\n\n\tonKeyUp: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyUp \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false\n\t},\n},\n'Commands',{\n\n\tdoCopy: function() {\n\t\tvar source = this.copySelectionAsXMLString();\n\t\tTextMorph.clipboardString = source;\n\t},\n\t\n\tdoPaste: function() {\n\t\tif (TextMorph.clipboardString) {\n\t\t\t// console.log(\"paste morphs...\")\n\t\t\tthis.pasteFromSource(TextMorph.clipboardString);\n\t\t}\n\t},\n\t\n\tdoCut: function() {\n\t\tconsole.log(\"cut selection\")\n\t\tthis.doCopy();\n \t\tif (this.currentSelection) \n\t\t\tthis.currentSelection.remove();\n\t},\n},\n'local code', {\n\tgetChangeSet: function() {\n\t\treturn ChangeSet.fromWorld(this);\n\t},\n\tsetChangeSet: function(cs) {\n\t\tcs.addHookTo(cs.findOrCreateDefNodeOfWorld(this.rawNode));\n\t},\n\n\tgetCodeNode: function() {\n\t\tvar codeElement = Query.find('./svg:defs/*[local-name()=\"code\"]', this.rawNode);\n\t\treturn codeElement;\n\t},\n\treplaceCodeNode: function(newCodeNode) {\n\t\tthis.getDefsNode().replaceChild(this.getCodeNode(), newCodeNode);\n\t\treturn newCodeNode;\n\t},\n\n\n\n})\n\n\n","__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1342}},"1343":{"registeredObject":{"isListItem":true,"string":"WorldMorph (extension)","value":{"__isSmartRef__":true,"id":1344}},"ref":{"__isSmartRef__":true,"id":1343}},"1344":{"registeredObject":{"target":{"__isSmartRef__":true,"id":921},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1344}},"1345":{"registeredObject":{"isListItem":true,"string":"HandMorph","value":{"__isSmartRef__":true,"id":1346}},"ref":{"__isSmartRef__":true,"id":1345}},"1346":{"registeredObject":{"target":{"__isSmartRef__":true,"id":927},"browser":{"__isSmartRef__":true,"id":218},"savedSource":"Morph.subclass(\"HandMorph\", \n'default properties', { \n documentation: \"Defines a visual representation for the user's cursor.\",\n applyDropShadowFilter: !!Config.useDropShadow,\n dropShadowFilter: \"url(#DropShadowFilter)\",\n useShadowMorphs: Config.useShadowMorphs,\n\n shadowOffset: pt(5,5),\n handleOnCapture: false,\n logDnD: Config.logDnD,\n grabHaloLabelStyle: {fontSize: Math.floor((Config.defaultFontSize || 12) *0.85), padding: Rectangle.inset(0)},\n\n},\n'Basic',{\n initialize: function($super, local) {\n $super(new lively.scene.Polygon([pt(0,0), pt(10, 8), pt(4,9), pt(8,16), pt(4,9), pt(0, 12)]));\n\t\tthis.applyStyle({fill: local ? Color.primary.blue : Color.primary.red, borderColor: Color.black, borderWidth: 1});\n\t\n this.isLocal = local;\n\n this.keyboardFocus = null;\n this.mouseFocus = null;\n\t\tthis.mouseFocusChanges_ = 0; // count mouse focus changes until reset\n this.mouseOverMorph = null;\n this.lastMouseEvent = null;\n this.lastMouseDownPoint = pt(0,0);\n this.lastMouseDownEvent = null;\n this.hasMovedSignificantly = false;\n this.grabInfo = null;\n \n this.mouseButtonPressed = false;\n\n this.keyboardFocus = null; \n\n this.priorPoint = null;\n this.owner = null;\n\t\tthis.boundMorph = null; // surrounds bounds\n\t\tthis.layoutChangedCount = 0; // to prevent recursion on layoutChanged\n return this;\n },\n\n\tid: function() {\n\t\tif (!this.rawNode) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn this.rawNode.getAttribute(\"id\");\n\t},\n\n world: function() {\n return this.owner;\n },\n},\n'Looks',{\n\n lookNormal: function(morph) {\n this.shape.setVertices([pt(0,0), pt(10, 8), pt(4,9), pt(8,16), pt(4,9), pt(0, 12)]);\n },\n\t\n\tlookTouchy: function(morph) {\n\t\t// Make the cursor look polygonal to indicate touch events go to pan/zoom\n\t\tvar n = 5, r = 10, theta = 2*Math.PI/n;\n\t\tvar verts = [0, 1, 2, 3, 4, 0].map(function(i) { return Point.polar(r, i*theta).addXY(20,0) });\n\t\tthis.shape.setVertices(verts);\n },\n\n\n lookLinky: function(morph) {\n this.shape.setVertices([pt(0,0), pt(18,10), pt(10,18), pt(0,0)]);\n },\n\n\tlookLikeAnUpDownArrow: function() {\n\t\t// /\\\n\t\t// /_ _\\\n\t\t// _||_\n\t\t// \\ /\n\t\t// \\/\n\t\tvar verts = [\n\t\t\tpt(8.0,0.0), pt(16.0,8.0), pt(12.0,8.0), pt(12.0,16.0), pt(16.0,16.0),\n\t\t\tpt(8.0,24.0), pt(0.0,16.0), pt(4.0,16.0), pt(4.0,8.0), pt(0.0,8.0)\n\t\t];\n\t\tthis.shape.setVertices(verts);\n\t},\n},\n'Event Registering',{\n\taddOrRemoveEvents: function(morphOrNode, eventNames, isRemove) {\n\t\tvar node = morphOrNode.rawNode || morphOrNode;\n\t\tvar selector = isRemove ? 'removeEventListener' : 'addEventListener';\n\t\teventNames.forEach(function(name) { \n node[selector](name, this, this.handleOnCapture);\n\t\t}, this);\n\t},\n\t\n registerForEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.basicInputEvents);\n },\n\n unregisterForEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.basicInputEvents, true);\n },\n \n registerForKeyboardEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.keyboardEvents);\n },\n\n unregisterForKeyboardEvents: function(morphOrNode) {\n\t\tthis.addOrRemoveEvents(morphOrNode, Event.keyboardEvents, true);\n },\n\n},\n'Focus',{\n resetMouseFocusChanges: function() {\n\t\tvar result = this.mouseFocusChanges_;\n\t\tthis.mouseFocusChanges_ = 0;\n\t\treturn result;\n },\n\n setMouseFocus: function(morphOrNull) {\n //console.log('setMouseFocus: ' + morphOrNull);\n\t\tthis.mouseFocus = morphOrNull;\n\t\t// this.setFill(this.mouseFocus ? Color.primary.blue.lighter(2) : Color.primary.blue);\n\t\tthis.mouseFocusChanges_ ++;\n },\n \n setKeyboardFocus: function(morphOrNull) {\n if (this.keyboardFocus === morphOrNull) return;\n\n if (this.keyboardFocus != null) {\n // console.log('blur %s', this.keyboardFocus);\n this.keyboardFocus.onBlur(this);\n this.keyboardFocus.setHasKeyboardFocus(false);\n }\n \n this.keyboardFocus = morphOrNull; \n \n if (this.keyboardFocus) {\n this.keyboardFocus.onFocus(this);\n }\n },\n \n},\n'Event Handling',{\n\t// this is the DOM Event callback\n\thandleEvent: function HandMorph$handleEvent(rawEvt) {\n\t\tvar evt = new Event(rawEvt);\n\t\t// for mutliple worlds since keyboard events can only be registered for entire documentElement\n\t\tif (rawEvt.world && rawEvt.world != this.world())\n\t\t\treturn evt;\n\t\trawEvt.world = this.world();\n\t\tevt.setCanvas(this.canvas());\n\t\tevt.hand = this;\n\t\t//if(Config.showLivelyConsole) console.log(\"event type = \" + rawEvt.type + \", platform = \" + window.navigator.platform);\n\n\t\tlively.lang.Execution.resetDebuggingStack();\n\t\tswitch (evt.type) {\n\t\t\tcase \"MouseWheel\":\n\t\t\tcase \"MouseMove\":\n\t\t\tcase \"MouseDown\":\n\t\t\tcase \"MouseUp\":\n\t\t\t\tthis.handleMouseEvent(evt);\n\t\t\t\tbreak;\n\t\t\tcase \"KeyDown\":\n\t\t\tcase \"KeyPress\": \n\t\t\tcase \"KeyUp\":\n\t\t\t\tthis.handleKeyboardEvent(evt);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.log(\"unknown event type \" + evt.type);\n\t\t}\n\t\tevt.stopPropagation();\n\t\treturn evt; // for touch development FIXME remove\n\t}.logErrors('Event Handler'),\n\n armProfileFor: function(evtType) { \n\t\tthis.profileArmed = evtType; // either \"MouseDown\" or \"MouseUp\"\n },\n\n\tmakeANullMove: function() {\n\t\t// Process a null mouseMove event -- no change in x, y\n\t\t// Allows simulations to respond where, eg, a morph moves under the mouse\n\t\t// Note: Fabrik generates also Mouse events with newFakeMouseEvent; to be merged\n\t\tvar last = this.lastMouseEvent;\n\t\tif (!last) return;\n\t\tvar nullMove = new Event(last.rawEvent);\n\t\tnullMove.type = \"MouseMove\";\n\t\tnullMove.hand = this;\n\t\t// console.log(\"last = \" + Object.inspect(this.lastMouseEvent));\n\t\t// console.log(\"null = \" + Object.inspect(nullMove));\n\t\tthis.reallyHandleMouseEvent(nullMove);\n\t\tthis.lastMouseEvent = last; // Restore -- necess??\n\t},\n\n\thandleMouseEvent: function HandMorph$handleMouseEvent(evt) {\n\t\tif(!Config.debugExtras || !this.profileArmed || this.profileArmed != evt.type) {\n\t\t\t// Profile not armed or event doesnt match\n\t\t\treturn this.reallyHandleMouseEvent(evt);\n\t\t}\n\t\t// Run profile during handling of this event\n\t\tthis.profileArmed = null; // Only this once\n\t\tvar result;\n\t\tlively.lang.Execution.trace(function() { result = this.reallyHandleMouseEvent(evt) }.bind(this), this.profilingOptions );\n\t\treturn result;\n\t},\n\n\treallyHandleMouseEvent: function HandMorph$reallyHandleMouseEvent(evt) { \n\t\t// console.log(\"reallyHandleMouseEvent \" + evt + \" focus \" + this.mouseFocus);\n\t\t// var rawPosition = evt.mousePoint;\n\t\tvar world = this.owner;\n\t\tevt.mousePoint = evt.mousePoint.matrixTransform(world.getTransform().createInverse()); // for scaling\n\t\tevt.setButtonPressedAndPriorPoint(this.mouseButtonPressed, \n\t\t\t\t\t this.lastMouseEvent ? this.lastMouseEvent.mousePoint : null);\n\t\t//-------------\n\t\t// mouse move\n\t\t//-------------\n\t\tif (evt.type == \"MouseMove\" || evt.type == \"MouseWheel\") { // it is just a move\n\t\t\tthis.setPosition(evt.mousePoint);\n\t\t\t\n\t\t\tif(evt.isShiftDown())\n\t\t\t\tthis.alignToGrid();\n\t\t\t\n\t\t\tthis.updateGrabHalo();\n\t\t\t\n\t\t\tif (evt.mousePoint.dist(this.lastMouseDownPoint) > 10) { \n\t\t\t\tthis.hasMovedSignificantly = true;\n\t\t\t}\n\t\t\t\n\t\t\tif (this.mouseFocus) { // if mouseFocus is set, events go to that morph\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t} else if (world) {\n\t\t\t\tvar receiver = world.morphToReceiveEvent(evt);\n\t\t\t\t// console.log(\"found receiver: \" + receiver)\n\t\t\t\tif (this.checkMouseOverAndOut(receiver, evt)) {\t // mouseOverMorph has changed...\n\t\t\t\t\tif (!receiver || !receiver.canvas()) return false;\t// prevent errors after world-switch\n\t\t\t\t\t// Note if onMouseOver sets focus, it will get onMouseMove\n\t\t\t\t\tif (this.mouseFocus) this.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t\t\telse if (!evt.hand.hasSubmorphs()) world.captureMouseEvent(evt, false); \n\t\t\t\t} else if (receiver) receiver.captureMouseEvent(evt, false);\n\t\t\t}\n\t\t\tthis.lastMouseEvent = evt;\n\t\t\treturn true;\n\t\t} \n\n\t\n\t\t//-------------------\n\t\t// mouse up or down\n\t\t//-------------------\n\t\tif (!evt.mousePoint.eqPt(this.position())) { // Only happens in some OSes\n\t\t\t// and when window wake-up click hits a morph\n\t\t\tthis.moveBy(evt.mousePoint.subPt(this.position())); \n\t\t}\n\n\t\tthis.mouseButtonPressed = (evt.type == \"MouseDown\"); \n\t\tthis.setBorderWidth(this.mouseButtonPressed ? 2 : 1);\n\t\tevt.setButtonPressedAndPriorPoint(this.mouseButtonPressed, this.lastMouseEvent ? this.lastMouseEvent.mousePoint : null);\n\t\n\t\tif (this.mouseFocus != null) {\n\t\t\tif (this.mouseButtonPressed) {\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t\tthis.lastMouseDownPoint = evt.mousePoint; \n\t\t\t} else {\n\t\t\t\tthis.mouseFocus.captureMouseEvent(evt, true);\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.hasSubmorphs() && (evt.type == \"MouseDown\" || this.hasMovedSignificantly)) {\n\t\t\t\t// If laden, then drop on mouse up or down\n\t\t\t\tvar m = this.topSubmorph();\n\t\t\t\tvar receiver = world.morphToGrabOrReceiveDroppingMorph(evt, m);\n\t\t\t\t// For now, failed drops go to world; later maybe put them back?\n\t\t\t\tthis.dropMorphsOn(receiver || world);\n\t\t\t} else {\n\t\t\t\t// console.log(\"hand dispatching event %s to owner %s\", evt, this.owner);\n\t\t\t\t// This will tell the world to send the event to the right morph\n\t\t\t\t// We do not dispatch mouseup the same way -- only if focus gets set on mousedown\n\t\t\t\tif (evt.type == \"MouseDown\") world.captureMouseEvent(evt, false);\n\t\t\t}\n\t\t\tif (evt.type == \"MouseDown\") {\n\t\t\t\tthis.lastMouseDownPoint = evt.mousePoint;\n\t\t\t\tthis.lastMouseDownEvent = evt;\n\t\t\t\tthis.hasMovedSignificantly = false; \n\t\t\t}\n\t\t}\n\t\tthis.lastMouseEvent = evt; \n\t\treturn true;\n\t},\n},\n'Misc',{\t\n checkMouseUpIsInClickTimeSpan: function(mouseUpEvent) {\n\t\t// console.log(\"checkMouseUpIsInClickTimeSpan \" + this.lastMouseDownEvent.timeStamp )\n\t\tif (!this.lastMouseDownEvent || !mouseUpEvent)\n\t\t\treturn false;\n\t\treturn (mouseUpEvent.timeStamp - this.lastMouseDownEvent.timeStamp) < (400)\n\t},\n\n checkMouseOverAndOut: function(newMouseOverMorph, evt) {\n\t\tif (newMouseOverMorph === this.mouseOverMorph) return false;\n\n\t\t// if over a new morph, send onMouseOut, onMouseOver\n\t\tif (this.mouseOverMorph) this.mouseOverMorph.onMouseOut(evt);\n\t\tthis.mouseOverMorph = newMouseOverMorph;\n\t\t// console.log('msOverMorph set to: ' + Object.inspect(this.mouseOverMorph));\n\t\tif (this.mouseOverMorph) this.mouseOverMorph.onMouseOver(evt);\n\t\treturn true;\n\t},\n\n layoutChanged: function($super) {\n\t\tthis.layoutChangedCount ++;\n\t\ttry {\n\t\t\t$super();\n\t\t\tif (this.layoutChangedCount == 1) {\n\t\t\t\tConfig.showGrabHalo && this.updateGrabHalo();\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.layoutChangedCount --;\n\t\t}\n },\n},\n'Keyboard Events',{\n\tisKeyDown: function(character) {\n\t\tif (!this.keysDown)\n\t\t\treturn false;\n\t\treturn this.keysDown[character]\n\t},\n\t\n\tforgetKeyDown: function(evt) {\n\t\tif (!this.keysDown)\n\t\t\treturn;\n\t\tthis.keysDown[evt.getKeyChar()] = false;\n\t\t// hack, around weired events when command is pressed\n\t\tif (evt.getKeyCode() == 91) {\n\t\t\t// console.log(\"clear keydown list...\")\n\t\t\tthis.keysDown = {};\n\t\t\n\t\t};\n\t},\n\n\trememberKeyDown: function(evt) {\n\t\tif (!this.keysDown) {\n\t\t\tthis.keysDown = {};\n\t\t};\n \t\t//console.log(\"remember KeyDown \" + evt.getKeyChar())\n\t\tthis.keysDown[evt.getKeyChar().toUpperCase()] = true;\n\t},\n\n handleKeyboardEvent: function(evt) { \n\t\t// console.log(\"event: \" + evt )\n\t\tif(evt.type == \"KeyUp\") {\n \t\t\tthis.forgetKeyDown(evt);\t\t\t\n\t\t};\n if (this.hasSubmorphs()) {\n if (evt.type == \"KeyDown\" && this.moveSubmorphs(evt)) return;\n else if (evt.type == \"KeyPress\" && this.transformSubmorphs(evt)) return;\n }\n\t\tvar consumed = false;\n // manual bubbling up b/c the event won't bubble by itself\n\t\tvar world = this.world();\n for (var responder = this.keyboardFocus || world; responder != null; responder = responder.owner || world) {\n\t\t\tif (responder.takesKeyboardFocus()) {\n var handler = responder[evt.handlerName()];\n if (handler) {\n if (handler.call(responder, evt)) {\n\t\t\t\t\t\tconsumed = true;\n break; // event consumed?\t\t\n\t\t\t\t\t}\n }\n }\n\t\t\tif (responder == world) break;\n }\n\n\t\tif (!consumed) {\n\t\t\t// console.log(\"not consumed \" + evt)\n\t\t\t// the single command key evt \n\t\t\tif (evt.isCommandKey()) // rk: what is that supposed to do?\n\t\t\t\tClipboardHack.selectPasteBuffer();\t\t\t\n\t\t\t\t\n\t\t\t// remember key down for mouse events\n\t\t\tif(evt.type == \"KeyPress\") {\n\t\t\t\tthis.rememberKeyDown(evt);\n\t\t\t};\n\t\t};\n\t\tthis.blockBrowserKeyBindings(evt);\n },\n\t\n blockBrowserKeyBindings: function(evt) {\n\t\tswitch (evt.getKeyCode()) {\n\t\t\tcase Event.KEY_SPACEBAR: // [don't] scroll\n\t\t \t// stop keypress but don't try to stop preceeding keydown,\n\t\t \t// which would prevent keypress from firing and being handled by Text etc\n\t\t \tif (evt.type == \"KeyPress\") evt.stop();\n\t\t \tbreak;\n\t\t case Event.KEY_BACKSPACE: // [don't] go to the previous page \n\t\t \tevt.stop();\n\t\t \tbreak;\n\t\t\tcase 22:\n\t\t\tcase 3:\n\t\t\tcase 24:\n\t\t\t\tif (evt.isCtrlDown() && evt.type == \"KeyPress\") \n\t\t\t\t\tevt.preventDefault(); // ctrl+x, ctrl+c, or ctrl+v pressed\n\t\t\t\tbreak;\n\t\t\t}\n\t\tswitch (evt.getKeyChar()) {\n\t\t\tcase \"[\":\n\t\t\tcase \"]\":\n\t\t \tif (evt.isMetaDown() && evt.type == \"KeyPress\") {\n\t\t\t\t\t// Safari would want to navigate the history\n\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\tbreak;\n\t\t }\n\t\t}\t\n },\n},\n'Geometry',{\n\tbounds: function($super) {\n\t\t// account for the extra extent of the drop shadow\n\t\t// FIXME drop shadow ...\n\t\treturn this.shadowMorph ? $super().expandBy(this.shadowOffset.x) : $super();\n\t},\n\n\tgetInsertPositionFor: function(m, isFront) {\n\t\tif (this.submorphs.length == 0) return this.shape.rawNode;\n\t\treturn isFront ? this.submorphs.last().rawNode : this.submorphs.first().rawNode;\n\t},\n\n toString: function($super) { \n var superString = $super();\n var extraString = Strings.format(\", local=%s,id=%s\", this.isLocal, this.id());\n if (!this.hasSubmorphs()) \n\t\t\treturn superString + \", an empty hand\" + extraString;\n return Strings.format(\"%s, a hand carrying %s%s\", superString, this.topSubmorph(), extraString);\n },\n\n\tsetPosition: function($super, pos) {\n\t\t$super(pos);\n\t\tif (this.hasSubmorphs())\n\t\t\tthis.scrollDuringDrag()\n\t\treturn pos;\n\t},\n},\n'Indicator',{\n\tremoveIndicatorMorph: function() {\n\t\tif (!this.indicatorMorph)\n\t\t\treturn;\n\t\tthis.indicatorMorph.remove();\n\t\tthis.indicatorMorph = undefined;\n\t},\n\n\tensureIndicatorMorph: function() {\n\t\tif (this.indicatorMorph)\n\t\t\treturn this.indicatorMorph;\n\t\tvar morph = new TextMorph(new Rectangle(0,0,100,20));\n\t\tmorph.setPosition(this.shape.bounds().bottomRight().addPt(pt(-5,-5)))\n\t\tmorph.ignoreEvents();\n\t\tmorph.isEpimorph = true;\n\t\tmorph.setBorderWidth(0);\n\t\tmorph.setFill(null);\n\t\tthis.indicatorMorph = morph;\n\t\tthis.addMorph(morph);\n\t\treturn morph\n\t},\n\n\thasSubmorphs: function() {\n\t\tif (this.submorphs.length == 0)\n\t\t\treturn false;\n\t\telse\n\t\t\treturn this.submorphs.reject(function(ea) {return ea.isEpimorph}).length != 0;\n\t},\n},\n'Scrolling',{\n\tscrollDuringDrag: function(counter) {\n\t\tvar scrollSpeed = 0.3; // should go into config options?\n\t\tvar maxSteps = 30;\n\t\t\n\t\tvar world = this.world();\n\t\tvar wb = world.windowBounds();\n\t\tvar pos = this.getPosition();\n\t\tcounter = counter || 1;\n\t\t\n\t\tvar worldScale = world.getScale();\n\t\tvar steps = counter * scrollSpeed * worldScale;\n\t\tsteps = Math.min(steps, maxSteps);\n\t\tvar animate = false;\n\t\tvar self = this;\n\t\t\n\t\tvar scroll = function(delta) {\n\t\t\tvar oldPos = pt(Global.scrollX, Global.scrollY)\n\t\t\tGlobal.scrollBy(delta.x, delta.y);\t\t\tvar newPos = pt(Global.scrollX, Global.scrollY)\n\t\t\tvar scrollDelta = newPos.subPt(oldPos).scaleBy(1 / worldScale);\n\t\t\tself.moveBy(scrollDelta.scaleBy(1))\n\t\t\tanimate = true;\n\t\t};\n\t\tvar offset = 50\n\t\tif (pos.x + offset > wb.right()) scroll(pt(steps,0));\n\t\tif (pos.x - offset < wb.left()) scroll(pt(-steps,0));\n\t\tif (pos.y - offset < wb.top()) scroll(pt(0, - steps));\n\t\tif (pos.y + offset > wb.bottom()) scroll(pt(0, steps))\n\t\tif (animate) {\n\t\t\t(function(){self.scrollDuringDrag( counter + 1)}).delay()\t\n\t\t}\n\t}\n},\n'Fabrik Extension (DEPRICATED)',{\n changed: function($super, morph) {\n $super();\n this.globalPosition = this.getPosition();\n this.submorphs.forEach(function(ea){\n // console.log(\"changed \"+ ea);\n ea.changed(\"globalPosition\", this.getPosition());\n }, this);\n },\n});\n","__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1346}},"1347":{"registeredObject":{"isListItem":true,"string":"LinkMorph","value":{"__isSmartRef__":true,"id":1348}},"ref":{"__isSmartRef__":true,"id":1347}},"1348":{"registeredObject":{"target":{"__isSmartRef__":true,"id":986},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1348}},"1349":{"registeredObject":{"isListItem":true,"string":"ExternalLinkMorph","value":{"__isSmartRef__":true,"id":1350}},"ref":{"__isSmartRef__":true,"id":1349}},"1350":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1006},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1350}},"1351":{"registeredObject":{"isListItem":true,"string":"BoxMorph","value":{"__isSmartRef__":true,"id":1352}},"ref":{"__isSmartRef__":true,"id":1351}},"1352":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1017},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1352}},"1353":{"registeredObject":{"isListItem":true,"string":"ContainerMorph","value":{"__isSmartRef__":true,"id":1354}},"ref":{"__isSmartRef__":true,"id":1353}},"1354":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1022},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1354}},"1355":{"registeredObject":{"isListItem":true,"string":"Global.ClipboardHack (object)","value":{"__isSmartRef__":true,"id":1356}},"ref":{"__isSmartRef__":true,"id":1355}},"1356":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1030},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1356}},"1357":{"registeredObject":{"isListItem":true,"string":"Global (extension)","value":{"__isSmartRef__":true,"id":1358}},"ref":{"__isSmartRef__":true,"id":1357}},"1358":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1036},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1358}},"1359":{"registeredObject":{"isListItem":true,"string":"ClipboardCopier","value":{"__isSmartRef__":true,"id":1360}},"ref":{"__isSmartRef__":true,"id":1359}},"1360":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1043},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1360}},"1361":{"registeredObject":{"isListItem":true,"string":"DocLinkConverter","value":{"__isSmartRef__":true,"id":1362}},"ref":{"__isSmartRef__":true,"id":1361}},"1362":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1053},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1362}},"1363":{"registeredObject":{"isListItem":true,"string":"PseudoMorph","value":{"__isSmartRef__":true,"id":1364}},"ref":{"__isSmartRef__":true,"id":1363}},"1364":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1069},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1364}},"1365":{"registeredObject":{"isListItem":true,"string":"Invocation","value":{"__isSmartRef__":true,"id":1366}},"ref":{"__isSmartRef__":true,"id":1365}},"1366":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1074},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1366}},"1367":{"registeredObject":{"isListItem":true,"string":"SchedulableAction","value":{"__isSmartRef__":true,"id":1368}},"ref":{"__isSmartRef__":true,"id":1367}},"1368":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1079},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1368}},"1369":{"registeredObject":{"isListItem":true,"string":"LayoutManager","value":{"__isSmartRef__":true,"id":1370}},"ref":{"__isSmartRef__":true,"id":1369}},"1370":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1089},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1370}},"1371":{"registeredObject":{"isListItem":true,"string":"LayoutManager (extension)","value":{"__isSmartRef__":true,"id":1372}},"ref":{"__isSmartRef__":true,"id":1371}},"1372":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1119},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1372}},"1373":{"registeredObject":{"isListItem":true,"string":"HorizontalLayout","value":{"__isSmartRef__":true,"id":1374}},"ref":{"__isSmartRef__":true,"id":1373}},"1374":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1126},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1374}},"1375":{"registeredObject":{"isListItem":true,"string":"Morph (extension)","value":{"__isSmartRef__":true,"id":1376}},"ref":{"__isSmartRef__":true,"id":1375}},"1376":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1130},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1376}},"1377":{"registeredObject":{"isListItem":true,"string":"HorizontalLayout (extension)","value":{"__isSmartRef__":true,"id":1378}},"ref":{"__isSmartRef__":true,"id":1377}},"1378":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1134},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1378}},"1379":{"registeredObject":{"isListItem":true,"string":"VerticalLayout","value":{"__isSmartRef__":true,"id":1380}},"ref":{"__isSmartRef__":true,"id":1379}},"1380":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1138},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1380}},"1381":{"registeredObject":{"isListItem":true,"string":"VerticalLayout (extension)","value":{"__isSmartRef__":true,"id":1382}},"ref":{"__isSmartRef__":true,"id":1381}},"1382":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1142},"browser":{"__isSmartRef__":true,"id":218},"__LivelyClassName__":"lively.ide.CategorizedClassFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1382}},"1383":{"registeredObject":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1383}},"1384":{"registeredObject":{"isListItem":true,"string":"-- all --","value":{"__isSmartRef__":true,"id":1385}},"ref":{"__isSmartRef__":true,"id":1384}},"1385":{"registeredObject":{"target":{"__isSmartRef__":true,"id":810},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"savedSource":"PasteUpMorph.subclass(\"WorldMorph\", \n'defaults', {\n documentation: \"A Morphic world (a visual container of other morphs)\",\n fill: Color.primary.blue,\n defaultExtent: pt(1280, 1024),\n\tstyleClass: ['world'],\n\t\n // Default theme for the theme manager \n},\n'initilization', {\n\tinitialize: function($super, canvas, backgroundImageId) {\n\t\tvar bounds = Rectangle.fromElement(canvas);\n\t\t// sometimes bounds has zero dimensions (when reloading thes same page, timing issues?\n\t\t// in Firefox bounds may be 1x1 size?? maybe everything should be run from onload or sth?\n\t\tif (bounds.width < 2) {\n\t\t\tbounds.width = this.defaultExtent.x;\n\t\t}\n\n\t\tif (bounds.height < 2) {\n\t\t\tbounds.height = this.defaultExtent.y;\n\t\t}\n\n\t\tif (backgroundImageId) {\n\t\t\tvar background = NodeFactory.create(\"use\");\n\t\t\tXLinkNS.setHref(background, backgroundImageId);\n\t\t\tthis.addNonMorph(background);\n\t\t}\n\t\t$super(new lively.scene.Rectangle(bounds));\n\n\t\tthis.setDisplayTheme(this.displayTheme); // apply display theme\n\n\t\t//gradient.rawNode.setAttributeNS(null, \"gradientTransform\", \"translate(0, -0.1) skewY(10)\");\t\t \n\t\tthis.enterCount = 0;\n\t},\n\n\tdoNotSerialize: ['hands', 'scheduledActions', 'lastStepTime', 'mainLoop', 'worldId', 'secondTick', 'currentScript', 'currentSelection', '_statusMessageContainer'],\n\n initializeTransientState: function($super) {\n $super();\n\n this.hands = [];\n\n\t\t\t\t\n\t\tvar theme = DisplayThemes[Config.defaultDisplayTheme];\n\t\tif (!theme)\n\t\t\tconsole.log('ERROR: could not find Theme ' + Config.defaultDisplayTheme)\n\t\tthis.displayTheme = theme; // set display them without applying it\n\t\tconsole.log('WorldMorph: updated display theme ')\n\n\n\t\tthis.withAllSubmorphsDo( function() { this.layoutChanged(); }); // Force installation of transforms\n\n this.scheduledActions = []; // an array of schedulableActions to be evaluated\n this.lastStepTime = (new Date()).getTime();\n this.mainLoopFunc = this.doOneCycle.bind(this).logErrors('Main Loop');\n this.mainLoop = Global.setTimeout(this.mainLoopFunc, 30);\n this.worldId = ++WorldMorph.worldCount;\n\t\tvar self = this;\n\t\twindow.onscroll = function() {signal(self, 'scrollChange')}\n\n return this;\n },\n\n\tcollectAllUsedFills: function($super, usedFills) {\n\t\tusedFills = $super(usedFills);\n\t\tProperties.forEachOwn(this.displayTheme, function(ea) {\n\t\t\tvar style = this[ea]\n\t\t\tif (style && (style.fill instanceof lively.paint.Gradient)) {\n\t\t\t\tusedFills.push(style.fill);\n\t\t\t} \n\t\t}.bind(this.displayTheme))\n\t\treturn usedFills\n\t},\n \n\tremove: function() {\n\t\tif (!this.rawNode.parentNode) return null; // already removed\n\t\tthis.hands.clone().forEach(function(hand) { this.removeHand(hand) }, this);\n\t\tthis.stopStepping();\n\t\tthis.removeRawNode();\n\t\treturn this;\n\t},\n},\n'private', {\n\n\t// called by insertMorph to determine the rawNode after the new inserted morph\n\tgetInsertPositionFor: function(m, isFront) {\n\t\tif (this.submorphs.length == 0) return this.hands.length > 0 ? this.hands[0].rawNode : null;\n\t\treturn isFront ? this.submorphs.last().rawNode.nextSibling : this.submorphs.first().rawNode;\n\t},\n\t\n\ttoggleNativeCursor: function(flag) {\n\t\tthis.canvas().setAttributeNS(null, \"cursor\", flag ? \"auto\" : \"none\");\n\t},\n\n\tresizeCanvasToFitWorld: function () {\n\t\tvar canvas = this.canvas();\n\t\tif (!canvas) return;\n\t\tthis.transformChanged();\n\t\tthis.fullBounds = null;\n\n\t\tvar w = this.bounds().width * this.getScale() , h = this.bounds().height * this.getScale();\n\n\t\tif (canvas.clientWidth != w && canvas.clientHeight != h) {\n\t\t\tif (canvas.offsetLeft) w += canvas.offsetLeft * this.getScale();\n\t\t\tif (canvas.offsetTop) h += canvas.offsetTop * this.getScale();\n\t\t\tcanvas.setAttribute(\"width\", w);\n\t\t\tcanvas.setAttribute(\"height\", h);\n\n\t\t}\n\t},\n\n\tdisplayOnCanvas: function(canvas) {\n\t\t// this.remove();\n\t\tif (this.rawNode.parentNode !== canvas) canvas.appendChild(this.rawNode);\n\t\tvar hand = this.addHand(new HandMorph(true));\n\t\tWorldMorph.currentWorld = this; // this conflicts with mutliple worlds\n\t\tif (Config.resizeScreenToWorldBounds)\n\t\t\tthis.resizeCanvasToFitWorld(this);\n\t\tthis.onEnter(); \n\n\t\tthis.enterCount ++;\n\t},\n \n\taddHand: function(hand) {\n\t\tif (this.hands.length > 0 && !this.hands.first())\n\t\t\tthis.hands.shift(); // FIXME: Quick bugfix. When deserializing the world the hands.first() is sometimes undefined\n\t\tthis.hands.push(hand);\n\t\thand.owner = this;\n\t\t// FIXME mouse events are correctly dispatched when using canvas or world\n\t\t// keyboard events only work when using documentElement --> problem with multiple worlds\n\t\thand.registerForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.registerForEvents(this.canvas());\n\t\thand.layoutChanged();\n\n\t\tthis.rawNode.appendChild(hand.rawNode);\n\t\treturn hand;\n\t},\n \n\tremoveHand: function(hand) {\n\t\thand.setMouseFocus(null); // cleanup, just in case\n\t\thand.setKeyboardFocus(null); // cleanup (calls blur(), which will remove the focus halo)\n\t\thand.removeRawNode();\n\t\thand.unregisterForKeyboardEvents(document.documentElement); // FIXME!!!\n\t\thand.unregisterForEvents(this.canvas());\n\n\t\tthis.hands.splice(this.hands.indexOf(hand), 1);\n\t},\n\n\n toggleBalloonHelp: function() {\n Morph.prototype.suppressBalloonHelp = !Morph.prototype.suppressBalloonHelp;\n },\n\n toggleDebugBackground: function() {\n // Debug background is transparent, so that we can see the console\n // if it is not otherwise visible\n Config.useDebugBackground = !Config.useDebugBackground;\n this.shape.setFillOpacity(Config.useDebugBackground ? 0.8 : 1.0);\n },\n\n chooseDisplayTheme: function(evt) { \n var themes = DisplayThemes;\n var target = this; // trouble with function scope\n var themeNames = Properties.own(themes);\n var items = themeNames.map(\n function(each) { return [each, target, \"setDisplayTheme\", themes[each]]; });\n var menu = new MenuMorph(items, this);\n menu.openIn(this.world(), evt.point());\n },\n \n setDisplayTheme: function(styleDict) { \n this.displayTheme = styleDict;\n this.withAllSubmorphsDo( function() { this.applyLinkedStyles(); });\n },\n \n restart: function() {\n window.location && window.location.reload();\n },\n\n},\n'geometry', {\n \n layoutChanged: function() {\n\t// do nothing\n },\n\n layoutOnSubmorphLayout: function() {\n\treturn false;\n },\n \n\n moveBy: function(delta) { // don't try to move the world\n },\n},\n'world', {\n\n world: function() { \n return this; \n },\n\t\n validatedWorld: function() { \n return this; \n },\n \n firstHand: function() {\n return this.hands[0];\n },\n\n onEnter: function() {},\n onExit: function() {},\n\n /**\n * override b/c of parent treatement\n */\n relativize: function(pt) { \n return pt;\n //return pt.matrixTransform(this.rawNode.parentNode.getTransformToElement(this.rawNode)); \n },\n\thideHostMouseCursor: function() {\n\t\tif (!Config.hideSystemCursor) return;\n\t\tvar\tpath = URL.codeBase.withFilename('media/nocursor.gif').pathname\n\t\tdocument.body.style.cursor = 'url(\"' + path + '\"), none';\n\t},\n\tshowHostMouseCursor: function() {\n\t\tdocument.body.style.cursor = 'default'\n\t},\n\n\n\n},\n'stepping', {\n \n // *** The new truth about ticking scripts ***\n // A morph may have any number of active scripts\n // Each is activated by a call such as\n // this.startStepping(50, \"rotateBy\", 0.1);\n // Note that stepTime is in milliseconds, as are all lower-level methods\n // The arguments are: stepTime, scriptName, argIfAny\n // This in turn will create a SchedulableAction of the form\n // { actor: aMorph, scriptName: \"rotateBy\", argIfAny: 0.1, stepTime: 50, ticks: 0 }\n // and this action will be both added to an array, activeScripts in the morph,\n // and it will be added to the world's scheduledActions list, which is an array of\n // tuples of the form [msTimeToRun, action]\n // The ticks field is used to tally ticks spent in each schedulableAction --\n // It is incremented on every execution, and it is multiplied by 0.9 every second\n // Thus giving a crude 10-second average of milliseconds spent in this script\n // every 10 seconds. The result is divided by 10 in the printouts.\n //\n // The message startSteppingScripts can be sent to morphs when they are placed in the world.\n // It is intended that this may be overridden to start any required stepping.\n // The message stopStepping will be sent when morphs are removed from the world.\n // In this case the activeScripts array of the morph is used to determine exactly what\n // scripts need to be unscheduled. Note that startSteppingScripts is not sent\n // automatically, whereas stopStepping is. We know you won't forget to \n // turn your gadgets on, but we're more concerned to turn them off when you're done.\n\n scheduleForLater: function(action, delayInMs, removePrior) {\n if (removePrior) this.stopSteppingFor(action, true); // unschedule earlier\n this.scheduleAction(new Date().getTime() + delayInMs, action);\n },\n \n startSteppingFor: function(action) {\n\t\tif (!action.scriptName) throw new Error(\"old code\");\n\t\t// New code for stepping schedulableActions\n\t\tthis.stopSteppingFor(action, true); // maybe replacing arg or stepTime\n\t\tthis.scheduleAction(new Date().getTime(), action);\n\t},\n \n stopSteppingFor: function(action, fromStart) { // should be renamed to unschedule()\n // fromStart means it is just getting rid of a previous one if there,\n\t // so not an error if not found\n\n if (this.currentScript === action) {\n\t\t // Not in queue; just prevent it from being rescheduled\n\t\t this.currentScript = null;\n\t\t return;\n\t\t};\n\n\t\tthis.scheduledActions = this.scheduledActions.reject(function(ea) {\n\t\t\tvar eaAction = ea[1]\n\t\t\treturn action.equalActorAndName(eaAction)\n\t\t})\n },\n\n \tstopSteppingScriptNamedAndRemoveFromSubmorphs: function(sName) {\n\t\tif (!this.activeScripts) return;\n\t\tvar all =this.activeScripts.select(function (ea) { return ea.scriptName == sName });\n\t\tall.invoke('stop', this.world());\n\t\tall.each(function(ea) {this.removeMorph(ea);}.bind(this));//remove\n\t\tthis.activeScripts = this.activeScripts.select(function (ea) { return ea.scriptName !== sName });\t\n\t\tif (this.activeScripts.length == 0) this.activeScripts = null;\n },\n \n validateScheduler: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n\tvar list = this.scheduledActions.clone(); // shorthand\n for (var i = 0; i < list.length; i++) {\n var actn = list[i][1];\n if (actn.actor instanceof Morph && actn.actor.validatedWorld() !== this) {\n this.stopSteppingFor(actn)\n }\n }\n },\n\n inspectScheduledActions: function() {\n // inspect an array of all the actions in the scheduler. Note this\n // is not the same as scheduledActions which is an array of tuples with times\n lively.Tools.inspect(this.scheduledActions.map(function(each) { return each[1]; }));\n },\n\n doOneCycle: function WorldMorph$doOneCycle(world) {\n // Process scheduled scripts\n\n // Run through the scheduledActions queue, executing those whose time has come\n // and rescheduling those that have a repeatRate\n // Note that actions with error will not get rescheduled\n // (and, unless we take the time to catch here, will cause all later \n // ones in the queue to miss this tick. Better less overhead, I say\n // DI: **NOTE** this needs to be reviewed for msClock rollover\n // -- also note we need more time info for multi-day alarm range\n // When we do this, I suggest that actions carry a date and msTime\n // and until their day is come, they carry a msTime > a day\n // That way they won't interfere with daily scheduling, but they can\n // still be dealt with on world changes, day changes, save and load.\n\t\tvar msTime = new Date().getTime();\n\t\tvar timeOfNextStep = Infinity;\n\t\tvar list = this.scheduledActions; // shorthand\n\t\tvar timeStarted = msTime; // for tallying script overheads\n\t\twhile (list.length > 0 && list[list.length - 1][0] <= msTime) {\n\t\t\tvar schedNode = list.pop(); // [time, action] -- now removed\n\t\t\tvar action = schedNode[1];\n\t\t\tthis.currentScript = action; // so visible from stopStepping\n\t\t\tlively.lang.Execution.resetDebuggingStack(); // Reset at each tick event\n\t\t\ttry {\n\t\t\t\taction.exec();\n\t\t\t} catch (er) {\n\t\t\t\tconsole.warn(\"error on actor %s: %s\", action.actor, er);\n\t\t\t\tdbgOn(true);\n\t\t\t\tlively.lang.Execution.showStack();\n\t\t\t\ttimeStarted = new Date().getTime();\n\t\t\t\tcontinue; // Note: if error in script above, it won't get rescheduled below (this is good)\n\t\t\t}\n \n\t\t\t// Note: stopStepping may set currentScript to null so it won't get rescheduled\n\t\t\tif (this.currentScript && action.stepTime > 0) {\n\t\t\t\tvar nextTime = msTime + action.stepTime;\n\t\t\t\tthis.scheduleAction(nextTime, action)\n\t\t\t}\n\t\t\tthis.currentScript = null;\n\n\t\t\tvar timeNow = new Date().getTime();\n\t\t\tvar ticks = timeNow - timeStarted;\n\t\t\tif (ticks > 0) action.ticks += ticks; // tally time spent in that script\n\t\t\ttimeStarted = timeNow;\n\t\t}\n\n\t\t// Generate a mouseMove if any ticking scripts have run so that\n\t\t// simulations can respond where, eg, a morph moves under the mouse\n\t\t// DI: This is *only* needed for the slide-keyboard-under-mouse demo (very cool)\n\t\t//\tUses extra cycles, though, and currently fails in Opera\n\t\tif (Config.nullMoveAfterTicks) { // set this true in localConfig for the demo\n\t\t\tvar myHand = this.firstHand();\n\t\t\tif (myHand) myHand.makeANullMove();\n\t\t}\n\t\tif (list.length > 0) timeOfNextStep = Math.min(list[list.length-1][0], timeOfNextStep);\n\n\t\t// Each second, run through the tick tallies and mult by 0.9 to 10-sec \"average\"\n\t\tif (!this.secondTick) this.secondTick = 0;\n\t\tvar secondsNow = Math.floor(msTime / 1000);\n\t\tif (this.secondTick != secondsNow) {\n\t\t\tthis.secondTick = secondsNow;\n\t\t\tvar tallies = {};\n\t\t\tfor (var i=0; i=0; i--) {\n var schedNode = list[i];\n if (schedNode[0] > msTime) {\n list.splice(i+1, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n return; \n }\n }\n list.splice(0, 0, [msTime, action]);\n if (!this.mainLoop) this.kickstartMainLoop();\n },\n},\n'dialogs', {\n \n\topenURLasText: function(url, title) {\n\t\t// FIXME: This should be moved with other handy services like confirm, notify, etc\t\t\n\t\tvar pane = this.addTextWindow({content: \"fetching ... \", title: title});\n\t\tvar r = new WebResource(url);\n\t\tlively.bindings.connect(r, 'content', pane.innerMorph(), 'setTextString');\n\t\tr.beAsync().get();\n\t\t\n\t},\n\n\tviewport: function() {\n\t\ttry {\n\t\t\treturn Rectangle.ensure(this.canvas().viewport);\n\t\t\t} catch (er) { // FF doesn't implement viewport ?\n\t\t\treturn this.shape.bounds();\n\t\t}\n\t},\n\n\talert: function(varargs) {\n\t\tvar message = Strings.formatFromArray($A(arguments));\n\t\tvar openDialog = function() {\n\t\t\talert(message)\n\t\t};\n\t\tthis.setStatusMessage(message, Color.red, undefined, openDialog, undefined, \"alert: \")\n\t}.logErrors('alert'),\n\n\tprompt: function(message, callback, defaultInput) {\n\t\tvar model = Record.newPlainInstance({Message: message, Input: defaultInput || \"\", Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value == true && callback) callback.call(Global, model.getInput());\n\t\t\t}\n\t\t});\n\t\tvar dialog = new PromptDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\", Input: \"Input\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t},\n\n editPrompt: function(message, callback, defaultInput) {\n\t\tvar dialog = new PromptDialogMorph();\n\t\tdialog.title = message;\n\t\tdialog.setText(defaultInput);\n\t\tdialog.callback = callback;\n\t\tdialog.openIn(this, this.positionForNewMorph(dialog));\n\t\treturn dialog\n },\n\n\tconfirm: function(message, callback) {\n\t\tvar model = Record.newPlainInstance({Message: message, Result: null});\n\t\tmodel.addObserver({ \n\t\t\tonResultUpdate: function(value) { \n\t\t\t\tif (value && callback) callback.call(Global, value);\n\t\t\t}});\n\t\tvar dialog = new ConfirmDialog(model.newRelay({Message: \"-Message\", Result: \"+Result\"}));\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t\treturn dialog;\n\t},\n\tshowErrorDialog: function(error) {\n\t\tvar pane = this.addTextWindow({\n\t\t\tcontent: \"\",\n\t\t\ttitle: \"Error\", \n\t\t});\n\t\tpane.owner.setPosition(this.positionForNewMorph(pane))\n\t\tLastPane = pane\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceURL) {\n\t\t\t// works under Safari 5\n\t\t\tvar urlString = error.sourceURL;\n\t\t\tvar source = new WebResource(new URL(urlString)).get().content\n\t\t\tthis.showErrorDiaglogInWorkspace(source, error.expressionBeginOffset, error.expressionEndOffset, pane)\n\t\t\tpane.owner.setTitle('Error:' + urlString)\n\t\t\treturn pane\n\t\t}\n\n\t\tif (error.expressionEndOffset && error.expressionBeginOffset && error.sourceId) {\n\t\t\tvar sourceReference = EvalSourceRegistry.current().sourceReference(error.sourceId);\n\t\t\tif (sourceReference !== undefined) {\n\t\t\t\tconsole.log('error ' + printObject(error))\n\t\t\t\tvar expressionBeginOffset = error.expressionBeginOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tvar expressionEndOffset = error.expressionEndOffset - sourceReference.evalCodePrefixLength;\n\t\t\t\tthis.showErrorDiaglogInWorkspace(sourceReference.sourceString, expressionBeginOffset, expressionEndOffset, pane)\n\t\t\t\tif (sourceReference.morph) {\n\t\t\t\t\tsourceReference.morph.showError(error, (sourceReference.offset || 0) - sourceReference.evalCodePrefixLength)\n\t\t\t\t}\n\n\t\t\t\treturn pane\n\t\t\t}\n\t\t} \n\n\t\tpane.innerMorph().setTextString(printObject(error))\t\n\t\treturn pane\n\t},\n\tshowErrorDiaglogInWorkspace: function(source, expressionBeginOffset, expressionEndOffset, pane) {\n\t\t// PRIVATE HELPER\n\t\tconsole.log(\"begin \" + expressionBeginOffset + \" end \" + expressionEndOffset)\n\t\tvar start = source.lastIndexOf(\"\\n\\n\", expressionBeginOffset)\n\t\tif (start == -1) start = 0;\n\t\tvar startOffset = expressionBeginOffset - start;\n\t\tvar stop = source.indexOf(\"\\n\", expressionEndOffset + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\t\tif (stop != -1)\tstop = source.indexOf(\"\\n\", stop + 1);\n\n\t\tif (stop == -1) stop = source.length;\n\n\t\tconsole.log(\"source: \" + source + \"| \" + source.length+\" expressionEndOffset: \" + expressionEndOffset)\n\t\tvar excerpt = source.slice(start, stop)\n\t\tpane.innerMorph().setTextString(excerpt)\n\n\t\tpane.innerMorph().emphasizeFromTo({color: Color.red}, \n\t\t\tstartOffset, startOffset + expressionEndOffset - expressionBeginOffset);\n\t\tpane.innerMorph().replaceSelectionWith\n\t\tconsole.log(\"found excerpt: \" + excerpt + \" start: \" + start + \" stop:\" + stop)\n\t},\n},\n'new content', {\n \n\taddFramedMorph: function(morph, title, optLoc, optSuppressControls) {\n\t\tvar displ = pt(5, 5);\n\t\treturn this.addMorphAt(\n\t\t\tnew WindowMorph(morph, title, optSuppressControls), \n\t\t\toptLoc || this.positionForNewMorph(morph).subPt(displ));\n\t},\n\n\taddTextWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (Object.isString(spec.valueOf())) spec = {content: spec}; // convenience\n\t\tvar extent = spec.extent || pt(500, 200);\n\t\tvar pane = this.internalAddWindow(\n\t\t\t\tnewTextPane(extent.extentAsRectangle(), spec.content || \"\"),\n\t\t\t\tspec.title, spec.position);\n\t\tif (spec.acceptInput !== undefined) pane.innerMorph().acceptInput = spec.acceptInput;\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\taddTextListWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (spec instanceof Array) spec = {content: spec }; // convenience\n\t\tvar content = spec.content;\n\t\tif (!content) content = \"\";\n\t\tif (!(content instanceof Array)) content = [content];\n\t\tvar extent = spec.extent || pt(500, Math.min(300, content.length * TextMorph.prototype.fontSize * 1.5));\n\t\tvar rec = extent.extentAsRectangle();\n\t\tvar pane = this.internalAddWindow(newTextListPane(rec, content), spec.title, spec.position);\n\t\tif (spec.plug) pane.connectModel(spec.plug, true);\n\t\treturn pane;\n\t},\n\n\tinternalAddWindow: function(pane, titleSpec, posSpec) {\n\t\tvar pos = (posSpec instanceof Point) ? posSpec : undefined;\n\t\tpane.setBorderWidth(2); pane.setBorderColor(Color.black);\n\t\tvar win = this.addFramedMorph(pane, String(titleSpec || \"\"), pos || this.firstHand().position().subPt(pt(5, 5)));\n\t\tif (posSpec == \"center\") {\n\t\t\twin.align(win.bounds().center(), this.viewport().center());\n\t\t}\n\t\treturn pane;\n\t},\n\n\n\taddMorphFrontOrBack: function($super, m, front) {\n\t\tvar oldTop = this.topWindow();\n\t\tvar result = $super(m, front);\n\t\tif (!front || !(m instanceof WindowMorph)) return result;\n\t\t// if adding a new window on top, then make it active\n\t\tif (oldTop) oldTop.titleBar.highlight(false);\n\t\tm.takeHighlight();\n\t\treturn result;\n\t},\n\n\ttopWindow: function() {\n\t\tfor (var i= this.submorphs.length - 1; i >= 0; i--) {\n\t\t\tvar sub = this.submorphs[i];\n\t\t\tif (sub instanceof WindowMorph) return sub;\n\t\t}\n\t\treturn null;\n\t},\n\n\tpositionForNewMorph: function(newMorph, relatedMorph) {\n\t\t// this should be much smarter than the following:\n\t\tif (relatedMorph)\n\t\t\treturn relatedMorph.bounds().topLeft().addPt(pt(5, 0));\n\t\tvar pos = this.firstHand().getPosition();\n\t\tif (!newMorph) return pos;\n\t\tvar viewRect = this.windowBounds();\n\t\tvar newMorphBounds = pos.extent(newMorph.getExtent());\n\t\tif (viewRect.containsRect(newMorphBounds)) return pos;\n\t\treturn viewRect.center().subPt(newMorphBounds.extent().scaleBy(0.5));\n\t},\n\n\treactiveAddMorph: function(morph, relatedMorph) { \t// add morph in response to a user action, make it prominent\n\t\treturn this.addMorphAt(morph, this.positionForNewMorph(morph, relatedMorph));\n\t},\n \n resizeByUser: function() {\n var world = this;\n var cb = function(newSizePtLiteral) {\n \t try {\n \t var newPoint = eval(newSizePtLiteral);\n \t basicResize(world, world.canvas(), newPoint.x, newPoint.y);\n } catch(e) {\n \t world.alert('Wrong input ' + newSizePtLiteral);\n \t\t }\n \t};\n \tworld.prompt('Enter extent', cb, world.bounds().bottomRight().toString());\n },\n\n\taddProgressBar: function(optPt) {\n\t\tvar center = optPt || this.windowBounds().center()\n\t\tvar progressBar = new ProgressBarMorph(new Rectangle(0,0, 450, 30))\n\t\tthis.addMorph(progressBar);\n\t\tprogressBar.align(progressBar.bounds().center(), center);\n\t\tprogressBar.ignoreEvents();\n\t\treturn progressBar\n\t},\n}, \n'Requirements', {\n\t// this.world().showAddWorldRequirementsMenu(pt(100,100))\n\tshowAddWorldRequirementsMenu: function(pos) {\n\t\t\tvar ignoreModules = \"lively.Widgets lively.WikiWidget lively.Data lively.Base lively.defaultconfig lively.CanvasExpt lively.obsolete lively.Helper lively.miniprototype lively.demofx lively.Text lively.EmuDom lively.Core lively.bindings lively.rhino-compat lively.Tools lively.localconfig lively.Main lively.Network lively.scene lively.simpleMain lively.ChangeSet lively.ide\".split(\" \")\n\n\t\t\tvar items = ['apps', 'lively', 'Tests', 'draft']\n\t\t\t\t.select(function(ea){\n\t\t\t\t\treturn new WebResource(new URL(Config.codeBase).withFilename(ea)).exists()})\n\t\t\t\t.collect(function(eaDir) {\n\t\t\treturn [eaDir, ChangeSet.current()\n\t\t\t\t.moduleNamesInNamespace(eaDir)\n\t\t\t\t.sort()\n\t\t\t\t.reject(function(ea) { return ignoreModules.include(ea) })\n\t\t\t\t.collect(function(ea){ \n\t\t\t\t\treturn [ea, function(){\n\t\t\t\t\t\tmodule(ea).load();\n\t\t\t\t\t\tChangeSet.current().addWorldRequirement(ea);\n\t\t\t\t\t\tthis.alert(\"load \" + ea + \" module\")}\n\t\t\t\t]}\n\t\t\t)]\n\t\t});\n\n\t\tvar menu = new MenuMorph(items, this.world());\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"require module for this page\");\n\n\t},\n\t// this.world().showRemoveWorldRequirementsMenu(pt(100,100))\n\tshowRemoveWorldRequirementsMenu: function(pos) {\n\t\tvar pageModules = ChangeSet.current().getWorldRequirementsList().evaluate() \n\t\tvar items = pageModules\n\t\t\t.sort()\n\t\t\t.collect(function(ea){ \n\t\t\treturn [ea, function(){\n\t\t\t\tChangeSet.current().removeWorldRequirement(ea);\n\t\t\t\tthis.alert(\"remove \" + ea + \" module requirement\")}]\n\t\t})\n\t\tvar menu = new MenuMorph(items, this.world())\n\t\tmenu.openIn(this.world(), pos, false, \n\t\t\t\"remove module requirement for this page\");\n\t}\n},\n'Feedback and Saving', {\n\n\tpromptAndSaveWorld: function(asJson) {\n\t\tthis.prompt(\"world file (.xhtml)\", function(filename) {\n\t\t\tif (!filename.endsWith('.xhtml')) filename += '.xhtml'\n\t\t\tvar start = new Date().getTime();\t\n\t\t\tif (asJson) this.saveWorldWithJSON(filename);\n\t\t\telse this.exportLinkedFile(filename);\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tthis.setStatusMessage(\"world save as \" + filename + \" in \" + time + \"ms\", Color.green, 3)\t\n\t\t}.bind(this)); \n\t},\n\n\tsaveWorldWithJSON: function(optURLOrPath) {\n\t\tvar world = this,\n\t\t\turl = optURLOrPath || URL.source,\n\t\t\tstart = new Date().getTime(),\n\t\t\tonFinished = function() {\n\t\t\t\tvar time = new Date().getTime() - start;\n\t\t\t\tworld.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + time + \"ms serialization)\", Color.green, 3)\n\t\t\t};\n\t\t\t\n\t\t\t\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\trequire(\"lively.SmartRefSerialization\").toRun(function() {\n\t\t\tif (world._statusMessageContainer) world._statusMessageContainer.remove();\n\t\t\tvar doc = ObjectGraphLinearizer.serializeWorld(world);\n\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t});\n\n\t\t\n\t\treturn url;\n\t},\n\t\n\tsaveWorld: function(optURLOrPath) {\n\t\tvar url = optURLOrPath || URL.source;\n\t\t// make relative to absolute URL\n\t\ttry { url = new URL(url) } catch(e) { url = URL.source.withFilename(url) };\n\t\tvar start = new Date().getTime();\n\t\tvar self = this;\n\t\tvar serializeTime;\n\t\tvar onFinished = function() {\n\t\t\tvar time = new Date().getTime() - start;\n\t\t\tself.setStatusMessage(\"world saved to \" + url + \" in \" + time + \"ms \\n(\" + serializeTime + \"ms serialization)\", Color.green, 3)\n\t\t}\n\t\tvar statusMessage = WorldMorph.current().setStatusMessage(\"serializing....\");\n\t\t(function() {\n\t\t\tvar oldHand = this.firstHand();\n\t\t\tvar oldKeyboardFocus = oldHand.keyboardFocus;\n\t\t\tthis.removeHand(oldHand);\n\t\t\tvar doc;\n\t\t\tvar world = this;\n\t\t\ttry {\n\t\t\t\tdoc = Exporter.shrinkWrapMorph(this.world());\n\t\t\t\n\t\t\t} catch(e) {\n\t\t\t\tthis.setStatusMessage(\"Save failed due to:\\n\" + e, Color.red, 10, function() {\n\t\t\t\t\tworld.showErrorDialog(e)\n\t\t\t\t})\n\t\t\t} finally {\n\t\t\t\tthis.addHand(oldHand);\n\t\t\t\tconsole.log(\"setting back keyboard focus to\" + oldKeyboardFocus)\n\t\t\t\tif (oldKeyboardFocus)\n\t\t\t\t\toldKeyboardFocus.requestKeyboardFocus(oldHand);\n\t\t\t}\n\t\t\tnew DocLinkConverter(URL.codeBase, url.getDirectory()).convert(doc);\t\t\t\n\t\t\tstatusMessage.remove();\n\t\t\t(function removeJSONIfPresent() {\n\t\t\t\tvar jsonEl = doc.getElementById('LivelyJSONWorld');\n\t\t\t\tif (jsonEl) jsonEl.parentNode.removeChild(jsonEl);\n\t\t\t})()\n\t\t\tserializeTime = new Date().getTime() - start;\n\t\t\t(function() {\n\t\t\t\tExporter.saveDocumentToFile(doc, url, onFinished);\n\t\t\t}).bind(this).delay(0);\n\t\t}).bind(this).delay(0);\n\t\treturn url;\n\t},\n\n\twindowBounds: function () {\n\t\tvar canvas = this.canvas();\n\t\tvar scale = 1/this.world().getScale();\n\t\tvar topLeft = pt(Global.pageXOffset - canvas.offsetLeft, Global.pageYOffset - canvas.offsetTop);\n\t\tvar width = Math.min(\n\t\t\tGlobal.document.documentElement.clientWidth * scale,\n\t\t\tWorldMorph.current().getExtent().x);\n\t\tvar height = Math.min(\n\t\t\tGlobal.document.documentElement.clientHeight * scale,\n\t\t\tWorldMorph.current().getExtent().y)\n\t\treturn topLeft.scaleBy(scale).extent(pt(width, height));\n\t},\n\t\n\tvisibleBounds: function() {\n\t\tvar windowBounds = this.windowBounds();\n\t\tvar worldBounds = this.shape.bounds(); // use shape so no stick-outs are included\n\t\tvar upperLeft = pt(Math.max(windowBounds.x, worldBounds.x), Math.max(windowBounds.y, worldBounds.y));\n\t\tvar lowerRight = pt(Math.min(windowBounds.width, worldBounds.width), Math.min(windowBounds.height, worldBounds.height));\n\t\treturn upperLeft.extent(lowerRight);\n\t},\n\n\tensureStatusMessageContainer: function() {\n\t\tif (!this._statusMessageContainer || ! this._statusMessageContainer.owner) {\n\t\t\tthis._statusMessageContainer = new StatusMessageContainer();\n\t\t\tthis._statusMessageContainer.setName(\"statusMorphContainer\");\n\t\t\tthis.addMorph(this._statusMessageContainer);\n\t\t\tthis._statusMessageContainer.startUpdate();\n\t\t};\n\t\treturn this._statusMessageContainer\n\t},\n\n\tsetStatusMessage: function(msg, color, delay, callback, optStyle, messageKind) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\treturn container.addStatusMessage(msg, color, delay, callback, optStyle, messageKind);\n\t},\t\n\n\tshowStatusProgress: function(msg) {\n\t\tvar container = this.ensureStatusMessageContainer();\n\t\tvar progressBar = container.addProgressBar(msg);\t\t\n\t\treturn progressBar\n\t},\n\t\n\taskForWorldTitle: function() {\n\t\tvar self = this;\n\t\tthis.prompt('new world title', function(input) {\n\t\t\tdocument.title = input;\n\t\t}, document.title);\n\t},\n},\n/**\n *\tWorldMorph Menu \n *\n * Question: Should features register itself in the menu, \n * or should the menu give an overview of available features \n * and load the modules on demand?\n */\n'Menus ', {\n\tisProtectedWorld: function() {\n\t\treturn Global.URL && (URL.source.filename() == \"index.xhtml\")\n\t},\n\t\n\tmorphMenu: function($super, evt) { \n\t\tvar menu = $super(evt);\n\t\tmenu.keepOnlyItemsNamed([\"inspect\", \"edit style\"]);\n\t\tmenu.addItems([['reset scale', function(evt) { var w = evt.hand.world(); w.setScale(1); w.resizeCanvasToFitWorld() }]]);\n\t\tmenu.addLine();\n\t\tmenu.addItems(this.subMenuItems(evt));\n\t\tmenu.addLine();\n\t\tmenu.addItems([\n\t\t\t[\"New subworld (LinkMorph)\", function(evt) { evt.hand.world().addMorph(new LinkMorph(null, evt.point()));}], \n\t\t\t[\"External link\", function(evt) { evt.hand.world().addMorph(new ExternalLinkMorph(URL.source, evt.point()));}],\n\t\t\t[\"authenticate for write access\", function() {\n\t\t\t\tnew NetRequest().put(URL.source.withFilename('auth'));\n\t\t\t\t// sometimes the wikiBtn seems to break after an authenticate\n\t\t\t\tif (Config.showWikiNavigator) WikiNavigator.enableWikiNavigator(true); }],\n\t\t\t[\"publish world as ... (XML)\", function() { this.promptAndSaveWorld() }],\n\t\t\t[\"publish world as ... (JSON)\", function() { this.promptAndSaveWorld(true/*asJson*/) }],\n\t\t]);\n\t\tif (! this.isProtectedWorld()) { // Global. avoids an error if Network.js not loaded\n\t\t\t// save but only if it's not the startup world\n\t\t\tmenu.addItem([\"save world (XML)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorld();\n\t\t\t}]);\n\t\t\tmenu.addItem([\"save world (JSON)\", function() { \n\t\t\t\tmenu.remove(); \n\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t}]);\n\t\t}\n\t\tif(Config.debugExtras) {\n\t\t\tmenu.addItem([\"arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }]);\n\t\t\tmenu.addItem([\"arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }]);\n\t\t}\n\t\tmenu.addItem([\"resize world\", this.resizeByUser]);\n\t\tmenu.addItem([\"restart system\", this.restart]);\n\t\treturn menu;\n\t},\n\t\n\tsimpleMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"Line\", function(evt) { \n\t\t\t\tvar p = evt.point(); \n\t\t\t\tvar m = Morph.makeLine([p, p.addXY(60, 30)], 2, Color.black);\n\t\t\t\tworld.addMorph(m);\n\t\t\t\tm.setPosition(evt.point())}],\n\t\t\t[\"Connector\", function(evt) { \n\t\t\t\trequire('lively.Connector').toRun(function() {\n\t\t\t\t\tvar m = Morph.makeConnector(evt.point())\n\t\t\t\t\tworld.addMorph(m);\n\t\t\t\t\tm.setGlobalEndPos(evt.point().addXY(60, 30))\n\t\t\t\t})}],\n\t\t\t[\"Rectangle\", function(evt) { world.addMorph(Morph.makeRectangle(evt.point(), pt(60, 30)));}],\n\t\t\t[\"Ellipse\", function(evt) { world.addMorph(Morph.makeCircle(evt.point(), 25)); }],\n\t\t\t[\"TextMorph\", function(evt) { \n\t\t\t\tvar text = new TextMorph(evt.point().extent(pt(120, 10)), \"This is a TextMorph\");\n\t\t\t\tworld.addMorph(text);}],\n\t\t\t[\"Star\",function(evt) { world.addMorph(Morph.makeStar(evt.point()))}],\n\t\t\t[\"Heart\", function(evt) { world.addMorph(Morph.makeHeart(evt.point()))}],\n\t\t\t[\"Marker\", function(evt) {world.addMorph(new MarkerMorph(evt.point().extent(pt(100, 100))))}]\n\t\t];\n\t},\n\n\tcomplexMorphsSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"SliderMorph\", function(evt) { world.addMorph(Widget.makeSlider(evt.point().extent(pt(120, 40))))}],\n\t\t\t[\"ButtonMorph\", function(evt) { world.addMorph(new ScriptableButtonMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ProgressBarMorph\", function(evt) { world.addMorph(new ProgressBarMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"ScaleMorph\", function(evt) { world.addMorph(new ScaleMorph(evt.point().extent(pt(70, 30))))}],\n\t\t\t[\"Clock\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = world.addMorph(new ClockMorph(evt.point(), 50));\n\t\t\t\t\tm.startSteppingScripts();\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.Examples')\n\t\t\t\t})}],\n\t\t\t[\"FabrikClock\", function(evt) {\n\t\t\t\trequire('lively.Fabrik').toRun(function() {\n\t\t\t\t\tvar clock = new FabrikClockWidget();\n\t\t\t\t\tvar morph = clock.buildView();\n\t\t\t\t\tworld.addMorph(morph);\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t\tmorph.startSteppingScripts(); }); }],\n\t\t\t[\"Text Window\", function(evt) { \n\t\t\t\tWorldMorph.current().addTextWindow(\"Editable text\"); }],\n\t\t\t[\"Piano Keyboard\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar m = new PianoKeyboard(evt.point());\n\t\t\t\t\tm.scaleBy(1.5);\t m.rotateBy(-Math.PI*2/12);\n\t\t\t\t\tworld.addMorph(m); }); }],\n\t\t\t[\"Kaleidoscope\", function(evt) {\n\t\t\t\trequire('lively.Examples').toRun(function() {\n\t\t\t\t\tvar kal = WorldMorph.current().addMorph(new SymmetryMorph(300, 7)); \n\t\t\t\t\tkal.startUp(); }) } ],\n\t\t\t[\"Image Morph\", function(evt) {\n\t\t\t\tworld.prompt('Enter image URL', function(urlString) {\n\t\t\t\t\tvar img = new ImageMorph(evt.point().extent(pt(100,100)), urlString);\n\t\t\t\t\timg.openInWorld() }) }],\n\t\t\t[\"Video Morph\", function(evt) {\n\t\t\t\tVideoMorph.openAndInteractivelyEmbed(evt.point()) }],\n\t\t\t[\"Layout Demo\", function(evt) {\n\t\t\t\trequire('lively.GridLayout').toRun(function() {\n\t\t\t\t\tGridLayoutMorph.demo(evt.hand.world(), evt.point()); }); }],\n\t\t\t[\"Effects demo (FF only)\", function(evt) { require('lively.demofx').toRun(Functions.Empty); }],\n\t\t\t[\"PresentationPage\", function(evt) { \n\t\t\t\trequire('lively.Presentation').toRun(function(){\n\t\t\t\t\tworld.addMorph(new lively.Presentation.PageMorph(new Rectangle(0,0,800,600)))\n\t\t\t\t}); \n\t\t\t}],\n\t\t\t// [\"Duplicator Panel\", function(evt) { \n\t\t\t// \trequire('lively.Graffle').toRun(function(){\n\t\t\t// \t\tworld.addMorph(Morph.makeDefaultDuplicatorPanel(evt.point()))\n\t\t\t// \t}); \n\t\t\t// }], \n\t\t\t[\"FileUpload Morph\", function(evt) { \n\t\t\t\trequire('lively.FileUploadWidget').toRun(function(){\n\t\t\t\t\tvar morph = new FileUploadMorph();\n\t\t\t\t\tworld.addMorph(morph)\n\t\t\t\t\tmorph.setPosition(evt.point());\n\t\t\t\t}); \n\t\t\t}],\n\t\t];\n\t},\n\t\n\ttoolSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\tvar toolMenuItems = [\n//\t\t\t[\"Class Browser\", function(evt) { new SimpleBrowser().openIn(world, evt.point()); }],\n\t\t\t[\"System code browser (b)\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.SystemBrowser().openIn(world)})}],\n\t\t\t[\"Local code Browser\", function(evt) { require('lively.ide').toRun(function(unused, ide) {new ide.LocalCodeBrowser().openIn(world)})}],\n\t\t\t[\"Wiki code Browser\", function(evt) { require('lively.ide', 'lively.LKWiki').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tvar repo = new URL(input);\n\t\t\t\t\tnew ide.WikiCodeBrowser(repo).open()\n\t\t\t\t};\n\t\t\t\tworld.prompt('Wiki base URL?', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\n\t\t\t[\"Switch System browser directory...\", function(evt) { require('lively.ide').toRun(function(unused, ide) {\n\t\t\t\tvar cb = function(input) {\n\t\t\t\t\tif (!input.endsWith('/')) input += '/';\n\t\t\t\t\tide.startSourceControl().switchCodeBase(new URL(input));\n\t\t\t\t};\n\t\t\t\tworld.prompt('Enter System browser directory (URL)', cb, URL.source.getDirectory().toString());\n\t\t\t\t})}],\t\t\t\t\n\t\t\t[\"File Browser\", function(evt) { new FileBrowser().openIn(world) }],\n\t\t\t[\"Object Hierarchy Browser\", function(evt) { new ObjectBrowser().openIn(world); }],\t\n\t\t\t[\"Enable profiling\", function() {\n\t\t\t\t\tConfig.debugExtras = true;\n\t\t\t\t\tlively.lang.Execution.installStackTracers(); }],\n\t\t\t[\"Console (l)\", function(evt) {world.addFramedMorph(new ConsoleWidget(50).buildView(pt(800, 100)), \"Console\"); }],\n\t\t\t[\"TestRunner\", function(evt) { require('lively.TestFramework').toRun(function() { new TestRunner().openIn(world) }) }],\n\t\t\t[\"OMetaWorkspace\", function(evt) { require('lively.Ometa').toRun(function() { new OmetaWorkspace().open() }) }],\n\t\t\t[\"Call Stack Viewer\", function(evt) { \n\t\t\tif (Config.debugExtras) lively.lang.Execution.showStack(\"use viewer\");\n\t\t\telse new StackViewer(this).openIn(world); }],\t \n\t\t\t[\"FrameRateMorph\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new FrameRateMorph(evt.point().extent(pt(160, 10)), \"FrameRateMorph\"));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"EllipseMaker\", function(evt) {\n\t\t\t\tvar m = world.addMorph(new EllipseMakerMorph(evt.point()));\n\t\t\t\tm.startSteppingScripts(); }],\n\t\t\t[\"XHTML Browser\", function(evt) { \n\t\t\t\tvar xeno = new XenoBrowserWidget('sample.xhtml');\n\t\t\t\txeno.openIn(world); }],\n\t\t\t[\"Viewer for latest file changes\", function(evt) {\n\t\t\tvar cb = function(input) {\n\t\t\t\trequire('lively.LKWiki').toRun(function(u,m) {\n\t\t\t\t\tvar url = new URL(input);\n\t\t\t\t\tconsole.log(url);\n\t\t\t\t\tnew LatestWikiChangesList(url).openIn(world);\n\t\t\t}); }\n\t\t\t\tworld.prompt('Url to observe', cb, URL.source.getDirectory().toString()); \n\t\t\t}],\n\t\t\t[\"Version Viewer\", function(evt) {\n\t\t\t\trequire('lively.ide').toRun(function() {\n\t\t\t\t\tChangeSet.current().addWorldRequirement('lively.ide');\n\t\t\t\t\tnew lively.ide.FileVersionViewer().openForURL(URL.source);\n\t\t\t\t});\n\t\t\t}],\n\t\t\t[\"MiniMap\", function(evt) {\n\t\t\t\tvar map = new MiniMapMorph();\n\t\t\t\tmap.name = 'MiniMap';\n\t\t\t\tmap.openInWorld();\n\t\t\t\tmap.setTargetWorld(world);\n\t\t\t\tmap.startSteppingScripts()\n\t\t\t}],\t\t\t\n\t\t];\n\n\t\tif (Config.debugExtras) { var index = -1;\n\t\t\tfor (var i=0; i= 0) \n\t\t\t\t\ttoolMenuItems.splice(index, 1,\n\t\t\t\t\t\t[\"-----\"],\n\t\t\t\t\t\t[\"Profiling help\", function(evt) { this.openURLasText( URL.common.project.withRelativePath(\n\t\t\t\t\t\t\t\"/trac/wiki/ProfilingHelp?format=txt\"), \"Profiling help\"); }],\n\t\t\t\t\t\t[\"Arm profile for next mouseDown\", function() {evt.hand.armProfileFor(\"MouseDown\") }],\n\t\t\t\t\t\t[\"Arm profile for next mouseUp\", function() {evt.hand.armProfileFor(\"MouseUp\") }],\n\t\t\t\t\t\t[\"Disable profiling\", function() {\n\t\t\t\t\t\t\tConfig.debugExtras = false;\n\t\t\t\t\t\t\tlively.lang.Execution.installStackTracers(\"uninstall\");\t }],\n\t\t\t\t\t\t[\"-----\"]);\n\t\t};\n\t\treturn toolMenuItems\n\t},\n\n\tscriptingSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[\"TileScriptingBox\", function(evt) { require('lively.TileScripting').toRun(function() {new lively.TileScripting.TileBox().openIn(world); }) }],\n\t\t\t[\"Fabrik Component Box\", function(evt) { require('lively.Fabrik').toRun(function() { Fabrik.openComponentBox(world); }) }],\n\t\t\t[\"Webcards with name\", function(evt) { require('apps.Webcards').toRun(function(){\n\t\t\t\t\tvar sds = new SimpleDataStore(pt(600, 300));\n\t\t\t\t\tworld.prompt(\"Name of stack:\", sds.openStackWithName.bind(sds));\n\t\t\t\t\tworld.addFramedMorph(sds, 'WebCards', pt(333, 222));\n\t\t\t\t}); \n\t\t\t}],\n \n\t\t];\n\t},\n\n\tpreferencesSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn [\n\t\t\t[(Config.usePieMenus ? \"don't \" : \"\") + \"use pie menus\",\n\t\t\t\t\t function() { Config.usePieMenus = !Config.usePieMenus; }],\n\t\t\t[\"choose display theme...\", this.chooseDisplayTheme],\n\t\t\t[(Morph.prototype.suppressBalloonHelp ? \"enable balloon help\" : \"disable balloon help\"),\n\t\t\t\t\t this.toggleBalloonHelp],\n\t\t\t[(HandMorph.prototype.useShadowMorphs ? \"don't \" : \"\") + \"show drop shadows\",\n\t\t\t function () { HandMorph.prototype.useShadowMorphs = !HandMorph.prototype.useShadowMorphs}],\n\t\t\t[(Config.showGrabHalo ? \"don't \" : \"\") + \"show bounds halos\",\n\t\t\t function () { Config.showGrabHalo = !Config.showGrabHalo}],\n\t\t\t[HandMorph.prototype.applyDropShadowFilter ? \"don't use filter shadows\" : \"use filter shadows (if supported)\",\n\t\t\t function () { HandMorph.prototype.applyDropShadowFilter = !HandMorph.prototype.applyDropShadowFilter}],\n\t\t\t[(Config.useDebugBackground ? \"use normal background\" : \"use debug background\"),\n\t\t\t\t\t this.toggleDebugBackground],\n\t\t\t[(Config.isSnappingToGrid ? \"[X]\": \"[]\") + \" snap to grid\",\n\t\t\t\t\t\t function(){Config.isSnappingToGrid = !Config.isSnappingToGrid}],\n\t\t\t[\"change title\", this, 'askForWorldTitle'],\n\t\t\t[\"add module requirements...\",\n\t\t\t\t function(){this.showAddWorldRequirementsMenu(evt.mousePoint)}],\n\t\t\t[\"remove module requirements...\",\n\t\t\t\t function(){this.showRemoveWorldRequirementsMenu(evt.mousePoint)}]\n\t\t];\n\t},\n\t\n\n\thelpSubMenuItems: function(evt) {\n\t\tvar world = this.world();\n\t\treturn\t[\n\t\t\t[\"Connect documentation\", function(evt) {\n\t\t\t\trequire('lively.bindings').toRun(function() {\n\t\t\t\t\tworld.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/ConnectHelp?format=txt\"), \"Connect documentation\");\n\t\t\t\t})\n\t\t\t}],\n\t\t\t[\"Command key help\", function(evt) {\n\t\t\t\tthis.openURLasText(new URL(\"http://lively-kernel.org/trac/wiki/CommandKeyHelp?format=txt\"), \"Command key help\"); }]\n\t\t];\n\t},\n\t\n\tsubMenuItems: function(evt) {\n\t\t//console.log(\"mouse point == %s\", evt.mousePoint);\n\t\treturn [\n\t\t\t['Simple morphs', this.simpleMorphsSubMenuItems(evt)],\n\t\t\t['Complex morphs', this.complexMorphsSubMenuItems(evt)],\n\t\t\t['Tools', this.toolSubMenuItems(evt)],\n\t\t\t['Scripting', this.scriptingSubMenuItems(evt)],\n\t\t\t['Preferences', this.preferencesSubMenuItems(evt)],\n\t\t\t['Help', this.helpSubMenuItems(evt)]];\n\t},\n\t\n\tshowPieMenu: function(evt) {\n\t\tvar beTouchFn;\n\t\tif (UserAgent.isTouch) {\n\t\t\tif (Config.touchBeMouse) {\n\t\t\t\t// If we were in mouse mode; switch back to touch\n\t\t\t\tbeTouchFn = function(e) {\n\t\t\t\t\t//ClipboardHack.ensurePasteBuffer().blur();\n\t\t\t\t\tConfig.touchBeMouse = false; // currently not used\n\t\t\t\t\t// evt.hand.lookTouchy()\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Otherwise, switch to mouse mode now (we just clicked in world)\n\t\t\t\t// ClipboardHack.ensurePasteBuffer().focus();\n\t\t\t\tConfig.touchBeMouse = true; // currently not used\n\t\t\t\t// evt.hand.lookNormal()\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tvar menu, targetMorph = this;\n\t\tvar items = [\n\t\t\t['make selection ([NE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SE])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t['make selection ([SW])', function(evt) { targetMorph.makeSelection(evt); }],\n\t\t\t((UserAgent.isTouch) ? ['use touch ((O))', beTouchFn]\n\t\t\t\t: ['make selection ([NW])', function(evt) { targetMorph.makeSelection(evt); }])\n\t\t\t];\n\t\tmenu = new PieMenuMorph(items, this, 0, beTouchFn);\n\t\tmenu.open(evt);\n\t}\n \n},\n'Copy And Paste (Private)',{\n\t/* Actions */\n\t\n\t\n\t\n\tpastePosition: function() {\n\t\tvar pos = this.hands.first().lastMouseDownPoint;\n\t\tif (!pos || pos.eqPt(pt(0,0)))\n\t\t\tpos = this.hands.first().getPosition();\n\t\treturn pos\n\t},\n\t\n\t\n\t\n\t// similarities to Fabrik >> pasteComponentFromXMLStringIntoFabrik\n\t// TODO refactor\n\tpasteFromSource: function(source){\n\t\tvar copier = new ClipboardCopier();\n\t\tcopier.pastePosition = this.pastePosition();\n\t\tcopier.pasteMorphsFromSource(source, this.pasteDestinationMorph());\n\t},\n\t\n\tcopySelectionAsXMLString: function() {\n\t\tif (!this.currentSelection) {\n\t\t\tconsole.log(\"WorldMorph: don't know what to copy\")\n\t\t\treturn\n\t\t}\n\t\tvar selectedMorphs = this.currentSelection.selectedMorphs\n\t\tif (selectedMorphs.length == 0) {\n\t\t\tconsole.log(\"WorldMorph: selection is empty\")\n\t\t\treturn \n\t\t};\n\t\treturn new ClipboardCopier().copyMorphsAsXMLString(selectedMorphs)\n\t},\n\n\tpasteDestinationMorph: function() {\n\t\treturn this;\n\t},\n\t\n\t\n},\n'Keyboard Events',{\n\n\ttakesKeyboardFocus: Functions.True,\n\t\n\tonKeyDown: function(evt) {\n\t\t// console.log(\"WorldMorph onKeyDown \" + this + \" --- \" + evt + \" char: \" + evt.getKeyChar() )\n\t\tvar key = evt.getKeyChar().toLowerCase();\n\t\tif (evt.isCommandKey() && evt.isShiftDown()) {\n\t\t\tif (key == 'f') {\n\t\t\t\tvar world = this;\n\t\t\t\trequire('lively.ide').toRun(function(unused, ide) {\n\t\t\t\t\tworld.prompt(\"browse references in source\", function(whatToSearch) {\n\t\t\t\t\t\tide.startSourceControl().browseReferencesTo(whatToSearch);\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\tif (key == 'b') {\n\t\t\t\t// for safari where without shift is blocked\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tif (evt.isCommandKey() && !evt.isShiftDown()) {\n\t\t\tif (key == 'b') {\n\t\t\t\trequire('lively.ide').toRun(function() { new lively.ide.SystemBrowser().open() });\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'l') { // (L)ogger\n\t\t\t\tnew ConsoleWidget().open();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 'k') { // Workspace\n\t\t\t\tthis.addTextWindow(\"Workspace\");\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (key == 's') { // save\n\t\t\t\tif (!this.isProtectedWorld()) {\n\t\t\t\t\tthis.saveWorldWithJSON();\n\t\t\t\t} else {\n\t\t\t\t\tthis.setStatusMessage(\"Warning: Did not save world, because it is protected!\", Color.red, 3)\n\t\t\t\t}\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\n\t\t\t}\n\t\t}\n\t\treturn ClipboardHack.tryClipboardAction(evt, this);\n\t},\n\t\n\tonKeyPress: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyPress \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false;\n\t},\n\n\tonKeyUp: function(evt) {\n\t\t// do nothing\n\t\t// console.log(\"World onKeyUp \" + evt + \" char: \" + evt.getKeyChar())\n\t\treturn false\n\t},\n},\n'Commands',{\n\n\tdoCopy: function() {\n\t\tvar source = this.copySelectionAsXMLString();\n\t\tTextMorph.clipboardString = source;\n\t},\n\t\n\tdoPaste: function() {\n\t\tif (TextMorph.clipboardString) {\n\t\t\t// console.log(\"paste morphs...\")\n\t\t\tthis.pasteFromSource(TextMorph.clipboardString);\n\t\t}\n\t},\n\t\n\tdoCut: function() {\n\t\tconsole.log(\"cut selection\")\n\t\tthis.doCopy();\n \t\tif (this.currentSelection) \n\t\t\tthis.currentSelection.remove();\n\t},\n},\n'local code', {\n\tgetChangeSet: function() {\n\t\treturn ChangeSet.fromWorld(this);\n\t},\n\tsetChangeSet: function(cs) {\n\t\tcs.addHookTo(cs.findOrCreateDefNodeOfWorld(this.rawNode));\n\t},\n\n\tgetCodeNode: function() {\n\t\tvar codeElement = Query.find('./svg:defs/*[local-name()=\"code\"]', this.rawNode);\n\t\treturn codeElement;\n\t},\n\treplaceCodeNode: function(newCodeNode) {\n\t\tthis.getDefsNode().replaceChild(this.getCodeNode(), newCodeNode);\n\t\treturn newCodeNode;\n\t},\n\n\n\n})\n\n\n","__LivelyClassName__":"lively.ide.AllMethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1385}},"1386":{"registeredObject":{"isListItem":true,"string":"defaults","value":{"__isSmartRef__":true,"id":1387}},"ref":{"__isSmartRef__":true,"id":1386}},"1387":{"registeredObject":{"target":{"__isSmartRef__":true,"id":812},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":812}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1387}},"1388":{"registeredObject":{"isListItem":true,"string":"initilization","value":{"__isSmartRef__":true,"id":1389}},"ref":{"__isSmartRef__":true,"id":1388}},"1389":{"registeredObject":{"target":{"__isSmartRef__":true,"id":817},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":817}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1389}},"1390":{"registeredObject":{"isListItem":true,"string":"private","value":{"__isSmartRef__":true,"id":1391}},"ref":{"__isSmartRef__":true,"id":1390}},"1391":{"registeredObject":{"target":{"__isSmartRef__":true,"id":823},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":823}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1391}},"1392":{"registeredObject":{"isListItem":true,"string":"geometry","value":{"__isSmartRef__":true,"id":1393}},"ref":{"__isSmartRef__":true,"id":1392}},"1393":{"registeredObject":{"target":{"__isSmartRef__":true,"id":835},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":835}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1393}},"1394":{"registeredObject":{"isListItem":true,"string":"world","value":{"__isSmartRef__":true,"id":1395}},"ref":{"__isSmartRef__":true,"id":1394}},"1395":{"registeredObject":{"target":{"__isSmartRef__":true,"id":839},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":839}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1395}},"1396":{"registeredObject":{"isListItem":true,"string":"stepping","value":{"__isSmartRef__":true,"id":1397}},"ref":{"__isSmartRef__":true,"id":1396}},"1397":{"registeredObject":{"target":{"__isSmartRef__":true,"id":848},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":848}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1397}},"1398":{"registeredObject":{"isListItem":true,"string":"dialogs","value":{"__isSmartRef__":true,"id":1399}},"ref":{"__isSmartRef__":true,"id":1398}},"1399":{"registeredObject":{"target":{"__isSmartRef__":true,"id":859},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":859}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1399}},"1400":{"registeredObject":{"isListItem":true,"string":"new content","value":{"__isSmartRef__":true,"id":1401}},"ref":{"__isSmartRef__":true,"id":1400}},"1401":{"registeredObject":{"target":{"__isSmartRef__":true,"id":868},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":868}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1401}},"1402":{"registeredObject":{"isListItem":true,"string":"Requirements","value":{"__isSmartRef__":true,"id":1403}},"ref":{"__isSmartRef__":true,"id":1402}},"1403":{"registeredObject":{"target":{"__isSmartRef__":true,"id":879},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":879}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1403}},"1404":{"registeredObject":{"isListItem":true,"string":"Feedback and Saving","value":{"__isSmartRef__":true,"id":1405}},"ref":{"__isSmartRef__":true,"id":1404}},"1405":{"registeredObject":{"target":{"__isSmartRef__":true,"id":882},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":882}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1405}},"1406":{"registeredObject":{"isListItem":true,"string":"Menus ","value":{"__isSmartRef__":true,"id":1407}},"ref":{"__isSmartRef__":true,"id":1406}},"1407":{"registeredObject":{"target":{"__isSmartRef__":true,"id":892},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":892}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1407}},"1408":{"registeredObject":{"isListItem":true,"string":"Copy And Paste (Private)","value":{"__isSmartRef__":true,"id":1409}},"ref":{"__isSmartRef__":true,"id":1408}},"1409":{"registeredObject":{"target":{"__isSmartRef__":true,"id":903},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":903}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1409}},"1410":{"registeredObject":{"isListItem":true,"string":"Keyboard Events","value":{"__isSmartRef__":true,"id":1411}},"ref":{"__isSmartRef__":true,"id":1410}},"1411":{"registeredObject":{"target":{"__isSmartRef__":true,"id":908},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":908}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1411}},"1412":{"registeredObject":{"isListItem":true,"string":"Commands","value":{"__isSmartRef__":true,"id":1413}},"ref":{"__isSmartRef__":true,"id":1412}},"1413":{"registeredObject":{"target":{"__isSmartRef__":true,"id":913},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":913}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1413}},"1414":{"registeredObject":{"isListItem":true,"string":"local code","value":{"__isSmartRef__":true,"id":1415}},"ref":{"__isSmartRef__":true,"id":1414}},"1415":{"registeredObject":{"target":{"__isSmartRef__":true,"id":917},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1342},"targets":[{"__isSmartRef__":true,"id":917}],"__LivelyClassName__":"lively.ide.MethodCategoryFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1415}},"1416":{"registeredObject":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1416}},"1417":{"registeredObject":{"isListItem":true,"string":"documentation (proto)","value":{"__isSmartRef__":true,"id":1418}},"ref":{"__isSmartRef__":true,"id":1417}},"1418":{"registeredObject":{"target":{"__isSmartRef__":true,"id":811},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1418}},"1419":{"registeredObject":{"isListItem":true,"string":"fill (proto)","value":{"__isSmartRef__":true,"id":1420}},"ref":{"__isSmartRef__":true,"id":1419}},"1420":{"registeredObject":{"target":{"__isSmartRef__":true,"id":813},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1420}},"1421":{"registeredObject":{"isListItem":true,"string":"defaultExtent (proto)","value":{"__isSmartRef__":true,"id":1422}},"ref":{"__isSmartRef__":true,"id":1421}},"1422":{"registeredObject":{"target":{"__isSmartRef__":true,"id":814},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1422}},"1423":{"registeredObject":{"isListItem":true,"string":"styleClass (proto)","value":{"__isSmartRef__":true,"id":1424}},"ref":{"__isSmartRef__":true,"id":1423}},"1424":{"registeredObject":{"target":{"__isSmartRef__":true,"id":815},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1424}},"1425":{"registeredObject":{"isListItem":true,"string":"initialize (proto)","value":{"__isSmartRef__":true,"id":1426}},"ref":{"__isSmartRef__":true,"id":1425}},"1426":{"registeredObject":{"target":{"__isSmartRef__":true,"id":816},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1426}},"1427":{"registeredObject":{"isListItem":true,"string":"doNotSerialize (proto)","value":{"__isSmartRef__":true,"id":1428}},"ref":{"__isSmartRef__":true,"id":1427}},"1428":{"registeredObject":{"target":{"__isSmartRef__":true,"id":818},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1428}},"1429":{"registeredObject":{"isListItem":true,"string":"initializeTransientState (proto)","value":{"__isSmartRef__":true,"id":1430}},"ref":{"__isSmartRef__":true,"id":1429}},"1430":{"registeredObject":{"target":{"__isSmartRef__":true,"id":819},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1430}},"1431":{"registeredObject":{"isListItem":true,"string":"collectAllUsedFills (proto)","value":{"__isSmartRef__":true,"id":1432}},"ref":{"__isSmartRef__":true,"id":1431}},"1432":{"registeredObject":{"target":{"__isSmartRef__":true,"id":820},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1432}},"1433":{"registeredObject":{"isListItem":true,"string":"remove (proto)","value":{"__isSmartRef__":true,"id":1434}},"ref":{"__isSmartRef__":true,"id":1433}},"1434":{"registeredObject":{"target":{"__isSmartRef__":true,"id":821},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1434}},"1435":{"registeredObject":{"isListItem":true,"string":"getInsertPositionFor (proto)","value":{"__isSmartRef__":true,"id":1436}},"ref":{"__isSmartRef__":true,"id":1435}},"1436":{"registeredObject":{"target":{"__isSmartRef__":true,"id":822},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1436}},"1437":{"registeredObject":{"isListItem":true,"string":"toggleNativeCursor (proto)","value":{"__isSmartRef__":true,"id":1438}},"ref":{"__isSmartRef__":true,"id":1437}},"1438":{"registeredObject":{"target":{"__isSmartRef__":true,"id":824},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1438}},"1439":{"registeredObject":{"isListItem":true,"string":"resizeCanvasToFitWorld (proto)","value":{"__isSmartRef__":true,"id":1440}},"ref":{"__isSmartRef__":true,"id":1439}},"1440":{"registeredObject":{"target":{"__isSmartRef__":true,"id":825},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1440}},"1441":{"registeredObject":{"isListItem":true,"string":"displayOnCanvas (proto)","value":{"__isSmartRef__":true,"id":1442}},"ref":{"__isSmartRef__":true,"id":1441}},"1442":{"registeredObject":{"target":{"__isSmartRef__":true,"id":826},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"savedSource":"\tdisplayOnCanvas: function(canvas) {\n\t\t// this.remove();\n\t\tif (this.rawNode.parentNode !== canvas) canvas.appendChild(this.rawNode);\n\t\tvar hand = this.addHand(new HandMorph(true));\n\t\tWorldMorph.currentWorld = this; // this conflicts with mutliple worlds\n\t\tif (Config.resizeScreenToWorldBounds)\n\t\t\tthis.resizeCanvasToFitWorld(this);\n\t\tthis.onEnter(); \n\n\t\tthis.enterCount ++;\n\t},","__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1442}},"1443":{"registeredObject":{"isListItem":true,"string":"addHand (proto)","value":{"__isSmartRef__":true,"id":1444}},"ref":{"__isSmartRef__":true,"id":1443}},"1444":{"registeredObject":{"target":{"__isSmartRef__":true,"id":827},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1444}},"1445":{"registeredObject":{"isListItem":true,"string":"removeHand (proto)","value":{"__isSmartRef__":true,"id":1446}},"ref":{"__isSmartRef__":true,"id":1445}},"1446":{"registeredObject":{"target":{"__isSmartRef__":true,"id":828},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1446}},"1447":{"registeredObject":{"isListItem":true,"string":"toggleBalloonHelp (proto)","value":{"__isSmartRef__":true,"id":1448}},"ref":{"__isSmartRef__":true,"id":1447}},"1448":{"registeredObject":{"target":{"__isSmartRef__":true,"id":829},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1448}},"1449":{"registeredObject":{"isListItem":true,"string":"toggleDebugBackground (proto)","value":{"__isSmartRef__":true,"id":1450}},"ref":{"__isSmartRef__":true,"id":1449}},"1450":{"registeredObject":{"target":{"__isSmartRef__":true,"id":830},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1450}},"1451":{"registeredObject":{"isListItem":true,"string":"chooseDisplayTheme (proto)","value":{"__isSmartRef__":true,"id":1452}},"ref":{"__isSmartRef__":true,"id":1451}},"1452":{"registeredObject":{"target":{"__isSmartRef__":true,"id":831},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1452}},"1453":{"registeredObject":{"isListItem":true,"string":"setDisplayTheme (proto)","value":{"__isSmartRef__":true,"id":1454}},"ref":{"__isSmartRef__":true,"id":1453}},"1454":{"registeredObject":{"target":{"__isSmartRef__":true,"id":832},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1454}},"1455":{"registeredObject":{"isListItem":true,"string":"restart (proto)","value":{"__isSmartRef__":true,"id":1456}},"ref":{"__isSmartRef__":true,"id":1455}},"1456":{"registeredObject":{"target":{"__isSmartRef__":true,"id":833},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1456}},"1457":{"registeredObject":{"isListItem":true,"string":"layoutChanged (proto)","value":{"__isSmartRef__":true,"id":1458}},"ref":{"__isSmartRef__":true,"id":1457}},"1458":{"registeredObject":{"target":{"__isSmartRef__":true,"id":834},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1458}},"1459":{"registeredObject":{"isListItem":true,"string":"layoutOnSubmorphLayout (proto)","value":{"__isSmartRef__":true,"id":1460}},"ref":{"__isSmartRef__":true,"id":1459}},"1460":{"registeredObject":{"target":{"__isSmartRef__":true,"id":836},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1460}},"1461":{"registeredObject":{"isListItem":true,"string":"moveBy (proto)","value":{"__isSmartRef__":true,"id":1462}},"ref":{"__isSmartRef__":true,"id":1461}},"1462":{"registeredObject":{"target":{"__isSmartRef__":true,"id":837},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1462}},"1463":{"registeredObject":{"isListItem":true,"string":"world (proto)","value":{"__isSmartRef__":true,"id":1464}},"ref":{"__isSmartRef__":true,"id":1463}},"1464":{"registeredObject":{"target":{"__isSmartRef__":true,"id":838},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1464}},"1465":{"registeredObject":{"isListItem":true,"string":"validatedWorld (proto)","value":{"__isSmartRef__":true,"id":1466}},"ref":{"__isSmartRef__":true,"id":1465}},"1466":{"registeredObject":{"target":{"__isSmartRef__":true,"id":840},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1466}},"1467":{"registeredObject":{"isListItem":true,"string":"firstHand (proto)","value":{"__isSmartRef__":true,"id":1468}},"ref":{"__isSmartRef__":true,"id":1467}},"1468":{"registeredObject":{"target":{"__isSmartRef__":true,"id":841},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1468}},"1469":{"registeredObject":{"isListItem":true,"string":"onEnter (proto)","value":{"__isSmartRef__":true,"id":1470}},"ref":{"__isSmartRef__":true,"id":1469}},"1470":{"registeredObject":{"target":{"__isSmartRef__":true,"id":842},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1470}},"1471":{"registeredObject":{"isListItem":true,"string":"onExit (proto)","value":{"__isSmartRef__":true,"id":1472}},"ref":{"__isSmartRef__":true,"id":1471}},"1472":{"registeredObject":{"target":{"__isSmartRef__":true,"id":843},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1472}},"1473":{"registeredObject":{"isListItem":true,"string":"relativize (proto)","value":{"__isSmartRef__":true,"id":1474}},"ref":{"__isSmartRef__":true,"id":1473}},"1474":{"registeredObject":{"target":{"__isSmartRef__":true,"id":844},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1474}},"1475":{"registeredObject":{"isListItem":true,"string":"hideHostMouseCursor (proto)","value":{"__isSmartRef__":true,"id":1476}},"ref":{"__isSmartRef__":true,"id":1475}},"1476":{"registeredObject":{"target":{"__isSmartRef__":true,"id":845},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1476}},"1477":{"registeredObject":{"isListItem":true,"string":"showHostMouseCursor (proto)","value":{"__isSmartRef__":true,"id":1478}},"ref":{"__isSmartRef__":true,"id":1477}},"1478":{"registeredObject":{"target":{"__isSmartRef__":true,"id":846},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1478}},"1479":{"registeredObject":{"isListItem":true,"string":"scheduleForLater (proto)","value":{"__isSmartRef__":true,"id":1480}},"ref":{"__isSmartRef__":true,"id":1479}},"1480":{"registeredObject":{"target":{"__isSmartRef__":true,"id":847},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1480}},"1481":{"registeredObject":{"isListItem":true,"string":"startSteppingFor (proto)","value":{"__isSmartRef__":true,"id":1482}},"ref":{"__isSmartRef__":true,"id":1481}},"1482":{"registeredObject":{"target":{"__isSmartRef__":true,"id":849},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1482}},"1483":{"registeredObject":{"isListItem":true,"string":"stopSteppingFor (proto)","value":{"__isSmartRef__":true,"id":1484}},"ref":{"__isSmartRef__":true,"id":1483}},"1484":{"registeredObject":{"target":{"__isSmartRef__":true,"id":850},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1484}},"1485":{"registeredObject":{"isListItem":true,"string":"stopSteppingScriptNamedAndRemoveFromSubmorphs (proto)","value":{"__isSmartRef__":true,"id":1486}},"ref":{"__isSmartRef__":true,"id":1485}},"1486":{"registeredObject":{"target":{"__isSmartRef__":true,"id":851},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1486}},"1487":{"registeredObject":{"isListItem":true,"string":"validateScheduler (proto)","value":{"__isSmartRef__":true,"id":1488}},"ref":{"__isSmartRef__":true,"id":1487}},"1488":{"registeredObject":{"target":{"__isSmartRef__":true,"id":852},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1488}},"1489":{"registeredObject":{"isListItem":true,"string":"inspectScheduledActions (proto)","value":{"__isSmartRef__":true,"id":1490}},"ref":{"__isSmartRef__":true,"id":1489}},"1490":{"registeredObject":{"target":{"__isSmartRef__":true,"id":853},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1490}},"1491":{"registeredObject":{"isListItem":true,"string":"doOneCycle (proto)","value":{"__isSmartRef__":true,"id":1492}},"ref":{"__isSmartRef__":true,"id":1491}},"1492":{"registeredObject":{"target":{"__isSmartRef__":true,"id":854},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1492}},"1493":{"registeredObject":{"isListItem":true,"string":"setNextStepTime (proto)","value":{"__isSmartRef__":true,"id":1494}},"ref":{"__isSmartRef__":true,"id":1493}},"1494":{"registeredObject":{"target":{"__isSmartRef__":true,"id":855},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1494}},"1495":{"registeredObject":{"isListItem":true,"string":"kickstartMainLoop (proto)","value":{"__isSmartRef__":true,"id":1496}},"ref":{"__isSmartRef__":true,"id":1495}},"1496":{"registeredObject":{"target":{"__isSmartRef__":true,"id":856},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1496}},"1497":{"registeredObject":{"isListItem":true,"string":"scheduleAction (proto)","value":{"__isSmartRef__":true,"id":1498}},"ref":{"__isSmartRef__":true,"id":1497}},"1498":{"registeredObject":{"target":{"__isSmartRef__":true,"id":857},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1498}},"1499":{"registeredObject":{"isListItem":true,"string":"openURLasText (proto)","value":{"__isSmartRef__":true,"id":1500}},"ref":{"__isSmartRef__":true,"id":1499}},"1500":{"registeredObject":{"target":{"__isSmartRef__":true,"id":858},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1500}},"1501":{"registeredObject":{"isListItem":true,"string":"viewport (proto)","value":{"__isSmartRef__":true,"id":1502}},"ref":{"__isSmartRef__":true,"id":1501}},"1502":{"registeredObject":{"target":{"__isSmartRef__":true,"id":860},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1502}},"1503":{"registeredObject":{"isListItem":true,"string":"alert (proto)","value":{"__isSmartRef__":true,"id":1504}},"ref":{"__isSmartRef__":true,"id":1503}},"1504":{"registeredObject":{"target":{"__isSmartRef__":true,"id":861},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1504}},"1505":{"registeredObject":{"isListItem":true,"string":"prompt (proto)","value":{"__isSmartRef__":true,"id":1506}},"ref":{"__isSmartRef__":true,"id":1505}},"1506":{"registeredObject":{"target":{"__isSmartRef__":true,"id":862},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1506}},"1507":{"registeredObject":{"isListItem":true,"string":"editPrompt (proto)","value":{"__isSmartRef__":true,"id":1508}},"ref":{"__isSmartRef__":true,"id":1507}},"1508":{"registeredObject":{"target":{"__isSmartRef__":true,"id":863},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1508}},"1509":{"registeredObject":{"isListItem":true,"string":"confirm (proto)","value":{"__isSmartRef__":true,"id":1510}},"ref":{"__isSmartRef__":true,"id":1509}},"1510":{"registeredObject":{"target":{"__isSmartRef__":true,"id":864},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1510}},"1511":{"registeredObject":{"isListItem":true,"string":"showErrorDialog (proto)","value":{"__isSmartRef__":true,"id":1512}},"ref":{"__isSmartRef__":true,"id":1511}},"1512":{"registeredObject":{"target":{"__isSmartRef__":true,"id":865},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1512}},"1513":{"registeredObject":{"isListItem":true,"string":"showErrorDiaglogInWorkspace (proto)","value":{"__isSmartRef__":true,"id":1514}},"ref":{"__isSmartRef__":true,"id":1513}},"1514":{"registeredObject":{"target":{"__isSmartRef__":true,"id":866},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1514}},"1515":{"registeredObject":{"isListItem":true,"string":"addFramedMorph (proto)","value":{"__isSmartRef__":true,"id":1516}},"ref":{"__isSmartRef__":true,"id":1515}},"1516":{"registeredObject":{"target":{"__isSmartRef__":true,"id":867},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1516}},"1517":{"registeredObject":{"isListItem":true,"string":"addTextWindow (proto)","value":{"__isSmartRef__":true,"id":1518}},"ref":{"__isSmartRef__":true,"id":1517}},"1518":{"registeredObject":{"target":{"__isSmartRef__":true,"id":869},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1518}},"1519":{"registeredObject":{"isListItem":true,"string":"addTextListWindow (proto)","value":{"__isSmartRef__":true,"id":1520}},"ref":{"__isSmartRef__":true,"id":1519}},"1520":{"registeredObject":{"target":{"__isSmartRef__":true,"id":870},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1520}},"1521":{"registeredObject":{"isListItem":true,"string":"internalAddWindow (proto)","value":{"__isSmartRef__":true,"id":1522}},"ref":{"__isSmartRef__":true,"id":1521}},"1522":{"registeredObject":{"target":{"__isSmartRef__":true,"id":871},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1522}},"1523":{"registeredObject":{"isListItem":true,"string":"addMorphFrontOrBack (proto)","value":{"__isSmartRef__":true,"id":1524}},"ref":{"__isSmartRef__":true,"id":1523}},"1524":{"registeredObject":{"target":{"__isSmartRef__":true,"id":872},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1524}},"1525":{"registeredObject":{"isListItem":true,"string":"topWindow (proto)","value":{"__isSmartRef__":true,"id":1526}},"ref":{"__isSmartRef__":true,"id":1525}},"1526":{"registeredObject":{"target":{"__isSmartRef__":true,"id":873},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1526}},"1527":{"registeredObject":{"isListItem":true,"string":"positionForNewMorph (proto)","value":{"__isSmartRef__":true,"id":1528}},"ref":{"__isSmartRef__":true,"id":1527}},"1528":{"registeredObject":{"target":{"__isSmartRef__":true,"id":874},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1528}},"1529":{"registeredObject":{"isListItem":true,"string":"reactiveAddMorph (proto)","value":{"__isSmartRef__":true,"id":1530}},"ref":{"__isSmartRef__":true,"id":1529}},"1530":{"registeredObject":{"target":{"__isSmartRef__":true,"id":875},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1530}},"1531":{"registeredObject":{"isListItem":true,"string":"resizeByUser (proto)","value":{"__isSmartRef__":true,"id":1532}},"ref":{"__isSmartRef__":true,"id":1531}},"1532":{"registeredObject":{"target":{"__isSmartRef__":true,"id":876},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1532}},"1533":{"registeredObject":{"isListItem":true,"string":"addProgressBar (proto)","value":{"__isSmartRef__":true,"id":1534}},"ref":{"__isSmartRef__":true,"id":1533}},"1534":{"registeredObject":{"target":{"__isSmartRef__":true,"id":877},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1534}},"1535":{"registeredObject":{"isListItem":true,"string":"showAddWorldRequirementsMenu (proto)","value":{"__isSmartRef__":true,"id":1536}},"ref":{"__isSmartRef__":true,"id":1535}},"1536":{"registeredObject":{"target":{"__isSmartRef__":true,"id":878},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1536}},"1537":{"registeredObject":{"isListItem":true,"string":"showRemoveWorldRequirementsMenu (proto)","value":{"__isSmartRef__":true,"id":1538}},"ref":{"__isSmartRef__":true,"id":1537}},"1538":{"registeredObject":{"target":{"__isSmartRef__":true,"id":880},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1538}},"1539":{"registeredObject":{"isListItem":true,"string":"promptAndSaveWorld (proto)","value":{"__isSmartRef__":true,"id":1540}},"ref":{"__isSmartRef__":true,"id":1539}},"1540":{"registeredObject":{"target":{"__isSmartRef__":true,"id":881},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1540}},"1541":{"registeredObject":{"isListItem":true,"string":"saveWorldWithJSON (proto)","value":{"__isSmartRef__":true,"id":1542}},"ref":{"__isSmartRef__":true,"id":1541}},"1542":{"registeredObject":{"target":{"__isSmartRef__":true,"id":883},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1542}},"1543":{"registeredObject":{"isListItem":true,"string":"saveWorld (proto)","value":{"__isSmartRef__":true,"id":1544}},"ref":{"__isSmartRef__":true,"id":1543}},"1544":{"registeredObject":{"target":{"__isSmartRef__":true,"id":884},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1544}},"1545":{"registeredObject":{"isListItem":true,"string":"windowBounds (proto)","value":{"__isSmartRef__":true,"id":1546}},"ref":{"__isSmartRef__":true,"id":1545}},"1546":{"registeredObject":{"target":{"__isSmartRef__":true,"id":885},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1546}},"1547":{"registeredObject":{"isListItem":true,"string":"visibleBounds (proto)","value":{"__isSmartRef__":true,"id":1548}},"ref":{"__isSmartRef__":true,"id":1547}},"1548":{"registeredObject":{"target":{"__isSmartRef__":true,"id":886},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1548}},"1549":{"registeredObject":{"isListItem":true,"string":"ensureStatusMessageContainer (proto)","value":{"__isSmartRef__":true,"id":1550}},"ref":{"__isSmartRef__":true,"id":1549}},"1550":{"registeredObject":{"target":{"__isSmartRef__":true,"id":887},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1550}},"1551":{"registeredObject":{"isListItem":true,"string":"setStatusMessage (proto)","value":{"__isSmartRef__":true,"id":1552}},"ref":{"__isSmartRef__":true,"id":1551}},"1552":{"registeredObject":{"target":{"__isSmartRef__":true,"id":888},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1552}},"1553":{"registeredObject":{"isListItem":true,"string":"showStatusProgress (proto)","value":{"__isSmartRef__":true,"id":1554}},"ref":{"__isSmartRef__":true,"id":1553}},"1554":{"registeredObject":{"target":{"__isSmartRef__":true,"id":889},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1554}},"1555":{"registeredObject":{"isListItem":true,"string":"askForWorldTitle (proto)","value":{"__isSmartRef__":true,"id":1556}},"ref":{"__isSmartRef__":true,"id":1555}},"1556":{"registeredObject":{"target":{"__isSmartRef__":true,"id":890},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1556}},"1557":{"registeredObject":{"isListItem":true,"string":"isProtectedWorld (proto)","value":{"__isSmartRef__":true,"id":1558}},"ref":{"__isSmartRef__":true,"id":1557}},"1558":{"registeredObject":{"target":{"__isSmartRef__":true,"id":891},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1558}},"1559":{"registeredObject":{"isListItem":true,"string":"morphMenu (proto)","value":{"__isSmartRef__":true,"id":1560}},"ref":{"__isSmartRef__":true,"id":1559}},"1560":{"registeredObject":{"target":{"__isSmartRef__":true,"id":893},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1560}},"1561":{"registeredObject":{"isListItem":true,"string":"simpleMorphsSubMenuItems (proto)","value":{"__isSmartRef__":true,"id":1562}},"ref":{"__isSmartRef__":true,"id":1561}},"1562":{"registeredObject":{"target":{"__isSmartRef__":true,"id":894},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1562}},"1563":{"registeredObject":{"isListItem":true,"string":"complexMorphsSubMenuItems (proto)","value":{"__isSmartRef__":true,"id":1564}},"ref":{"__isSmartRef__":true,"id":1563}},"1564":{"registeredObject":{"target":{"__isSmartRef__":true,"id":895},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1564}},"1565":{"registeredObject":{"isListItem":true,"string":"toolSubMenuItems (proto)","value":{"__isSmartRef__":true,"id":1566}},"ref":{"__isSmartRef__":true,"id":1565}},"1566":{"registeredObject":{"target":{"__isSmartRef__":true,"id":896},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1566}},"1567":{"registeredObject":{"isListItem":true,"string":"scriptingSubMenuItems (proto)","value":{"__isSmartRef__":true,"id":1568}},"ref":{"__isSmartRef__":true,"id":1567}},"1568":{"registeredObject":{"target":{"__isSmartRef__":true,"id":897},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1568}},"1569":{"registeredObject":{"isListItem":true,"string":"preferencesSubMenuItems (proto)","value":{"__isSmartRef__":true,"id":1570}},"ref":{"__isSmartRef__":true,"id":1569}},"1570":{"registeredObject":{"target":{"__isSmartRef__":true,"id":898},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1570}},"1571":{"registeredObject":{"isListItem":true,"string":"helpSubMenuItems (proto)","value":{"__isSmartRef__":true,"id":1572}},"ref":{"__isSmartRef__":true,"id":1571}},"1572":{"registeredObject":{"target":{"__isSmartRef__":true,"id":899},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1572}},"1573":{"registeredObject":{"isListItem":true,"string":"subMenuItems (proto)","value":{"__isSmartRef__":true,"id":1574}},"ref":{"__isSmartRef__":true,"id":1573}},"1574":{"registeredObject":{"target":{"__isSmartRef__":true,"id":900},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1574}},"1575":{"registeredObject":{"isListItem":true,"string":"showPieMenu (proto)","value":{"__isSmartRef__":true,"id":1576}},"ref":{"__isSmartRef__":true,"id":1575}},"1576":{"registeredObject":{"target":{"__isSmartRef__":true,"id":901},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1576}},"1577":{"registeredObject":{"isListItem":true,"string":"pastePosition (proto)","value":{"__isSmartRef__":true,"id":1578}},"ref":{"__isSmartRef__":true,"id":1577}},"1578":{"registeredObject":{"target":{"__isSmartRef__":true,"id":902},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1578}},"1579":{"registeredObject":{"isListItem":true,"string":"pasteFromSource (proto)","value":{"__isSmartRef__":true,"id":1580}},"ref":{"__isSmartRef__":true,"id":1579}},"1580":{"registeredObject":{"target":{"__isSmartRef__":true,"id":904},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1580}},"1581":{"registeredObject":{"isListItem":true,"string":"copySelectionAsXMLString (proto)","value":{"__isSmartRef__":true,"id":1582}},"ref":{"__isSmartRef__":true,"id":1581}},"1582":{"registeredObject":{"target":{"__isSmartRef__":true,"id":905},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1582}},"1583":{"registeredObject":{"isListItem":true,"string":"pasteDestinationMorph (proto)","value":{"__isSmartRef__":true,"id":1584}},"ref":{"__isSmartRef__":true,"id":1583}},"1584":{"registeredObject":{"target":{"__isSmartRef__":true,"id":906},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1584}},"1585":{"registeredObject":{"isListItem":true,"string":"takesKeyboardFocus (proto)","value":{"__isSmartRef__":true,"id":1586}},"ref":{"__isSmartRef__":true,"id":1585}},"1586":{"registeredObject":{"target":{"__isSmartRef__":true,"id":907},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1586}},"1587":{"registeredObject":{"isListItem":true,"string":"onKeyDown (proto)","value":{"__isSmartRef__":true,"id":1588}},"ref":{"__isSmartRef__":true,"id":1587}},"1588":{"registeredObject":{"target":{"__isSmartRef__":true,"id":909},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1588}},"1589":{"registeredObject":{"isListItem":true,"string":"onKeyPress (proto)","value":{"__isSmartRef__":true,"id":1590}},"ref":{"__isSmartRef__":true,"id":1589}},"1590":{"registeredObject":{"target":{"__isSmartRef__":true,"id":910},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1590}},"1591":{"registeredObject":{"isListItem":true,"string":"onKeyUp (proto)","value":{"__isSmartRef__":true,"id":1592}},"ref":{"__isSmartRef__":true,"id":1591}},"1592":{"registeredObject":{"target":{"__isSmartRef__":true,"id":911},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1592}},"1593":{"registeredObject":{"isListItem":true,"string":"doCopy (proto)","value":{"__isSmartRef__":true,"id":1594}},"ref":{"__isSmartRef__":true,"id":1593}},"1594":{"registeredObject":{"target":{"__isSmartRef__":true,"id":912},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1594}},"1595":{"registeredObject":{"isListItem":true,"string":"doPaste (proto)","value":{"__isSmartRef__":true,"id":1596}},"ref":{"__isSmartRef__":true,"id":1595}},"1596":{"registeredObject":{"target":{"__isSmartRef__":true,"id":914},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1596}},"1597":{"registeredObject":{"isListItem":true,"string":"doCut (proto)","value":{"__isSmartRef__":true,"id":1598}},"ref":{"__isSmartRef__":true,"id":1597}},"1598":{"registeredObject":{"target":{"__isSmartRef__":true,"id":915},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1598}},"1599":{"registeredObject":{"isListItem":true,"string":"getChangeSet (proto)","value":{"__isSmartRef__":true,"id":1600}},"ref":{"__isSmartRef__":true,"id":1599}},"1600":{"registeredObject":{"target":{"__isSmartRef__":true,"id":916},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1600}},"1601":{"registeredObject":{"isListItem":true,"string":"setChangeSet (proto)","value":{"__isSmartRef__":true,"id":1602}},"ref":{"__isSmartRef__":true,"id":1601}},"1602":{"registeredObject":{"target":{"__isSmartRef__":true,"id":918},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1602}},"1603":{"registeredObject":{"isListItem":true,"string":"getCodeNode (proto)","value":{"__isSmartRef__":true,"id":1604}},"ref":{"__isSmartRef__":true,"id":1603}},"1604":{"registeredObject":{"target":{"__isSmartRef__":true,"id":919},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1604}},"1605":{"registeredObject":{"isListItem":true,"string":"replaceCodeNode (proto)","value":{"__isSmartRef__":true,"id":1606}},"ref":{"__isSmartRef__":true,"id":1605}},"1606":{"registeredObject":{"target":{"__isSmartRef__":true,"id":920},"browser":{"__isSmartRef__":true,"id":218},"parent":{"__isSmartRef__":true,"id":1385},"__LivelyClassName__":"lively.ide.ClassElemFragmentNode","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1606}},"1607":{"registeredObject":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1607}},"1608":{"registeredObject":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1608}},"1609":{"registeredObject":{"__LivelyClassName__":"lively.ide.SortFilter","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":1609}},"1610":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":218},"__SourceModuleName__":"Global","definition":"{\"SourceString\":\"!SourceString\",\"StatusMessage\":\"!StatusMessage\",\"RootFilters\":\"!RootFilters\",\"Pane1Content\":\"!Pane1Content\",\"Pane1Selection\":\"!Pane1Selection\",\"Pane1Menu\":\"!Pane1Menu\",\"Pane1Filters\":\"!Pane1Filters\",\"Pane2Content\":\"!Pane2Content\",\"Pane2Selection\":\"!Pane2Selection\",\"Pane2Menu\":\"!Pane2Menu\",\"Pane2Filters\":\"!Pane2Filters\",\"Pane3Content\":\"!Pane3Content\",\"Pane3Selection\":\"!Pane3Selection\",\"Pane3Menu\":\"!Pane3Menu\",\"Pane3Filters\":\"!Pane3Filters\",\"Pane4Content\":\"!Pane4Content\",\"Pane4Selection\":\"!Pane4Selection\",\"Pane4Menu\":\"!Pane4Menu\",\"Pane4Filters\":\"!Pane4Filters\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":1610}},"1611":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":1612},"__SourceModuleName__":"Global","definition":"{\"SourceString\":\"!Text\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":1611}},"1612":{"registeredObject":{"textString":"\tdisplayOnCanvas: function(canvas) {\n\t\t// this.remove();\n\t\tif (this.rawNode.parentNode !== canvas) canvas.appendChild(this.rawNode);\n\t\tvar hand = this.addHand(new HandMorph(true));\n\t\tWorldMorph.currentWorld = this; // this conflicts with mutliple worlds\n\t\tif (Config.resizeScreenToWorldBounds)\n\t\t\tthis.resizeCanvasToFitWorld(this);\n\t\tthis.onEnter(); \n\n\t\tthis.enterCount ++;\n\t},","savedTextString":"","submorphs":[{"__isSmartRef__":true,"id":1613}],"owner":{"__isSmartRef__":true,"id":1618},"_livelyDataWrapperId_":"118:TextMorph","origin":{"__isSmartRef__":true,"id":1656},"shape":{"__isSmartRef__":true,"id":1657},"textContent":{"__isSmartRef__":true,"id":1658},"lineNumberHint":9,"pvtCachedTransform":{"__isSmartRef__":true,"id":1659},"textSelection":{"__isSmartRef__":true,"id":1613},"priorExtent":{"__isSmartRef__":true,"id":1660},"useChangeClue":true,"changeClue":{"__isSmartRef__":true,"id":1661},"suppressHandles":true,"maxSafeSize":2000000,"formalModel":{"__isSmartRef__":true,"id":1665},"styleClass":["Browser_codePaneText"],"textStyle":{"__isSmartRef__":true,"id":1666},"fontFamily":"Courier","undoTextStyle":{"__isSmartRef__":true,"id":1690},"textBeforeChanges":"\tdisplayOnCanvas: function(canvas) {\n\t\t// this.remove();\n\t\tif (this.rawNode.parentNode !== canvas) canvas.appendChild(this.rawNode);\n\t\tvar hand = this.addHand(new HandMorph(true));\n\t\tWorldMorph.currentWorld = this; // this conflicts with mutliple worlds\n\t\tif (Config.resizeScreenToWorldBounds)\n\t\t\tthis.resizeCanvasToFitWorld(this);\n\t\tthis.onEnter(); \n\n\t\tthis.enterCount ++;\n\t},","isSelecting":false,"hasKeyboardFocus":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"118:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(1,0)","namespaceURI":null},{"key":"class","value":"Browser_codePaneText","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1612}},"1613":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1612},"_livelyDataWrapperId_":"120:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1614},"shape":{"__isSmartRef__":true,"id":1615},"priorExtent":{"__isSmartRef__":true,"id":1616},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1617},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"120:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1613}},"1614":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1614}},"1615":{"registeredObject":{"_livelyDataWrapperId_":"119:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"119:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1615}},"1616":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1616}},"1617":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1617}},"1618":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":1612}],"owner":{"__isSmartRef__":true,"id":1619},"_livelyDataWrapperId_":"123:ClipMorph","origin":{"__isSmartRef__":true,"id":1650},"shape":{"__isSmartRef__":true,"id":1651},"priorExtent":{"__isSmartRef__":true,"id":1652},"clip":{"__isSmartRef__":true,"id":1653},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":1655},"suppressHandles":true,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"123:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#124:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1618}},"1619":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":1618},{"__isSmartRef__":true,"id":1620}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"122:ScrollPane","origin":{"__isSmartRef__":true,"id":1645},"shape":{"__isSmartRef__":true,"id":1646},"priorExtent":{"__isSmartRef__":true,"id":1647},"pvtCachedTransform":{"__isSmartRef__":true,"id":1648},"clipMorph":{"__isSmartRef__":true,"id":1618},"verticalScrollBar":{"__isSmartRef__":true,"id":1620},"attributeConnections":[{"__isSmartRef__":true,"id":1649}],"suppressHandles":true,"styleClass":["Browser_codePane"],"__LivelyClassName__":"ScrollPane","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ScrollPane","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"122:ScrollPane","namespaceURI":null},{"key":"transform","value":"translate(0,247.5)","namespaceURI":null},{"key":"class","value":"Browser_codePane","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1619}},"1620":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":1621}],"owner":{"__isSmartRef__":true,"id":1619},"_livelyDataWrapperId_":"125:SliderMorph","origin":{"__isSmartRef__":true,"id":1634},"shape":{"__isSmartRef__":true,"id":1635},"priorExtent":{"__isSmartRef__":true,"id":1641},"value":0,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":1642},"slider":{"__isSmartRef__":true,"id":1621},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":1643},{"__isSmartRef__":true,"id":1644}],"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"125:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(806,1)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1620}},"1621":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1620},"_livelyDataWrapperId_":"126:Morph","origin":{"__isSmartRef__":true,"id":1622},"shape":{"__isSmartRef__":true,"id":1623},"priorExtent":{"__isSmartRef__":true,"id":1630},"pvtCachedTransform":{"__isSmartRef__":true,"id":1631},"mouseHandler":{"__isSmartRef__":true,"id":1632},"styleClass":["slider"],"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"126:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1621}},"1622":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1622}},"1623":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"268.5","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1623}},"1624":{"registeredObject":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":1624}},"1625":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":1626},"stops":[{"__isSmartRef__":true,"id":1627},{"__isSmartRef__":true,"id":1628},{"__isSmartRef__":true,"id":1629}],"refcount":15,"_livelyDataWrapperId_":"18:lively.paint.LinearGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.LinearGradient","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"0","namespaceURI":null},{"key":"x2","value":"1","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"18:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1625}},"1626":{"registeredObject":{"x":0,"y":0,"width":1,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"ref":{"__isSmartRef__":true,"id":1626}},"1627":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(196,211,221)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1627}},"1628":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.5","namespaceURI":null},{"key":"stop-color","value":"rgb(137,167,187)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1628}},"1629":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(96,130,153)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1629}},"1630":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1630}},"1631":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1631}},"1632":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1620},"eventSpec":{"__isSmartRef__":true,"id":1633},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1632}},"1633":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":1633}},"1634":{"registeredObject":{"x":806,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1634}},"1635":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"268.5","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1635}},"1636":{"registeredObject":{"r":0.8,"g":0.8,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":1636}},"1637":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":1626},"stops":[{"__isSmartRef__":true,"id":1638},{"__isSmartRef__":true,"id":1639},{"__isSmartRef__":true,"id":1640}],"refcount":23,"_livelyDataWrapperId_":"19:lively.paint.LinearGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.LinearGradient","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"0","namespaceURI":null},{"key":"x2","value":"1","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"19:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1637}},"1638":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(204,204,204)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1638}},"1639":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.4","namespaceURI":null},{"key":"stop-color","value":"rgb(240,240,240)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1639}},"1640":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(245,245,245)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1640}},"1641":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1641}},"1642":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":806,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1642}},"1643":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":1620},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":1619},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":1643}},"1644":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":1620},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":1619},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":1644}},"1645":{"registeredObject":{"x":0,"y":247.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1645}},"1646":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"820","namespaceURI":null},{"key":"height","value":"269.5","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1646}},"1647":{"registeredObject":{"x":820,"y":269.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1647}},"1648":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":247.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1648}},"1649":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":1619},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":1620},"targetMethodName":"setValue","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":1649}},"1650":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1650}},"1651":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"806","namespaceURI":null},{"key":"height","value":"267.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1651}},"1652":{"registeredObject":{"x":818,"y":267.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1652}},"1653":{"registeredObject":{"_livelyDataWrapperId_":"124:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":1654},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"124:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1653}},"1654":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"806","namespaceURI":null},{"key":"height","value":"267.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1654}},"1655":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1655}},"1656":{"registeredObject":{"x":1,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1656}},"1657":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"806","namespaceURI":null},{"key":"height","value":"165.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1657}},"1658":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Courier","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1658}},"1659":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1659}},"1660":{"registeredObject":{"x":808,"y":261.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1660}},"1661":{"registeredObject":{"submorphs":[],"owner":null,"_livelyDataWrapperId_":"121:Morph","origin":{"__isSmartRef__":true,"id":1662},"shape":{"__isSmartRef__":true,"id":1663},"priorExtent":{"__isSmartRef__":true,"id":1664},"mouseHandler":null,"ignoreWhenCopying":true,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"121:Morph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1661}},"1662":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1662}},"1663":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":215},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"5","namespaceURI":null},{"key":"height","value":"5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(204,0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1663}},"1664":{"registeredObject":{"x":5,"y":5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1664}},"1665":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":220},"__SourceModuleName__":"Global","definition":"{\"Text\":\"SourceString\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":1665}},"1666":{"registeredObject":{"runs":[1,16,1,8,9,1,3,17,3,2,2,4,51,4,13,3,8,4,9,3,47,4,2,38,3,2,39,4,24,4,5,4,16,4,17,1,2],"values":[{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1668},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1670},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1672},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1674},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1675},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1677},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1678},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1679},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1680},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1681},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1682},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1683},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1684},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1685},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1686},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1687},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1688},{"__isSmartRef__":true,"id":1667},{"__isSmartRef__":true,"id":1689},{"__isSmartRef__":true,"id":1667}],"lastIndex":0,"lastRunIndex":0,"__LivelyClassName__":"RunArray","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1666}},"1667":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1667}},"1668":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1669},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1668}},"1669":{"registeredObject":{"r":0.5450980392156862,"g":0,"b":0,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1669}},"1670":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1670}},"1671":{"registeredObject":{"r":0,"g":0,"b":0.5450980392156862,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1671}},"1672":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1673},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1672}},"1673":{"registeredObject":{"r":0,"g":0.5019607843137255,"b":0,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1673}},"1674":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1673},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1674}},"1675":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1676},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1675}},"1676":{"registeredObject":{"r":0,"g":0,"b":0.5019607843137255,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1676}},"1677":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1677}},"1678":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1678}},"1679":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1676},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1679}},"1680":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1680}},"1681":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1681}},"1682":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1682}},"1683":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1673},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1683}},"1684":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1676},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1684}},"1685":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1685}},"1686":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1686}},"1687":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1687}},"1688":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1688}},"1689":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1673},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1689}},"1690":{"registeredObject":{"runs":[4,20,1,8,14,1,3,4,67,1,2],"values":[{"__isSmartRef__":true,"id":1691},{"__isSmartRef__":true,"id":1692},{"__isSmartRef__":true,"id":1693},{"__isSmartRef__":true,"id":1694},{"__isSmartRef__":true,"id":1695},{"__isSmartRef__":true,"id":1696},{"__isSmartRef__":true,"id":1697},{"__isSmartRef__":true,"id":1698},{"__isSmartRef__":true,"id":1699},{"__isSmartRef__":true,"id":1700},{"__isSmartRef__":true,"id":1701}],"lastIndex":0,"lastRunIndex":0,"__LivelyClassName__":"RunArray","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1690}},"1691":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1691}},"1692":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1669},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1692}},"1693":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1693}},"1694":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1694}},"1695":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1695}},"1696":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1673},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1696}},"1697":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1697}},"1698":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1671},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1698}},"1699":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1699}},"1700":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"color":{"__isSmartRef__":true,"id":1673},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1700}},"1701":{"registeredObject":{"Color":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":1701}},"1702":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":1703},"__SourceModuleName__":"Global","definition":"{\"Pane1Content\":\"!List\",\"Pane1Selection\":\"!Selection\",\"Pane1Menu\":\"!Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":1702}},"1703":{"registeredObject":{"baseWidth":208,"textStyle":null,"submorphs":[{"__isSmartRef__":true,"id":1704},{"__isSmartRef__":true,"id":1719},{"__isSmartRef__":true,"id":1733},{"__isSmartRef__":true,"id":1747},{"__isSmartRef__":true,"id":1761},{"__isSmartRef__":true,"id":1775},{"__isSmartRef__":true,"id":1789},{"__isSmartRef__":true,"id":1803},{"__isSmartRef__":true,"id":1819},{"__isSmartRef__":true,"id":1833},{"__isSmartRef__":true,"id":1847},{"__isSmartRef__":true,"id":1861},{"__isSmartRef__":true,"id":1875},{"__isSmartRef__":true,"id":1889},{"__isSmartRef__":true,"id":1903},{"__isSmartRef__":true,"id":1917},{"__isSmartRef__":true,"id":1931},{"__isSmartRef__":true,"id":1945},{"__isSmartRef__":true,"id":1959},{"__isSmartRef__":true,"id":1973},{"__isSmartRef__":true,"id":1987},{"__isSmartRef__":true,"id":2001},{"__isSmartRef__":true,"id":2015},{"__isSmartRef__":true,"id":2029},{"__isSmartRef__":true,"id":2043},{"__isSmartRef__":true,"id":2057},{"__isSmartRef__":true,"id":2071},{"__isSmartRef__":true,"id":2085},{"__isSmartRef__":true,"id":2099},{"__isSmartRef__":true,"id":2113},{"__isSmartRef__":true,"id":2127},{"__isSmartRef__":true,"id":2141},{"__isSmartRef__":true,"id":2155},{"__isSmartRef__":true,"id":2169},{"__isSmartRef__":true,"id":2183},{"__isSmartRef__":true,"id":2197},{"__isSmartRef__":true,"id":2211},{"__isSmartRef__":true,"id":2225},{"__isSmartRef__":true,"id":2239},{"__isSmartRef__":true,"id":2253},{"__isSmartRef__":true,"id":2267},{"__isSmartRef__":true,"id":2281},{"__isSmartRef__":true,"id":2295},{"__isSmartRef__":true,"id":2309},{"__isSmartRef__":true,"id":2323},{"__isSmartRef__":true,"id":2337},{"__isSmartRef__":true,"id":2351},{"__isSmartRef__":true,"id":2365},{"__isSmartRef__":true,"id":2379},{"__isSmartRef__":true,"id":2393},{"__isSmartRef__":true,"id":2407},{"__isSmartRef__":true,"id":2421},{"__isSmartRef__":true,"id":2435},{"__isSmartRef__":true,"id":2449},{"__isSmartRef__":true,"id":2463},{"__isSmartRef__":true,"id":2477},{"__isSmartRef__":true,"id":2491},{"__isSmartRef__":true,"id":2505},{"__isSmartRef__":true,"id":2519},{"__isSmartRef__":true,"id":2533},{"__isSmartRef__":true,"id":2547}],"owner":{"__isSmartRef__":true,"id":2561},"_livelyDataWrapperId_":"81:FilterableListMorph","origin":{"__isSmartRef__":true,"id":2616},"shape":{"__isSmartRef__":true,"id":2617},"priorExtent":{"__isSmartRef__":true,"id":2618},"itemList":[{"__isSmartRef__":true,"id":222},{"__isSmartRef__":true,"id":1209},{"__isSmartRef__":true,"id":1210},{"__isSmartRef__":true,"id":1211},{"__isSmartRef__":true,"id":1212},{"__isSmartRef__":true,"id":1213},{"__isSmartRef__":true,"id":1214},{"__isSmartRef__":true,"id":1215},{"__isSmartRef__":true,"id":1216},{"__isSmartRef__":true,"id":1217},{"__isSmartRef__":true,"id":1218},{"__isSmartRef__":true,"id":1219},{"__isSmartRef__":true,"id":1220},{"__isSmartRef__":true,"id":1221},{"__isSmartRef__":true,"id":1222},{"__isSmartRef__":true,"id":1223},{"__isSmartRef__":true,"id":1224},{"__isSmartRef__":true,"id":1225},{"__isSmartRef__":true,"id":1226},{"__isSmartRef__":true,"id":1227},{"__isSmartRef__":true,"id":1228},{"__isSmartRef__":true,"id":1229},{"__isSmartRef__":true,"id":1230},{"__isSmartRef__":true,"id":1231},{"__isSmartRef__":true,"id":1232},{"__isSmartRef__":true,"id":1233},{"__isSmartRef__":true,"id":1234},{"__isSmartRef__":true,"id":1235},{"__isSmartRef__":true,"id":1236},{"__isSmartRef__":true,"id":1237},{"__isSmartRef__":true,"id":1238},{"__isSmartRef__":true,"id":1239},{"__isSmartRef__":true,"id":1240},{"__isSmartRef__":true,"id":1241},{"__isSmartRef__":true,"id":1242},{"__isSmartRef__":true,"id":1243},{"__isSmartRef__":true,"id":1244},{"__isSmartRef__":true,"id":1245},{"__isSmartRef__":true,"id":1246},{"__isSmartRef__":true,"id":1247},{"__isSmartRef__":true,"id":1248},{"__isSmartRef__":true,"id":1249},{"__isSmartRef__":true,"id":1250},{"__isSmartRef__":true,"id":1251},{"__isSmartRef__":true,"id":1252},{"__isSmartRef__":true,"id":1253},{"__isSmartRef__":true,"id":1254},{"__isSmartRef__":true,"id":1255},{"__isSmartRef__":true,"id":1256},{"__isSmartRef__":true,"id":1257},{"__isSmartRef__":true,"id":1258},{"__isSmartRef__":true,"id":1259},{"__isSmartRef__":true,"id":1260},{"__isSmartRef__":true,"id":1261},{"__isSmartRef__":true,"id":1262},{"__isSmartRef__":true,"id":1263},{"__isSmartRef__":true,"id":1264},{"__isSmartRef__":true,"id":1265},{"__isSmartRef__":true,"id":1266},{"__isSmartRef__":true,"id":1267},{"__isSmartRef__":true,"id":1268}],"selectedLineNo":7,"selection":{"__isSmartRef__":true,"id":1154},"pvtCachedTransform":{"__isSmartRef__":true,"id":2619},"savedFill":null,"suppressHandles":true,"formalModel":{"__isSmartRef__":true,"id":2620},"savedTextColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"FilterableListMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"FilterableListMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"81:FilterableListMorph","namespaceURI":null},{"key":"transform","value":"translate(1,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1703}},"1704":{"registeredObject":{"textString":"Base.js (not parsed)","savedTextString":"-----","submorphs":[{"__isSmartRef__":true,"id":1705}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"82:TextMorph","origin":{"__isSmartRef__":true,"id":1710},"shape":{"__isSmartRef__":true,"id":1711},"textContent":{"__isSmartRef__":true,"id":1712},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1713},"textSelection":{"__isSmartRef__":true,"id":1705},"priorExtent":{"__isSmartRef__":true,"id":1714},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1715},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1716},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1718},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"82:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,4.5)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1704}},"1705":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1704},"_livelyDataWrapperId_":"84:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1706},"shape":{"__isSmartRef__":true,"id":1707},"priorExtent":{"__isSmartRef__":true,"id":1708},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1709},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"84:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1705}},"1706":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1706}},"1707":{"registeredObject":{"_livelyDataWrapperId_":"83:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"83:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1707}},"1708":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1708}},"1709":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1709}},"1710":{"registeredObject":{"x":3,"y":4.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1710}},"1711":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1711}},"1712":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1712}},"1713":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":4.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1713}},"1714":{"registeredObject":{"x":193,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1714}},"1715":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1715}},"1716":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1716}},"1717":{"registeredObject":{"onMouseDown":"onMouseDown","onMouseMove":"onMouseMove","onMouseUp":"onMouseUp"},"ref":{"__isSmartRef__":true,"id":1717}},"1718":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1718}},"1719":{"registeredObject":{"textString":"bindings.js (not parsed)","savedTextString":"bindings.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1720}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"137:TextMorph","origin":{"__isSmartRef__":true,"id":1725},"shape":{"__isSmartRef__":true,"id":1726},"textContent":{"__isSmartRef__":true,"id":1727},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1728},"textSelection":{"__isSmartRef__":true,"id":1720},"priorExtent":{"__isSmartRef__":true,"id":1729},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1730},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1731},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1732},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"137:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,22.199999809265137)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1719}},"1720":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1719},"_livelyDataWrapperId_":"139:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1721},"shape":{"__isSmartRef__":true,"id":1722},"priorExtent":{"__isSmartRef__":true,"id":1723},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1724},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"139:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1720}},"1721":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1721}},"1722":{"registeredObject":{"_livelyDataWrapperId_":"138:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"138:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1722}},"1723":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1723}},"1724":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1724}},"1725":{"registeredObject":{"x":3,"y":22.199999809265137,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1725}},"1726":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1726}},"1727":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1727}},"1728":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":22.199999809265137,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1728}},"1729":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1729}},"1730":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1730}},"1731":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1731}},"1732":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1732}},"1733":{"registeredObject":{"textString":"bootstrap.js (not parsed)","savedTextString":"bootstrap.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1734}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"140:TextMorph","origin":{"__isSmartRef__":true,"id":1739},"shape":{"__isSmartRef__":true,"id":1740},"textContent":{"__isSmartRef__":true,"id":1741},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1742},"textSelection":{"__isSmartRef__":true,"id":1734},"priorExtent":{"__isSmartRef__":true,"id":1743},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1744},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1745},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1746},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"140:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,39.89999961853027)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1733}},"1734":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1733},"_livelyDataWrapperId_":"142:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1735},"shape":{"__isSmartRef__":true,"id":1736},"priorExtent":{"__isSmartRef__":true,"id":1737},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1738},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"142:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1734}},"1735":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1735}},"1736":{"registeredObject":{"_livelyDataWrapperId_":"141:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"141:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1736}},"1737":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1737}},"1738":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1738}},"1739":{"registeredObject":{"x":3,"y":39.89999961853027,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1739}},"1740":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1740}},"1741":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1741}},"1742":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":39.89999961853027,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1742}},"1743":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1743}},"1744":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1744}},"1745":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1745}},"1746":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1746}},"1747":{"registeredObject":{"textString":"CanvasExpt.js (not parsed)","savedTextString":"CanvasExpt.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1748}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"143:TextMorph","origin":{"__isSmartRef__":true,"id":1753},"shape":{"__isSmartRef__":true,"id":1754},"textContent":{"__isSmartRef__":true,"id":1755},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1756},"textSelection":{"__isSmartRef__":true,"id":1748},"priorExtent":{"__isSmartRef__":true,"id":1757},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1758},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1759},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1760},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"143:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,57.59999942779541)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1747}},"1748":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1747},"_livelyDataWrapperId_":"145:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1749},"shape":{"__isSmartRef__":true,"id":1750},"priorExtent":{"__isSmartRef__":true,"id":1751},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1752},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"145:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1748}},"1749":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1749}},"1750":{"registeredObject":{"_livelyDataWrapperId_":"144:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"144:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1750}},"1751":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1751}},"1752":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1752}},"1753":{"registeredObject":{"x":3,"y":57.59999942779541,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1753}},"1754":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1754}},"1755":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1755}},"1756":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":57.59999942779541,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1756}},"1757":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1757}},"1758":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1758}},"1759":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1759}},"1760":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1760}},"1761":{"registeredObject":{"textString":"ChangeSet.js (not parsed)","savedTextString":"ChangeSet.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1762}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"146:TextMorph","origin":{"__isSmartRef__":true,"id":1767},"shape":{"__isSmartRef__":true,"id":1768},"textContent":{"__isSmartRef__":true,"id":1769},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1770},"textSelection":{"__isSmartRef__":true,"id":1762},"priorExtent":{"__isSmartRef__":true,"id":1771},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1772},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1773},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1774},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"146:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,75.29999923706055)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1761}},"1762":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1761},"_livelyDataWrapperId_":"148:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1763},"shape":{"__isSmartRef__":true,"id":1764},"priorExtent":{"__isSmartRef__":true,"id":1765},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1766},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"148:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1762}},"1763":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1763}},"1764":{"registeredObject":{"_livelyDataWrapperId_":"147:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"147:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1764}},"1765":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1765}},"1766":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1766}},"1767":{"registeredObject":{"x":3,"y":75.29999923706055,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1767}},"1768":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1768}},"1769":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1769}},"1770":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":75.29999923706055,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1770}},"1771":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1771}},"1772":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1772}},"1773":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1773}},"1774":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1774}},"1775":{"registeredObject":{"textString":"Connector.js (not parsed)","savedTextString":"Connector.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1776}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"149:TextMorph","origin":{"__isSmartRef__":true,"id":1781},"shape":{"__isSmartRef__":true,"id":1782},"textContent":{"__isSmartRef__":true,"id":1783},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1784},"textSelection":{"__isSmartRef__":true,"id":1776},"priorExtent":{"__isSmartRef__":true,"id":1785},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1786},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1787},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1788},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"149:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,92.99999904632568)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1775}},"1776":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1775},"_livelyDataWrapperId_":"151:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1777},"shape":{"__isSmartRef__":true,"id":1778},"priorExtent":{"__isSmartRef__":true,"id":1779},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1780},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"151:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1776}},"1777":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1777}},"1778":{"registeredObject":{"_livelyDataWrapperId_":"150:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"150:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1778}},"1779":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1779}},"1780":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1780}},"1781":{"registeredObject":{"x":3,"y":92.99999904632568,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1781}},"1782":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1782}},"1783":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1783}},"1784":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":92.99999904632568,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1784}},"1785":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1785}},"1786":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1786}},"1787":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1787}},"1788":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1788}},"1789":{"registeredObject":{"textString":"Contributions.js (not parsed)","savedTextString":"Contributions.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1790}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"152:TextMorph","origin":{"__isSmartRef__":true,"id":1795},"shape":{"__isSmartRef__":true,"id":1796},"textContent":{"__isSmartRef__":true,"id":1797},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1798},"textSelection":{"__isSmartRef__":true,"id":1790},"priorExtent":{"__isSmartRef__":true,"id":1799},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1800},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1801},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1802},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"152:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,110.69999885559082)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1789}},"1790":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1789},"_livelyDataWrapperId_":"154:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1791},"shape":{"__isSmartRef__":true,"id":1792},"priorExtent":{"__isSmartRef__":true,"id":1793},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1794},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"154:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1790}},"1791":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1791}},"1792":{"registeredObject":{"_livelyDataWrapperId_":"153:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"153:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1792}},"1793":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1793}},"1794":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1794}},"1795":{"registeredObject":{"x":3,"y":110.69999885559082,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1795}},"1796":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1796}},"1797":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1797}},"1798":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":110.69999885559082,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1798}},"1799":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1799}},"1800":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1800}},"1801":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1801}},"1802":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1802}},"1803":{"registeredObject":{"textString":"Core.js","savedTextString":"Core.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1804}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"155:TextMorph","origin":{"__isSmartRef__":true,"id":1809},"shape":{"__isSmartRef__":true,"id":1810},"textContent":{"__isSmartRef__":true,"id":1812},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1814},"textSelection":{"__isSmartRef__":true,"id":1804},"priorExtent":{"__isSmartRef__":true,"id":1815},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1816},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1817},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1818},"__layered_openForDragAndDrop__":false,"textColor":{"__isSmartRef__":true,"id":1813},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"155:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,128.39999866485596)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1803}},"1804":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1803},"_livelyDataWrapperId_":"157:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1805},"shape":{"__isSmartRef__":true,"id":1806},"priorExtent":{"__isSmartRef__":true,"id":1807},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1808},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"157:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1804}},"1805":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1805}},"1806":{"registeredObject":{"_livelyDataWrapperId_":"156:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"156:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1806}},"1807":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1807}},"1808":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1808}},"1809":{"registeredObject":{"x":3,"y":128.39999866485596,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1809}},"1810":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1811},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(83,130,161)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1810}},"1811":{"registeredObject":{"r":0.3254901960784314,"g":0.5098039215686274,"b":0.6313725490196078,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1811}},"1812":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":1813},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1812}},"1813":{"registeredObject":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1813}},"1814":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":128.39999866485596,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1814}},"1815":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1815}},"1816":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1816}},"1817":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1817}},"1818":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1818}},"1819":{"registeredObject":{"textString":"Data.js (not parsed)","savedTextString":"Data.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1820}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"158:TextMorph","origin":{"__isSmartRef__":true,"id":1825},"shape":{"__isSmartRef__":true,"id":1826},"textContent":{"__isSmartRef__":true,"id":1827},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1828},"textSelection":{"__isSmartRef__":true,"id":1820},"priorExtent":{"__isSmartRef__":true,"id":1829},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1830},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1831},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1832},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"158:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,146.0999984741211)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1819}},"1820":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1819},"_livelyDataWrapperId_":"160:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1821},"shape":{"__isSmartRef__":true,"id":1822},"priorExtent":{"__isSmartRef__":true,"id":1823},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1824},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"160:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1820}},"1821":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1821}},"1822":{"registeredObject":{"_livelyDataWrapperId_":"159:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"159:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1822}},"1823":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1823}},"1824":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1824}},"1825":{"registeredObject":{"x":3,"y":146.0999984741211,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1825}},"1826":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1826}},"1827":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1827}},"1828":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":146.0999984741211,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1828}},"1829":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1829}},"1830":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1830}},"1831":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1831}},"1832":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1832}},"1833":{"registeredObject":{"textString":"defaultconfig.js (not parsed)","savedTextString":"defaultconfig.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1834}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"161:TextMorph","origin":{"__isSmartRef__":true,"id":1839},"shape":{"__isSmartRef__":true,"id":1840},"textContent":{"__isSmartRef__":true,"id":1841},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1842},"textSelection":{"__isSmartRef__":true,"id":1834},"priorExtent":{"__isSmartRef__":true,"id":1843},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1844},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1845},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1846},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"161:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,163.79999828338623)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1833}},"1834":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1833},"_livelyDataWrapperId_":"163:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1835},"shape":{"__isSmartRef__":true,"id":1836},"priorExtent":{"__isSmartRef__":true,"id":1837},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1838},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"163:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1834}},"1835":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1835}},"1836":{"registeredObject":{"_livelyDataWrapperId_":"162:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"162:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1836}},"1837":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1837}},"1838":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1838}},"1839":{"registeredObject":{"x":3,"y":163.79999828338623,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1839}},"1840":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1840}},"1841":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1841}},"1842":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":163.79999828338623,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1842}},"1843":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1843}},"1844":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1844}},"1845":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1845}},"1846":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1846}},"1847":{"registeredObject":{"textString":"demofx.js (not parsed)","savedTextString":"demofx.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1848}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"164:TextMorph","origin":{"__isSmartRef__":true,"id":1853},"shape":{"__isSmartRef__":true,"id":1854},"textContent":{"__isSmartRef__":true,"id":1855},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1856},"textSelection":{"__isSmartRef__":true,"id":1848},"priorExtent":{"__isSmartRef__":true,"id":1857},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1858},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1859},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1860},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"164:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,181.49999809265137)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1847}},"1848":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1847},"_livelyDataWrapperId_":"166:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1849},"shape":{"__isSmartRef__":true,"id":1850},"priorExtent":{"__isSmartRef__":true,"id":1851},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1852},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"166:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1848}},"1849":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1849}},"1850":{"registeredObject":{"_livelyDataWrapperId_":"165:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"165:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1850}},"1851":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1851}},"1852":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1852}},"1853":{"registeredObject":{"x":3,"y":181.49999809265137,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1853}},"1854":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1854}},"1855":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1855}},"1856":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":181.49999809265137,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1856}},"1857":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1857}},"1858":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1858}},"1859":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1859}},"1860":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1860}},"1861":{"registeredObject":{"textString":"EmuDom.js (not parsed)","savedTextString":"EmuDom.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1862}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"167:TextMorph","origin":{"__isSmartRef__":true,"id":1867},"shape":{"__isSmartRef__":true,"id":1868},"textContent":{"__isSmartRef__":true,"id":1869},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1870},"textSelection":{"__isSmartRef__":true,"id":1862},"priorExtent":{"__isSmartRef__":true,"id":1871},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1872},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1873},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1874},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"167:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,199.1999979019165)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1861}},"1862":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1861},"_livelyDataWrapperId_":"169:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1863},"shape":{"__isSmartRef__":true,"id":1864},"priorExtent":{"__isSmartRef__":true,"id":1865},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1866},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"169:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1862}},"1863":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1863}},"1864":{"registeredObject":{"_livelyDataWrapperId_":"168:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"168:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1864}},"1865":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1865}},"1866":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1866}},"1867":{"registeredObject":{"x":3,"y":199.1999979019165,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1867}},"1868":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1868}},"1869":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1869}},"1870":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":199.1999979019165,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1870}},"1871":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1871}},"1872":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1872}},"1873":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1873}},"1874":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1874}},"1875":{"registeredObject":{"textString":"Examples.js (not parsed)","savedTextString":"Examples.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1876}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"170:TextMorph","origin":{"__isSmartRef__":true,"id":1881},"shape":{"__isSmartRef__":true,"id":1882},"textContent":{"__isSmartRef__":true,"id":1883},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1884},"textSelection":{"__isSmartRef__":true,"id":1876},"priorExtent":{"__isSmartRef__":true,"id":1885},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1886},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1887},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1888},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"170:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,216.89999771118164)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1875}},"1876":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1875},"_livelyDataWrapperId_":"172:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1877},"shape":{"__isSmartRef__":true,"id":1878},"priorExtent":{"__isSmartRef__":true,"id":1879},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1880},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"172:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1876}},"1877":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1877}},"1878":{"registeredObject":{"_livelyDataWrapperId_":"171:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"171:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1878}},"1879":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1879}},"1880":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1880}},"1881":{"registeredObject":{"x":3,"y":216.89999771118164,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1881}},"1882":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1882}},"1883":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1883}},"1884":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":216.89999771118164,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1884}},"1885":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1885}},"1886":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1886}},"1887":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1887}},"1888":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1888}},"1889":{"registeredObject":{"textString":"Fabrik.js (not parsed)","savedTextString":"Fabrik.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1890}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"173:TextMorph","origin":{"__isSmartRef__":true,"id":1895},"shape":{"__isSmartRef__":true,"id":1896},"textContent":{"__isSmartRef__":true,"id":1897},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1898},"textSelection":{"__isSmartRef__":true,"id":1890},"priorExtent":{"__isSmartRef__":true,"id":1899},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1900},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1901},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1902},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"173:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,234.59999752044678)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1889}},"1890":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1889},"_livelyDataWrapperId_":"175:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1891},"shape":{"__isSmartRef__":true,"id":1892},"priorExtent":{"__isSmartRef__":true,"id":1893},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1894},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"175:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1890}},"1891":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1891}},"1892":{"registeredObject":{"_livelyDataWrapperId_":"174:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"174:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1892}},"1893":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1893}},"1894":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1894}},"1895":{"registeredObject":{"x":3,"y":234.59999752044678,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1895}},"1896":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1896}},"1897":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1897}},"1898":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":234.59999752044678,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1898}},"1899":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1899}},"1900":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1900}},"1901":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1901}},"1902":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1902}},"1903":{"registeredObject":{"textString":"FileUploadWidget.js (not parsed)","savedTextString":"FileUploadWidget.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1904}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"176:TextMorph","origin":{"__isSmartRef__":true,"id":1909},"shape":{"__isSmartRef__":true,"id":1910},"textContent":{"__isSmartRef__":true,"id":1911},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1912},"textSelection":{"__isSmartRef__":true,"id":1904},"priorExtent":{"__isSmartRef__":true,"id":1913},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1914},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1915},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1916},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"176:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,252.2999973297119)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1903}},"1904":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1903},"_livelyDataWrapperId_":"178:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1905},"shape":{"__isSmartRef__":true,"id":1906},"priorExtent":{"__isSmartRef__":true,"id":1907},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1908},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"178:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1904}},"1905":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1905}},"1906":{"registeredObject":{"_livelyDataWrapperId_":"177:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"177:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1906}},"1907":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1907}},"1908":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1908}},"1909":{"registeredObject":{"x":3,"y":252.2999973297119,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1909}},"1910":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1910}},"1911":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1911}},"1912":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":252.2999973297119,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1912}},"1913":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1913}},"1914":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1914}},"1915":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1915}},"1916":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1916}},"1917":{"registeredObject":{"textString":"Graffle.js (not parsed)","savedTextString":"Graffle.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1918}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"179:TextMorph","origin":{"__isSmartRef__":true,"id":1923},"shape":{"__isSmartRef__":true,"id":1924},"textContent":{"__isSmartRef__":true,"id":1925},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1926},"textSelection":{"__isSmartRef__":true,"id":1918},"priorExtent":{"__isSmartRef__":true,"id":1927},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1928},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1929},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1930},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"179:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,269.99999713897705)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1917}},"1918":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1917},"_livelyDataWrapperId_":"181:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1919},"shape":{"__isSmartRef__":true,"id":1920},"priorExtent":{"__isSmartRef__":true,"id":1921},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1922},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"181:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1918}},"1919":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1919}},"1920":{"registeredObject":{"_livelyDataWrapperId_":"180:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"180:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1920}},"1921":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1921}},"1922":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1922}},"1923":{"registeredObject":{"x":3,"y":269.99999713897705,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1923}},"1924":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1924}},"1925":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1925}},"1926":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":269.99999713897705,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1926}},"1927":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1927}},"1928":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1928}},"1929":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1929}},"1930":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1930}},"1931":{"registeredObject":{"textString":"GridLayout.js (not parsed)","savedTextString":"GridLayout.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1932}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"182:TextMorph","origin":{"__isSmartRef__":true,"id":1937},"shape":{"__isSmartRef__":true,"id":1938},"textContent":{"__isSmartRef__":true,"id":1939},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1940},"textSelection":{"__isSmartRef__":true,"id":1932},"priorExtent":{"__isSmartRef__":true,"id":1941},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1942},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1943},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1944},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"182:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,287.6999969482422)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1931}},"1932":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1931},"_livelyDataWrapperId_":"184:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1933},"shape":{"__isSmartRef__":true,"id":1934},"priorExtent":{"__isSmartRef__":true,"id":1935},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1936},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"184:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1932}},"1933":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1933}},"1934":{"registeredObject":{"_livelyDataWrapperId_":"183:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"183:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1934}},"1935":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1935}},"1936":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1936}},"1937":{"registeredObject":{"x":3,"y":287.6999969482422,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1937}},"1938":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1938}},"1939":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1939}},"1940":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":287.6999969482422,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1940}},"1941":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1941}},"1942":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1942}},"1943":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1943}},"1944":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1944}},"1945":{"registeredObject":{"textString":"Helper.js (not parsed)","savedTextString":"Helper.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1946}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"185:TextMorph","origin":{"__isSmartRef__":true,"id":1951},"shape":{"__isSmartRef__":true,"id":1952},"textContent":{"__isSmartRef__":true,"id":1953},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1954},"textSelection":{"__isSmartRef__":true,"id":1946},"priorExtent":{"__isSmartRef__":true,"id":1955},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1956},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1957},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1958},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"185:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,305.3999967575073)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1945}},"1946":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1945},"_livelyDataWrapperId_":"187:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1947},"shape":{"__isSmartRef__":true,"id":1948},"priorExtent":{"__isSmartRef__":true,"id":1949},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1950},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"187:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1946}},"1947":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1947}},"1948":{"registeredObject":{"_livelyDataWrapperId_":"186:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"186:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1948}},"1949":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1949}},"1950":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1950}},"1951":{"registeredObject":{"x":3,"y":305.3999967575073,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1951}},"1952":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1952}},"1953":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1953}},"1954":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":305.3999967575073,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1954}},"1955":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1955}},"1956":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1956}},"1957":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1957}},"1958":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1958}},"1959":{"registeredObject":{"textString":"ide.js (not parsed)","savedTextString":"ide.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1960}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"188:TextMorph","origin":{"__isSmartRef__":true,"id":1965},"shape":{"__isSmartRef__":true,"id":1966},"textContent":{"__isSmartRef__":true,"id":1967},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1968},"textSelection":{"__isSmartRef__":true,"id":1960},"priorExtent":{"__isSmartRef__":true,"id":1969},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1970},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1971},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1972},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"188:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,323.09999656677246)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1959}},"1960":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1959},"_livelyDataWrapperId_":"190:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1961},"shape":{"__isSmartRef__":true,"id":1962},"priorExtent":{"__isSmartRef__":true,"id":1963},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1964},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"190:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1960}},"1961":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1961}},"1962":{"registeredObject":{"_livelyDataWrapperId_":"189:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"189:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1962}},"1963":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1963}},"1964":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1964}},"1965":{"registeredObject":{"x":3,"y":323.09999656677246,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1965}},"1966":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1966}},"1967":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1967}},"1968":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":323.09999656677246,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1968}},"1969":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1969}},"1970":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1970}},"1971":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1971}},"1972":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1972}},"1973":{"registeredObject":{"textString":"JSON.js (not parsed)","savedTextString":"JSON.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1974}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"191:TextMorph","origin":{"__isSmartRef__":true,"id":1979},"shape":{"__isSmartRef__":true,"id":1980},"textContent":{"__isSmartRef__":true,"id":1981},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1982},"textSelection":{"__isSmartRef__":true,"id":1974},"priorExtent":{"__isSmartRef__":true,"id":1983},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1984},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1985},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":1986},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"191:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,340.7999963760376)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1973}},"1974":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1973},"_livelyDataWrapperId_":"193:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1975},"shape":{"__isSmartRef__":true,"id":1976},"priorExtent":{"__isSmartRef__":true,"id":1977},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1978},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"193:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1974}},"1975":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1975}},"1976":{"registeredObject":{"_livelyDataWrapperId_":"192:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"192:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1976}},"1977":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1977}},"1978":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1978}},"1979":{"registeredObject":{"x":3,"y":340.7999963760376,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1979}},"1980":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1980}},"1981":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1981}},"1982":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":340.7999963760376,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1982}},"1983":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1983}},"1984":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1984}},"1985":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1985}},"1986":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1986}},"1987":{"registeredObject":{"textString":"LayerableMorphs.js (not parsed)","savedTextString":"LayerableMorphs.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":1988}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"194:TextMorph","origin":{"__isSmartRef__":true,"id":1993},"shape":{"__isSmartRef__":true,"id":1994},"textContent":{"__isSmartRef__":true,"id":1995},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":1996},"textSelection":{"__isSmartRef__":true,"id":1988},"priorExtent":{"__isSmartRef__":true,"id":1997},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":1998},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":1999},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2000},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"194:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,358.49999618530273)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1987}},"1988":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":1987},"_livelyDataWrapperId_":"196:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":1989},"shape":{"__isSmartRef__":true,"id":1990},"priorExtent":{"__isSmartRef__":true,"id":1991},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":1992},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"196:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1988}},"1989":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1989}},"1990":{"registeredObject":{"_livelyDataWrapperId_":"195:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"195:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1990}},"1991":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1991}},"1992":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1992}},"1993":{"registeredObject":{"x":3,"y":358.49999618530273,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1993}},"1994":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1994}},"1995":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":1995}},"1996":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":358.49999618530273,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1996}},"1997":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1997}},"1998":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":1998}},"1999":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":1999}},"2000":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2000}},"2001":{"registeredObject":{"textString":"lk-js-parser.ometa (not parsed)","savedTextString":"lk-js-parser.ometa (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2002}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"197:TextMorph","origin":{"__isSmartRef__":true,"id":2007},"shape":{"__isSmartRef__":true,"id":2008},"textContent":{"__isSmartRef__":true,"id":2009},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2010},"textSelection":{"__isSmartRef__":true,"id":2002},"priorExtent":{"__isSmartRef__":true,"id":2011},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2012},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2013},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2014},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"197:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,376.19999599456787)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2001}},"2002":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2001},"_livelyDataWrapperId_":"199:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2003},"shape":{"__isSmartRef__":true,"id":2004},"priorExtent":{"__isSmartRef__":true,"id":2005},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2006},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"199:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2002}},"2003":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2003}},"2004":{"registeredObject":{"_livelyDataWrapperId_":"198:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"198:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2004}},"2005":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2005}},"2006":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2006}},"2007":{"registeredObject":{"x":3,"y":376.19999599456787,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2007}},"2008":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2008}},"2009":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2009}},"2010":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":376.19999599456787,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2010}},"2011":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2011}},"2012":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2012}},"2013":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2013}},"2014":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2014}},"2015":{"registeredObject":{"textString":"LKFileParser.js (not parsed)","savedTextString":"LKFileParser.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2016}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"200:TextMorph","origin":{"__isSmartRef__":true,"id":2021},"shape":{"__isSmartRef__":true,"id":2022},"textContent":{"__isSmartRef__":true,"id":2023},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2024},"textSelection":{"__isSmartRef__":true,"id":2016},"priorExtent":{"__isSmartRef__":true,"id":2025},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2026},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2027},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2028},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"200:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,393.899995803833)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2015}},"2016":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2015},"_livelyDataWrapperId_":"202:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2017},"shape":{"__isSmartRef__":true,"id":2018},"priorExtent":{"__isSmartRef__":true,"id":2019},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2020},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"202:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2016}},"2017":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2017}},"2018":{"registeredObject":{"_livelyDataWrapperId_":"201:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"201:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2018}},"2019":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2019}},"2020":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2020}},"2021":{"registeredObject":{"x":3,"y":393.899995803833,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2021}},"2022":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2022}},"2023":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2023}},"2024":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":393.899995803833,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2024}},"2025":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2025}},"2026":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2026}},"2027":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2027}},"2028":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2028}},"2029":{"registeredObject":{"textString":"LKFileParser.ometa (not parsed)","savedTextString":"LKFileParser.ometa (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2030}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"203:TextMorph","origin":{"__isSmartRef__":true,"id":2035},"shape":{"__isSmartRef__":true,"id":2036},"textContent":{"__isSmartRef__":true,"id":2037},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2038},"textSelection":{"__isSmartRef__":true,"id":2030},"priorExtent":{"__isSmartRef__":true,"id":2039},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2040},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2041},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2042},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"203:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,411.59999561309814)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2029}},"2030":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2029},"_livelyDataWrapperId_":"205:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2031},"shape":{"__isSmartRef__":true,"id":2032},"priorExtent":{"__isSmartRef__":true,"id":2033},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2034},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"205:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2030}},"2031":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2031}},"2032":{"registeredObject":{"_livelyDataWrapperId_":"204:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"204:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2032}},"2033":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2033}},"2034":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2034}},"2035":{"registeredObject":{"x":3,"y":411.59999561309814,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2035}},"2036":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2036}},"2037":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2037}},"2038":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":411.59999561309814,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2038}},"2039":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2039}},"2040":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2040}},"2041":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2041}},"2042":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2042}},"2043":{"registeredObject":{"textString":"LKWiki.js (not parsed)","savedTextString":"LKWiki.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2044}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"206:TextMorph","origin":{"__isSmartRef__":true,"id":2049},"shape":{"__isSmartRef__":true,"id":2050},"textContent":{"__isSmartRef__":true,"id":2051},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2052},"textSelection":{"__isSmartRef__":true,"id":2044},"priorExtent":{"__isSmartRef__":true,"id":2053},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2054},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2055},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2056},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"206:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,429.2999954223633)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2043}},"2044":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2043},"_livelyDataWrapperId_":"208:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2045},"shape":{"__isSmartRef__":true,"id":2046},"priorExtent":{"__isSmartRef__":true,"id":2047},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2048},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"208:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2044}},"2045":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2045}},"2046":{"registeredObject":{"_livelyDataWrapperId_":"207:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"207:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2046}},"2047":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2047}},"2048":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2048}},"2049":{"registeredObject":{"x":3,"y":429.2999954223633,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2049}},"2050":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2050}},"2051":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2051}},"2052":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":429.2999954223633,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2052}},"2053":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2053}},"2054":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2054}},"2055":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2055}},"2056":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2056}},"2057":{"registeredObject":{"textString":"Local code","savedTextString":"Local code","submorphs":[{"__isSmartRef__":true,"id":2058}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"209:TextMorph","origin":{"__isSmartRef__":true,"id":2063},"shape":{"__isSmartRef__":true,"id":2064},"textContent":{"__isSmartRef__":true,"id":2065},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2066},"textSelection":{"__isSmartRef__":true,"id":2058},"priorExtent":{"__isSmartRef__":true,"id":2067},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2068},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2069},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2070},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"209:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,446.9999952316284)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2057}},"2058":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2057},"_livelyDataWrapperId_":"211:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2059},"shape":{"__isSmartRef__":true,"id":2060},"priorExtent":{"__isSmartRef__":true,"id":2061},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2062},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"211:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2058}},"2059":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2059}},"2060":{"registeredObject":{"_livelyDataWrapperId_":"210:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"210:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2060}},"2061":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2061}},"2062":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2062}},"2063":{"registeredObject":{"x":3,"y":446.9999952316284,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2063}},"2064":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2064}},"2065":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2065}},"2066":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":446.9999952316284,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2066}},"2067":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2067}},"2068":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2068}},"2069":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2069}},"2070":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2070}},"2071":{"registeredObject":{"textString":"localconfig.js (not parsed)","savedTextString":"localconfig.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2072}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"212:TextMorph","origin":{"__isSmartRef__":true,"id":2077},"shape":{"__isSmartRef__":true,"id":2078},"textContent":{"__isSmartRef__":true,"id":2079},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2080},"textSelection":{"__isSmartRef__":true,"id":2072},"priorExtent":{"__isSmartRef__":true,"id":2081},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2082},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2083},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2084},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"212:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,464.69999504089355)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2071}},"2072":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2071},"_livelyDataWrapperId_":"214:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2073},"shape":{"__isSmartRef__":true,"id":2074},"priorExtent":{"__isSmartRef__":true,"id":2075},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2076},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"214:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2072}},"2073":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2073}},"2074":{"registeredObject":{"_livelyDataWrapperId_":"213:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"213:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2074}},"2075":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2075}},"2076":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2076}},"2077":{"registeredObject":{"x":3,"y":464.69999504089355,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2077}},"2078":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2078}},"2079":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2079}},"2080":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":464.69999504089355,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2080}},"2081":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2081}},"2082":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2082}},"2083":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2083}},"2084":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2084}},"2085":{"registeredObject":{"textString":"Main.js (not parsed)","savedTextString":"Main.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2086}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"215:TextMorph","origin":{"__isSmartRef__":true,"id":2091},"shape":{"__isSmartRef__":true,"id":2092},"textContent":{"__isSmartRef__":true,"id":2093},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2094},"textSelection":{"__isSmartRef__":true,"id":2086},"priorExtent":{"__isSmartRef__":true,"id":2095},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2096},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2097},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2098},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"215:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,482.3999948501587)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2085}},"2086":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2085},"_livelyDataWrapperId_":"217:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2087},"shape":{"__isSmartRef__":true,"id":2088},"priorExtent":{"__isSmartRef__":true,"id":2089},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2090},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"217:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2086}},"2087":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2087}},"2088":{"registeredObject":{"_livelyDataWrapperId_":"216:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"216:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2088}},"2089":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2089}},"2090":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2090}},"2091":{"registeredObject":{"x":3,"y":482.3999948501587,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2091}},"2092":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2092}},"2093":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2093}},"2094":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":482.3999948501587,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2094}},"2095":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2095}},"2096":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2096}},"2097":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2097}},"2098":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2098}},"2099":{"registeredObject":{"textString":"miniprototype.js (not parsed)","savedTextString":"miniprototype.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2100}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"218:TextMorph","origin":{"__isSmartRef__":true,"id":2105},"shape":{"__isSmartRef__":true,"id":2106},"textContent":{"__isSmartRef__":true,"id":2107},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2108},"textSelection":{"__isSmartRef__":true,"id":2100},"priorExtent":{"__isSmartRef__":true,"id":2109},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2110},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2111},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2112},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"218:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,500.0999946594238)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2099}},"2100":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2099},"_livelyDataWrapperId_":"220:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2101},"shape":{"__isSmartRef__":true,"id":2102},"priorExtent":{"__isSmartRef__":true,"id":2103},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2104},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"220:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2100}},"2101":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2101}},"2102":{"registeredObject":{"_livelyDataWrapperId_":"219:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"219:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2102}},"2103":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2103}},"2104":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2104}},"2105":{"registeredObject":{"x":3,"y":500.0999946594238,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2105}},"2106":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2106}},"2107":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2107}},"2108":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":500.0999946594238,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2108}},"2109":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2109}},"2110":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2110}},"2111":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2111}},"2112":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2112}},"2113":{"registeredObject":{"textString":"Network.js (not parsed)","savedTextString":"Network.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2114}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"221:TextMorph","origin":{"__isSmartRef__":true,"id":2119},"shape":{"__isSmartRef__":true,"id":2120},"textContent":{"__isSmartRef__":true,"id":2121},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2122},"textSelection":{"__isSmartRef__":true,"id":2114},"priorExtent":{"__isSmartRef__":true,"id":2123},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2124},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2125},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2126},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"221:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,517.799994468689)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2113}},"2114":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2113},"_livelyDataWrapperId_":"223:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2115},"shape":{"__isSmartRef__":true,"id":2116},"priorExtent":{"__isSmartRef__":true,"id":2117},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2118},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"223:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2114}},"2115":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2115}},"2116":{"registeredObject":{"_livelyDataWrapperId_":"222:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"222:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2116}},"2117":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2117}},"2118":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2118}},"2119":{"registeredObject":{"x":3,"y":517.799994468689,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2119}},"2120":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2120}},"2121":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2121}},"2122":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":517.799994468689,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2122}},"2123":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2123}},"2124":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2124}},"2125":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2125}},"2126":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2126}},"2127":{"registeredObject":{"textString":"obsolete.js (not parsed)","savedTextString":"obsolete.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2128}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"224:TextMorph","origin":{"__isSmartRef__":true,"id":2133},"shape":{"__isSmartRef__":true,"id":2134},"textContent":{"__isSmartRef__":true,"id":2135},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2136},"textSelection":{"__isSmartRef__":true,"id":2128},"priorExtent":{"__isSmartRef__":true,"id":2137},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2138},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2139},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2140},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"224:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,535.4999942779541)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2127}},"2128":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2127},"_livelyDataWrapperId_":"226:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2129},"shape":{"__isSmartRef__":true,"id":2130},"priorExtent":{"__isSmartRef__":true,"id":2131},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2132},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"226:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2128}},"2129":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2129}},"2130":{"registeredObject":{"_livelyDataWrapperId_":"225:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"225:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2130}},"2131":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2131}},"2132":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2132}},"2133":{"registeredObject":{"x":3,"y":535.4999942779541,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2133}},"2134":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2134}},"2135":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2135}},"2136":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":535.4999942779541,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2136}},"2137":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2137}},"2138":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2138}},"2139":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2139}},"2140":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2140}},"2141":{"registeredObject":{"textString":"Ometa.js (not parsed)","savedTextString":"Ometa.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2142}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"227:TextMorph","origin":{"__isSmartRef__":true,"id":2147},"shape":{"__isSmartRef__":true,"id":2148},"textContent":{"__isSmartRef__":true,"id":2149},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2150},"textSelection":{"__isSmartRef__":true,"id":2142},"priorExtent":{"__isSmartRef__":true,"id":2151},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2152},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2153},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2154},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"227:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,553.1999940872192)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2141}},"2142":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2141},"_livelyDataWrapperId_":"229:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2143},"shape":{"__isSmartRef__":true,"id":2144},"priorExtent":{"__isSmartRef__":true,"id":2145},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2146},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"229:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2142}},"2143":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2143}},"2144":{"registeredObject":{"_livelyDataWrapperId_":"228:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"228:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2144}},"2145":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2145}},"2146":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2146}},"2147":{"registeredObject":{"x":3,"y":553.1999940872192,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2147}},"2148":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2148}},"2149":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2149}},"2150":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":553.1999940872192,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2150}},"2151":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2151}},"2152":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2152}},"2153":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2153}},"2154":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2154}},"2155":{"registeredObject":{"textString":"Persistence.js (not parsed)","savedTextString":"Persistence.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2156}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"230:TextMorph","origin":{"__isSmartRef__":true,"id":2161},"shape":{"__isSmartRef__":true,"id":2162},"textContent":{"__isSmartRef__":true,"id":2163},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2164},"textSelection":{"__isSmartRef__":true,"id":2156},"priorExtent":{"__isSmartRef__":true,"id":2165},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2166},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2167},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2168},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"230:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,570.8999938964844)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2155}},"2156":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2155},"_livelyDataWrapperId_":"232:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2157},"shape":{"__isSmartRef__":true,"id":2158},"priorExtent":{"__isSmartRef__":true,"id":2159},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2160},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"232:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2156}},"2157":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2157}},"2158":{"registeredObject":{"_livelyDataWrapperId_":"231:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"231:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2158}},"2159":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2159}},"2160":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2160}},"2161":{"registeredObject":{"x":3,"y":570.8999938964844,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2161}},"2162":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2162}},"2163":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2163}},"2164":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":570.8999938964844,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2164}},"2165":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2165}},"2166":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2166}},"2167":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2167}},"2168":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2168}},"2169":{"registeredObject":{"textString":"phone.js (not parsed)","savedTextString":"phone.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2170}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"233:TextMorph","origin":{"__isSmartRef__":true,"id":2175},"shape":{"__isSmartRef__":true,"id":2176},"textContent":{"__isSmartRef__":true,"id":2177},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2178},"textSelection":{"__isSmartRef__":true,"id":2170},"priorExtent":{"__isSmartRef__":true,"id":2179},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2180},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2181},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2182},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"233:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,588.5999937057495)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2169}},"2170":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2169},"_livelyDataWrapperId_":"235:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2171},"shape":{"__isSmartRef__":true,"id":2172},"priorExtent":{"__isSmartRef__":true,"id":2173},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2174},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"235:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2170}},"2171":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2171}},"2172":{"registeredObject":{"_livelyDataWrapperId_":"234:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"234:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2172}},"2173":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2173}},"2174":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2174}},"2175":{"registeredObject":{"x":3,"y":588.5999937057495,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2175}},"2176":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2176}},"2177":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2177}},"2178":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":588.5999937057495,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2178}},"2179":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2179}},"2180":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2180}},"2181":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2181}},"2182":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2182}},"2183":{"registeredObject":{"textString":"Presentation.js (not parsed)","savedTextString":"Presentation.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2184}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"236:TextMorph","origin":{"__isSmartRef__":true,"id":2189},"shape":{"__isSmartRef__":true,"id":2190},"textContent":{"__isSmartRef__":true,"id":2191},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2192},"textSelection":{"__isSmartRef__":true,"id":2184},"priorExtent":{"__isSmartRef__":true,"id":2193},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2194},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2195},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2196},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"236:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,606.2999935150146)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2183}},"2184":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2183},"_livelyDataWrapperId_":"238:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2185},"shape":{"__isSmartRef__":true,"id":2186},"priorExtent":{"__isSmartRef__":true,"id":2187},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2188},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"238:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2184}},"2185":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2185}},"2186":{"registeredObject":{"_livelyDataWrapperId_":"237:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"237:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2186}},"2187":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2187}},"2188":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2188}},"2189":{"registeredObject":{"x":3,"y":606.2999935150146,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2189}},"2190":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2190}},"2191":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2191}},"2192":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":606.2999935150146,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2192}},"2193":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2193}},"2194":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2194}},"2195":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2195}},"2196":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2196}},"2197":{"registeredObject":{"textString":"rhino-compat.js (not parsed)","savedTextString":"rhino-compat.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2198}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"239:TextMorph","origin":{"__isSmartRef__":true,"id":2203},"shape":{"__isSmartRef__":true,"id":2204},"textContent":{"__isSmartRef__":true,"id":2205},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2206},"textSelection":{"__isSmartRef__":true,"id":2198},"priorExtent":{"__isSmartRef__":true,"id":2207},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2208},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2209},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2210},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"239:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,623.9999933242798)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2197}},"2198":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2197},"_livelyDataWrapperId_":"241:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2199},"shape":{"__isSmartRef__":true,"id":2200},"priorExtent":{"__isSmartRef__":true,"id":2201},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2202},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"241:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2198}},"2199":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2199}},"2200":{"registeredObject":{"_livelyDataWrapperId_":"240:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"240:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2200}},"2201":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2201}},"2202":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2202}},"2203":{"registeredObject":{"x":3,"y":623.9999933242798,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2203}},"2204":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2204}},"2205":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2205}},"2206":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":623.9999933242798,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2206}},"2207":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2207}},"2208":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2208}},"2209":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2209}},"2210":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2210}},"2211":{"registeredObject":{"textString":"scene.js (not parsed)","savedTextString":"scene.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2212}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"242:TextMorph","origin":{"__isSmartRef__":true,"id":2217},"shape":{"__isSmartRef__":true,"id":2218},"textContent":{"__isSmartRef__":true,"id":2219},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2220},"textSelection":{"__isSmartRef__":true,"id":2212},"priorExtent":{"__isSmartRef__":true,"id":2221},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2222},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2223},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2224},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"242:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,641.6999931335449)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2211}},"2212":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2211},"_livelyDataWrapperId_":"244:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2213},"shape":{"__isSmartRef__":true,"id":2214},"priorExtent":{"__isSmartRef__":true,"id":2215},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2216},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"244:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2212}},"2213":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2213}},"2214":{"registeredObject":{"_livelyDataWrapperId_":"243:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"243:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2214}},"2215":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2215}},"2216":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2216}},"2217":{"registeredObject":{"x":3,"y":641.6999931335449,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2217}},"2218":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2218}},"2219":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2219}},"2220":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":641.6999931335449,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2220}},"2221":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2221}},"2222":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2222}},"2223":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2223}},"2224":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2224}},"2225":{"registeredObject":{"textString":"Scripting.js (not parsed)","savedTextString":"Scripting.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2226}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"245:TextMorph","origin":{"__isSmartRef__":true,"id":2231},"shape":{"__isSmartRef__":true,"id":2232},"textContent":{"__isSmartRef__":true,"id":2233},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2234},"textSelection":{"__isSmartRef__":true,"id":2226},"priorExtent":{"__isSmartRef__":true,"id":2235},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2236},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2237},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2238},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"245:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,659.3999929428101)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2225}},"2226":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2225},"_livelyDataWrapperId_":"247:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2227},"shape":{"__isSmartRef__":true,"id":2228},"priorExtent":{"__isSmartRef__":true,"id":2229},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2230},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"247:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2226}},"2227":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2227}},"2228":{"registeredObject":{"_livelyDataWrapperId_":"246:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"246:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2228}},"2229":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2229}},"2230":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2230}},"2231":{"registeredObject":{"x":3,"y":659.3999929428101,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2231}},"2232":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2232}},"2233":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2233}},"2234":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":659.3999929428101,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2234}},"2235":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2235}},"2236":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2236}},"2237":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2237}},"2238":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2238}},"2239":{"registeredObject":{"textString":"SerializationRefactoring.js (not parsed)","savedTextString":"SerializationRefactoring.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2240}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"248:TextMorph","origin":{"__isSmartRef__":true,"id":2245},"shape":{"__isSmartRef__":true,"id":2246},"textContent":{"__isSmartRef__":true,"id":2247},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2248},"textSelection":{"__isSmartRef__":true,"id":2240},"priorExtent":{"__isSmartRef__":true,"id":2249},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2250},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2251},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2252},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"248:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,677.0999927520752)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2239}},"2240":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2239},"_livelyDataWrapperId_":"250:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2241},"shape":{"__isSmartRef__":true,"id":2242},"priorExtent":{"__isSmartRef__":true,"id":2243},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2244},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"250:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2240}},"2241":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2241}},"2242":{"registeredObject":{"_livelyDataWrapperId_":"249:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"249:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2242}},"2243":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2243}},"2244":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2244}},"2245":{"registeredObject":{"x":3,"y":677.0999927520752,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2245}},"2246":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2246}},"2247":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2247}},"2248":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":677.0999927520752,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2248}},"2249":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2249}},"2250":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2250}},"2251":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2251}},"2252":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2252}},"2253":{"registeredObject":{"textString":"simpleMain.js (not parsed)","savedTextString":"simpleMain.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2254}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"251:TextMorph","origin":{"__isSmartRef__":true,"id":2259},"shape":{"__isSmartRef__":true,"id":2260},"textContent":{"__isSmartRef__":true,"id":2261},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2262},"textSelection":{"__isSmartRef__":true,"id":2254},"priorExtent":{"__isSmartRef__":true,"id":2263},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2264},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2265},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2266},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"251:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,694.7999925613403)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2253}},"2254":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2253},"_livelyDataWrapperId_":"253:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2255},"shape":{"__isSmartRef__":true,"id":2256},"priorExtent":{"__isSmartRef__":true,"id":2257},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2258},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"253:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2254}},"2255":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2255}},"2256":{"registeredObject":{"_livelyDataWrapperId_":"252:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"252:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2256}},"2257":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2257}},"2258":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2258}},"2259":{"registeredObject":{"x":3,"y":694.7999925613403,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2259}},"2260":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2260}},"2261":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2261}},"2262":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":694.7999925613403,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2262}},"2263":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2263}},"2264":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2264}},"2265":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2265}},"2266":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2266}},"2267":{"registeredObject":{"textString":"SmalltalkParser.js (not parsed)","savedTextString":"SmalltalkParser.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2268}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"254:TextMorph","origin":{"__isSmartRef__":true,"id":2273},"shape":{"__isSmartRef__":true,"id":2274},"textContent":{"__isSmartRef__":true,"id":2275},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2276},"textSelection":{"__isSmartRef__":true,"id":2268},"priorExtent":{"__isSmartRef__":true,"id":2277},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2278},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2279},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2280},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"254:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,712.4999923706055)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2267}},"2268":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2267},"_livelyDataWrapperId_":"256:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2269},"shape":{"__isSmartRef__":true,"id":2270},"priorExtent":{"__isSmartRef__":true,"id":2271},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2272},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"256:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2268}},"2269":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2269}},"2270":{"registeredObject":{"_livelyDataWrapperId_":"255:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"255:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2270}},"2271":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2271}},"2272":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2272}},"2273":{"registeredObject":{"x":3,"y":712.4999923706055,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2273}},"2274":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2274}},"2275":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2275}},"2276":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":712.4999923706055,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2276}},"2277":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2277}},"2278":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2278}},"2279":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2279}},"2280":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2280}},"2281":{"registeredObject":{"textString":"SmalltalkParser.ometa (not parsed)","savedTextString":"SmalltalkParser.ometa (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2282}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"257:TextMorph","origin":{"__isSmartRef__":true,"id":2287},"shape":{"__isSmartRef__":true,"id":2288},"textContent":{"__isSmartRef__":true,"id":2289},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2290},"textSelection":{"__isSmartRef__":true,"id":2282},"priorExtent":{"__isSmartRef__":true,"id":2291},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2292},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2293},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2294},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"257:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,730.1999921798706)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2281}},"2282":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2281},"_livelyDataWrapperId_":"259:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2283},"shape":{"__isSmartRef__":true,"id":2284},"priorExtent":{"__isSmartRef__":true,"id":2285},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2286},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"259:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2282}},"2283":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2283}},"2284":{"registeredObject":{"_livelyDataWrapperId_":"258:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"258:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2284}},"2285":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2285}},"2286":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2286}},"2287":{"registeredObject":{"x":3,"y":730.1999921798706,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2287}},"2288":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2288}},"2289":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2289}},"2290":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":730.1999921798706,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2290}},"2291":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2291}},"2292":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2292}},"2293":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2293}},"2294":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2294}},"2295":{"registeredObject":{"textString":"SmalltalkParserSupport.js (not parsed)","savedTextString":"SmalltalkParserSupport.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2296}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"260:TextMorph","origin":{"__isSmartRef__":true,"id":2301},"shape":{"__isSmartRef__":true,"id":2302},"textContent":{"__isSmartRef__":true,"id":2303},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2304},"textSelection":{"__isSmartRef__":true,"id":2296},"priorExtent":{"__isSmartRef__":true,"id":2305},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2306},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2307},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2308},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"260:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,747.8999919891357)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2295}},"2296":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2295},"_livelyDataWrapperId_":"262:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2297},"shape":{"__isSmartRef__":true,"id":2298},"priorExtent":{"__isSmartRef__":true,"id":2299},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2300},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"262:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2296}},"2297":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2297}},"2298":{"registeredObject":{"_livelyDataWrapperId_":"261:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"261:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2298}},"2299":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2299}},"2300":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2300}},"2301":{"registeredObject":{"x":3,"y":747.8999919891357,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2301}},"2302":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2302}},"2303":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2303}},"2304":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":747.8999919891357,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2304}},"2305":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2305}},"2306":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2306}},"2307":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2307}},"2308":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2308}},"2309":{"registeredObject":{"textString":"SmartRefSerialization.js (not parsed)","savedTextString":"SmartRefSerialization.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2310}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"263:TextMorph","origin":{"__isSmartRef__":true,"id":2315},"shape":{"__isSmartRef__":true,"id":2316},"textContent":{"__isSmartRef__":true,"id":2317},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2318},"textSelection":{"__isSmartRef__":true,"id":2310},"priorExtent":{"__isSmartRef__":true,"id":2319},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2320},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2321},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2322},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"263:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,765.5999917984009)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2309}},"2310":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2309},"_livelyDataWrapperId_":"265:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2311},"shape":{"__isSmartRef__":true,"id":2312},"priorExtent":{"__isSmartRef__":true,"id":2313},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2314},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"265:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2310}},"2311":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2311}},"2312":{"registeredObject":{"_livelyDataWrapperId_":"264:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"264:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2312}},"2313":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2313}},"2314":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2314}},"2315":{"registeredObject":{"x":3,"y":765.5999917984009,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2315}},"2316":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2316}},"2317":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2317}},"2318":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":765.5999917984009,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2318}},"2319":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2319}},"2320":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2320}},"2321":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2321}},"2322":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2322}},"2323":{"registeredObject":{"textString":"SpellChecker.js (not parsed)","savedTextString":"SpellChecker.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2324}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"266:TextMorph","origin":{"__isSmartRef__":true,"id":2329},"shape":{"__isSmartRef__":true,"id":2330},"textContent":{"__isSmartRef__":true,"id":2331},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2332},"textSelection":{"__isSmartRef__":true,"id":2324},"priorExtent":{"__isSmartRef__":true,"id":2333},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2334},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2335},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2336},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"266:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,783.299991607666)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2323}},"2324":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2323},"_livelyDataWrapperId_":"268:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2325},"shape":{"__isSmartRef__":true,"id":2326},"priorExtent":{"__isSmartRef__":true,"id":2327},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2328},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"268:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2324}},"2325":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2325}},"2326":{"registeredObject":{"_livelyDataWrapperId_":"267:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"267:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2326}},"2327":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2327}},"2328":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2328}},"2329":{"registeredObject":{"x":3,"y":783.299991607666,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2329}},"2330":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2330}},"2331":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2331}},"2332":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":783.299991607666,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2332}},"2333":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2333}},"2334":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2334}},"2335":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2335}},"2336":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2336}},"2337":{"registeredObject":{"textString":"Storage.js (not parsed)","savedTextString":"Storage.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2338}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"269:TextMorph","origin":{"__isSmartRef__":true,"id":2343},"shape":{"__isSmartRef__":true,"id":2344},"textContent":{"__isSmartRef__":true,"id":2345},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2346},"textSelection":{"__isSmartRef__":true,"id":2338},"priorExtent":{"__isSmartRef__":true,"id":2347},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2348},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2349},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2350},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"269:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,800.9999914169312)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2337}},"2338":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2337},"_livelyDataWrapperId_":"271:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2339},"shape":{"__isSmartRef__":true,"id":2340},"priorExtent":{"__isSmartRef__":true,"id":2341},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2342},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"271:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2338}},"2339":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2339}},"2340":{"registeredObject":{"_livelyDataWrapperId_":"270:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"270:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2340}},"2341":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2341}},"2342":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2342}},"2343":{"registeredObject":{"x":3,"y":800.9999914169312,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2343}},"2344":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2344}},"2345":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2345}},"2346":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":800.9999914169312,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2346}},"2347":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2347}},"2348":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2348}},"2349":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2349}},"2350":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2350}},"2351":{"registeredObject":{"textString":"Styles.js (not parsed)","savedTextString":"Styles.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2352}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"272:TextMorph","origin":{"__isSmartRef__":true,"id":2357},"shape":{"__isSmartRef__":true,"id":2358},"textContent":{"__isSmartRef__":true,"id":2359},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2360},"textSelection":{"__isSmartRef__":true,"id":2352},"priorExtent":{"__isSmartRef__":true,"id":2361},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2362},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2363},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2364},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"272:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,818.6999912261963)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2351}},"2352":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2351},"_livelyDataWrapperId_":"274:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2353},"shape":{"__isSmartRef__":true,"id":2354},"priorExtent":{"__isSmartRef__":true,"id":2355},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2356},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"274:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2352}},"2353":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2353}},"2354":{"registeredObject":{"_livelyDataWrapperId_":"273:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"273:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2354}},"2355":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2355}},"2356":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2356}},"2357":{"registeredObject":{"x":3,"y":818.6999912261963,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2357}},"2358":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2358}},"2359":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2359}},"2360":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":818.6999912261963,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2360}},"2361":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2361}},"2362":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2362}},"2363":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2363}},"2364":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2364}},"2365":{"registeredObject":{"textString":"SyntaxHighlighting.js (not parsed)","savedTextString":"SyntaxHighlighting.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2366}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"275:TextMorph","origin":{"__isSmartRef__":true,"id":2371},"shape":{"__isSmartRef__":true,"id":2372},"textContent":{"__isSmartRef__":true,"id":2373},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2374},"textSelection":{"__isSmartRef__":true,"id":2366},"priorExtent":{"__isSmartRef__":true,"id":2375},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2376},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2377},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2378},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"275:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,836.3999910354614)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2365}},"2366":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2365},"_livelyDataWrapperId_":"277:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2367},"shape":{"__isSmartRef__":true,"id":2368},"priorExtent":{"__isSmartRef__":true,"id":2369},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2370},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"277:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2366}},"2367":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2367}},"2368":{"registeredObject":{"_livelyDataWrapperId_":"276:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"276:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2368}},"2369":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2369}},"2370":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2370}},"2371":{"registeredObject":{"x":3,"y":836.3999910354614,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2371}},"2372":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2372}},"2373":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2373}},"2374":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":836.3999910354614,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2374}},"2375":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2375}},"2376":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2376}},"2377":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2377}},"2378":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2378}},"2379":{"registeredObject":{"textString":"TabCompletion.js (not parsed)","savedTextString":"TabCompletion.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2380}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"278:TextMorph","origin":{"__isSmartRef__":true,"id":2385},"shape":{"__isSmartRef__":true,"id":2386},"textContent":{"__isSmartRef__":true,"id":2387},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2388},"textSelection":{"__isSmartRef__":true,"id":2380},"priorExtent":{"__isSmartRef__":true,"id":2389},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2390},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2391},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2392},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"278:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,854.0999908447266)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2379}},"2380":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2379},"_livelyDataWrapperId_":"280:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2381},"shape":{"__isSmartRef__":true,"id":2382},"priorExtent":{"__isSmartRef__":true,"id":2383},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2384},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"280:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2380}},"2381":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2381}},"2382":{"registeredObject":{"_livelyDataWrapperId_":"279:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"279:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2382}},"2383":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2383}},"2384":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2384}},"2385":{"registeredObject":{"x":3,"y":854.0999908447266,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2385}},"2386":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2386}},"2387":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2387}},"2388":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":854.0999908447266,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2388}},"2389":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2389}},"2390":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2390}},"2391":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2391}},"2392":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2392}},"2393":{"registeredObject":{"textString":"TestFramework.js (not parsed)","savedTextString":"TestFramework.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2394}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"281:TextMorph","origin":{"__isSmartRef__":true,"id":2399},"shape":{"__isSmartRef__":true,"id":2400},"textContent":{"__isSmartRef__":true,"id":2401},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2402},"textSelection":{"__isSmartRef__":true,"id":2394},"priorExtent":{"__isSmartRef__":true,"id":2403},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2404},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2405},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2406},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"281:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,871.7999906539917)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2393}},"2394":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2393},"_livelyDataWrapperId_":"283:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2395},"shape":{"__isSmartRef__":true,"id":2396},"priorExtent":{"__isSmartRef__":true,"id":2397},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2398},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"283:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2394}},"2395":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2395}},"2396":{"registeredObject":{"_livelyDataWrapperId_":"282:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"282:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2396}},"2397":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2397}},"2398":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2398}},"2399":{"registeredObject":{"x":3,"y":871.7999906539917,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2399}},"2400":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2400}},"2401":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2401}},"2402":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":871.7999906539917,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2402}},"2403":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2403}},"2404":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2404}},"2405":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2405}},"2406":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2406}},"2407":{"registeredObject":{"textString":"TestRunnerExtensions.js (not parsed)","savedTextString":"TestRunnerExtensions.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2408}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"284:TextMorph","origin":{"__isSmartRef__":true,"id":2413},"shape":{"__isSmartRef__":true,"id":2414},"textContent":{"__isSmartRef__":true,"id":2415},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2416},"textSelection":{"__isSmartRef__":true,"id":2408},"priorExtent":{"__isSmartRef__":true,"id":2417},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2418},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2419},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2420},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"284:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,889.4999904632568)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2407}},"2408":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2407},"_livelyDataWrapperId_":"286:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2409},"shape":{"__isSmartRef__":true,"id":2410},"priorExtent":{"__isSmartRef__":true,"id":2411},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2412},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"286:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2408}},"2409":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2409}},"2410":{"registeredObject":{"_livelyDataWrapperId_":"285:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"285:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2410}},"2411":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2411}},"2412":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2412}},"2413":{"registeredObject":{"x":3,"y":889.4999904632568,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2413}},"2414":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2414}},"2415":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2415}},"2416":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":889.4999904632568,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2416}},"2417":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2417}},"2418":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2418}},"2419":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2419}},"2420":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2420}},"2421":{"registeredObject":{"textString":"Text.js (not parsed)","savedTextString":"Text.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2422}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"287:TextMorph","origin":{"__isSmartRef__":true,"id":2427},"shape":{"__isSmartRef__":true,"id":2428},"textContent":{"__isSmartRef__":true,"id":2429},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2430},"textSelection":{"__isSmartRef__":true,"id":2422},"priorExtent":{"__isSmartRef__":true,"id":2431},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2432},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2433},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2434},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"287:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,907.199990272522)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2421}},"2422":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2421},"_livelyDataWrapperId_":"289:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2423},"shape":{"__isSmartRef__":true,"id":2424},"priorExtent":{"__isSmartRef__":true,"id":2425},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2426},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"289:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2422}},"2423":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2423}},"2424":{"registeredObject":{"_livelyDataWrapperId_":"288:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"288:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2424}},"2425":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2425}},"2426":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2426}},"2427":{"registeredObject":{"x":3,"y":907.199990272522,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2427}},"2428":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2428}},"2429":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2429}},"2430":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":907.199990272522,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2430}},"2431":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2431}},"2432":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2432}},"2433":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2433}},"2434":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2434}},"2435":{"registeredObject":{"textString":"TileScripting.js (not parsed)","savedTextString":"TileScripting.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2436}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"290:TextMorph","origin":{"__isSmartRef__":true,"id":2441},"shape":{"__isSmartRef__":true,"id":2442},"textContent":{"__isSmartRef__":true,"id":2443},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2444},"textSelection":{"__isSmartRef__":true,"id":2436},"priorExtent":{"__isSmartRef__":true,"id":2445},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2446},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2447},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2448},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"290:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,924.8999900817871)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2435}},"2436":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2435},"_livelyDataWrapperId_":"292:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2437},"shape":{"__isSmartRef__":true,"id":2438},"priorExtent":{"__isSmartRef__":true,"id":2439},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2440},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"292:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2436}},"2437":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2437}},"2438":{"registeredObject":{"_livelyDataWrapperId_":"291:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"291:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2438}},"2439":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2439}},"2440":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2440}},"2441":{"registeredObject":{"x":3,"y":924.8999900817871,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2441}},"2442":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2442}},"2443":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2443}},"2444":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":924.8999900817871,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2444}},"2445":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2445}},"2446":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2446}},"2447":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2447}},"2448":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2448}},"2449":{"registeredObject":{"textString":"Tools.js (not parsed)","savedTextString":"Tools.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2450}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"293:TextMorph","origin":{"__isSmartRef__":true,"id":2455},"shape":{"__isSmartRef__":true,"id":2456},"textContent":{"__isSmartRef__":true,"id":2457},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2458},"textSelection":{"__isSmartRef__":true,"id":2450},"priorExtent":{"__isSmartRef__":true,"id":2459},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2460},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2461},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2462},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"293:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,942.5999898910522)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2449}},"2450":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2449},"_livelyDataWrapperId_":"295:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2451},"shape":{"__isSmartRef__":true,"id":2452},"priorExtent":{"__isSmartRef__":true,"id":2453},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2454},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"295:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2450}},"2451":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2451}},"2452":{"registeredObject":{"_livelyDataWrapperId_":"294:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"294:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2452}},"2453":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2453}},"2454":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2454}},"2455":{"registeredObject":{"x":3,"y":942.5999898910522,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2455}},"2456":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2456}},"2457":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2457}},"2458":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":942.5999898910522,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2458}},"2459":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2459}},"2460":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2460}},"2461":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2461}},"2462":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2462}},"2463":{"registeredObject":{"textString":"TouchSupport.js (not parsed)","savedTextString":"TouchSupport.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2464}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"296:TextMorph","origin":{"__isSmartRef__":true,"id":2469},"shape":{"__isSmartRef__":true,"id":2470},"textContent":{"__isSmartRef__":true,"id":2471},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2472},"textSelection":{"__isSmartRef__":true,"id":2464},"priorExtent":{"__isSmartRef__":true,"id":2473},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2474},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2475},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2476},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"296:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,960.2999897003174)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2463}},"2464":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2463},"_livelyDataWrapperId_":"298:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2465},"shape":{"__isSmartRef__":true,"id":2466},"priorExtent":{"__isSmartRef__":true,"id":2467},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2468},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"298:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2464}},"2465":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2465}},"2466":{"registeredObject":{"_livelyDataWrapperId_":"297:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"297:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2466}},"2467":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2467}},"2468":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2468}},"2469":{"registeredObject":{"x":3,"y":960.2999897003174,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2469}},"2470":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2470}},"2471":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2471}},"2472":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":960.2999897003174,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2472}},"2473":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2473}},"2474":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2474}},"2475":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2475}},"2476":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2476}},"2477":{"registeredObject":{"textString":"Undo.js (not parsed)","savedTextString":"Undo.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2478}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"299:TextMorph","origin":{"__isSmartRef__":true,"id":2483},"shape":{"__isSmartRef__":true,"id":2484},"textContent":{"__isSmartRef__":true,"id":2485},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2486},"textSelection":{"__isSmartRef__":true,"id":2478},"priorExtent":{"__isSmartRef__":true,"id":2487},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2488},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2489},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2490},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"299:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,977.9999895095825)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2477}},"2478":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2477},"_livelyDataWrapperId_":"301:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2479},"shape":{"__isSmartRef__":true,"id":2480},"priorExtent":{"__isSmartRef__":true,"id":2481},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2482},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"301:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2478}},"2479":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2479}},"2480":{"registeredObject":{"_livelyDataWrapperId_":"300:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"300:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2480}},"2481":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2481}},"2482":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2482}},"2483":{"registeredObject":{"x":3,"y":977.9999895095825,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2483}},"2484":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2484}},"2485":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2485}},"2486":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":977.9999895095825,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2486}},"2487":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2487}},"2488":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2488}},"2489":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2489}},"2490":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2490}},"2491":{"registeredObject":{"textString":"WebPIM.js (not parsed)","savedTextString":"WebPIM.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2492}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"302:TextMorph","origin":{"__isSmartRef__":true,"id":2497},"shape":{"__isSmartRef__":true,"id":2498},"textContent":{"__isSmartRef__":true,"id":2499},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2500},"textSelection":{"__isSmartRef__":true,"id":2492},"priorExtent":{"__isSmartRef__":true,"id":2501},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2502},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2503},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2504},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"302:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,995.6999893188477)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2491}},"2492":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2491},"_livelyDataWrapperId_":"304:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2493},"shape":{"__isSmartRef__":true,"id":2494},"priorExtent":{"__isSmartRef__":true,"id":2495},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2496},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"304:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2492}},"2493":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2493}},"2494":{"registeredObject":{"_livelyDataWrapperId_":"303:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"303:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2494}},"2495":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2495}},"2496":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2496}},"2497":{"registeredObject":{"x":3,"y":995.6999893188477,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2497}},"2498":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2498}},"2499":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2499}},"2500":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":995.6999893188477,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2500}},"2501":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2501}},"2502":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2502}},"2503":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2503}},"2504":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2504}},"2505":{"registeredObject":{"textString":"Widgets.js (not parsed)","savedTextString":"Widgets.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2506}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"305:TextMorph","origin":{"__isSmartRef__":true,"id":2511},"shape":{"__isSmartRef__":true,"id":2512},"textContent":{"__isSmartRef__":true,"id":2513},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2514},"textSelection":{"__isSmartRef__":true,"id":2506},"priorExtent":{"__isSmartRef__":true,"id":2515},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2516},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2517},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2518},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"305:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,1013.3999891281128)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2505}},"2506":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2505},"_livelyDataWrapperId_":"307:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2507},"shape":{"__isSmartRef__":true,"id":2508},"priorExtent":{"__isSmartRef__":true,"id":2509},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2510},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"307:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2506}},"2507":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2507}},"2508":{"registeredObject":{"_livelyDataWrapperId_":"306:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"306:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2508}},"2509":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2509}},"2510":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2510}},"2511":{"registeredObject":{"x":3,"y":1013.3999891281128,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2511}},"2512":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2512}},"2513":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2513}},"2514":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":1013.3999891281128,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2514}},"2515":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2515}},"2516":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2516}},"2517":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2517}},"2518":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2518}},"2519":{"registeredObject":{"textString":"WikiParser.js (not parsed)","savedTextString":"WikiParser.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2520}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"308:TextMorph","origin":{"__isSmartRef__":true,"id":2525},"shape":{"__isSmartRef__":true,"id":2526},"textContent":{"__isSmartRef__":true,"id":2527},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2528},"textSelection":{"__isSmartRef__":true,"id":2520},"priorExtent":{"__isSmartRef__":true,"id":2529},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2530},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2531},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2532},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"308:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,1031.099988937378)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2519}},"2520":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2519},"_livelyDataWrapperId_":"310:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2521},"shape":{"__isSmartRef__":true,"id":2522},"priorExtent":{"__isSmartRef__":true,"id":2523},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2524},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"310:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2520}},"2521":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2521}},"2522":{"registeredObject":{"_livelyDataWrapperId_":"309:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"309:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2522}},"2523":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2523}},"2524":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2524}},"2525":{"registeredObject":{"x":3,"y":1031.099988937378,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2525}},"2526":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2526}},"2527":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2527}},"2528":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":1031.099988937378,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2528}},"2529":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2529}},"2530":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2530}},"2531":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2531}},"2532":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2532}},"2533":{"registeredObject":{"textString":"WikiParser.ometa (not parsed)","savedTextString":"WikiParser.ometa (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2534}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"311:TextMorph","origin":{"__isSmartRef__":true,"id":2539},"shape":{"__isSmartRef__":true,"id":2540},"textContent":{"__isSmartRef__":true,"id":2541},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2542},"textSelection":{"__isSmartRef__":true,"id":2534},"priorExtent":{"__isSmartRef__":true,"id":2543},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2544},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2545},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2546},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"311:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,1048.799988746643)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2533}},"2534":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2533},"_livelyDataWrapperId_":"313:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2535},"shape":{"__isSmartRef__":true,"id":2536},"priorExtent":{"__isSmartRef__":true,"id":2537},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2538},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"313:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2534}},"2535":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2535}},"2536":{"registeredObject":{"_livelyDataWrapperId_":"312:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"312:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2536}},"2537":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2537}},"2538":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2538}},"2539":{"registeredObject":{"x":3,"y":1048.799988746643,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2539}},"2540":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2540}},"2541":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2541}},"2542":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":1048.799988746643,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2542}},"2543":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2543}},"2544":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2544}},"2545":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2545}},"2546":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2546}},"2547":{"registeredObject":{"textString":"WikiWidget.js (not parsed)","savedTextString":"WikiWidget.js (not parsed)","submorphs":[{"__isSmartRef__":true,"id":2548}],"owner":{"__isSmartRef__":true,"id":1703},"_livelyDataWrapperId_":"314:TextMorph","origin":{"__isSmartRef__":true,"id":2553},"shape":{"__isSmartRef__":true,"id":2554},"textContent":{"__isSmartRef__":true,"id":2555},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2556},"textSelection":{"__isSmartRef__":true,"id":2548},"priorExtent":{"__isSmartRef__":true,"id":2557},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2558},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2559},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2560},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"314:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,1066.4999885559082)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2547}},"2548":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2547},"_livelyDataWrapperId_":"316:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2549},"shape":{"__isSmartRef__":true,"id":2550},"priorExtent":{"__isSmartRef__":true,"id":2551},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2552},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"316:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2548}},"2549":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2549}},"2550":{"registeredObject":{"_livelyDataWrapperId_":"315:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"315:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2550}},"2551":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2551}},"2552":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2552}},"2553":{"registeredObject":{"x":3,"y":1066.4999885559082,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2553}},"2554":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2554}},"2555":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2555}},"2556":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":1066.4999885559082,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2556}},"2557":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2557}},"2558":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2558}},"2559":{"registeredObject":{"target":{"__isSmartRef__":true,"id":1703},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2559}},"2560":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2560}},"2561":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":1703}],"owner":{"__isSmartRef__":true,"id":2562},"_livelyDataWrapperId_":"86:ClipMorph","origin":{"__isSmartRef__":true,"id":2609},"shape":{"__isSmartRef__":true,"id":2610},"priorExtent":{"__isSmartRef__":true,"id":2612},"clip":{"__isSmartRef__":true,"id":2613},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":2615},"suppressHandles":true,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"86:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#87:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2561}},"2562":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":2561},{"__isSmartRef__":true,"id":2563},{"__isSmartRef__":true,"id":2577}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"85:ScrollPane","origin":{"__isSmartRef__":true,"id":2604},"shape":{"__isSmartRef__":true,"id":2605},"priorExtent":{"__isSmartRef__":true,"id":2606},"pvtCachedTransform":{"__isSmartRef__":true,"id":2607},"clipMorph":{"__isSmartRef__":true,"id":2561},"verticalScrollBar":{"__isSmartRef__":true,"id":2563},"attributeConnections":[{"__isSmartRef__":true,"id":2608}],"suppressHandles":true,"menuButton":{"__isSmartRef__":true,"id":2577},"__LivelyClassName__":"ScrollPane","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ScrollPane","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"85:ScrollPane","namespaceURI":null},{"key":"transform","value":"translate(0,27.5)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2562}},"2563":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":2564}],"owner":{"__isSmartRef__":true,"id":2562},"_livelyDataWrapperId_":"88:SliderMorph","origin":{"__isSmartRef__":true,"id":2571},"shape":{"__isSmartRef__":true,"id":2572},"priorExtent":{"__isSmartRef__":true,"id":2573},"value":0,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":2574},"slider":{"__isSmartRef__":true,"id":2564},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":2575},{"__isSmartRef__":true,"id":2576}],"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"88:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(190.5,14.5)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2563}},"2564":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2563},"_livelyDataWrapperId_":"89:Morph","origin":{"__isSmartRef__":true,"id":2565},"shape":{"__isSmartRef__":true,"id":2566},"priorExtent":{"__isSmartRef__":true,"id":2567},"pvtCachedTransform":{"__isSmartRef__":true,"id":2568},"mouseHandler":{"__isSmartRef__":true,"id":2569},"styleClass":["slider"],"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"89:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2564}},"2565":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2565}},"2566":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"31.9901","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2566}},"2567":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2567}},"2568":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2568}},"2569":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2563},"eventSpec":{"__isSmartRef__":true,"id":2570},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2569}},"2570":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":2570}},"2571":{"registeredObject":{"x":190.5,"y":14.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2571}},"2572":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"178.5","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2572}},"2573":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2573}},"2574":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":190.5,"f":14.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2574}},"2575":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":2563},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":2562},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":2575}},"2576":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":2563},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":2562},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":2576}},"2577":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":2578},{"__isSmartRef__":true,"id":2583},{"__isSmartRef__":true,"id":2588},{"__isSmartRef__":true,"id":2593}],"owner":{"__isSmartRef__":true,"id":2562},"_livelyDataWrapperId_":"317:Morph","origin":{"__isSmartRef__":true,"id":2598},"shape":{"__isSmartRef__":true,"id":2599},"priorExtent":{"__isSmartRef__":true,"id":2600},"pvtCachedTransform":{"__isSmartRef__":true,"id":2601},"suppressHandles":true,"mouseHandler":{"__isSmartRef__":true,"id":2602},"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"317:Morph","namespaceURI":null},{"key":"transform","value":"translate(191,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2577}},"2578":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2577},"_livelyDataWrapperId_":"318:Morph","origin":{"__isSmartRef__":true,"id":2579},"shape":{"__isSmartRef__":true,"id":2580},"priorExtent":{"__isSmartRef__":true,"id":2581},"pvtCachedTransform":{"__isSmartRef__":true,"id":2582},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"318:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2578}},"2579":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2579}},"2580":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 4 8 4","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2580}},"2581":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2581}},"2582":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2582}},"2583":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2577},"_livelyDataWrapperId_":"319:Morph","origin":{"__isSmartRef__":true,"id":2584},"shape":{"__isSmartRef__":true,"id":2585},"priorExtent":{"__isSmartRef__":true,"id":2586},"pvtCachedTransform":{"__isSmartRef__":true,"id":2587},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"319:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2583}},"2584":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2584}},"2585":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 6 4 6","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2585}},"2586":{"registeredObject":{"x":2,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2586}},"2587":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2587}},"2588":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2577},"_livelyDataWrapperId_":"320:Morph","origin":{"__isSmartRef__":true,"id":2589},"shape":{"__isSmartRef__":true,"id":2590},"priorExtent":{"__isSmartRef__":true,"id":2591},"pvtCachedTransform":{"__isSmartRef__":true,"id":2592},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"320:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2588}},"2589":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2589}},"2590":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 8 6 8","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2590}},"2591":{"registeredObject":{"x":4,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2591}},"2592":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2592}},"2593":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2577},"_livelyDataWrapperId_":"321:Morph","origin":{"__isSmartRef__":true,"id":2594},"shape":{"__isSmartRef__":true,"id":2595},"priorExtent":{"__isSmartRef__":true,"id":2596},"pvtCachedTransform":{"__isSmartRef__":true,"id":2597},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"321:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2593}},"2594":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2594}},"2595":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 10 8 10","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2595}},"2596":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2596}},"2597":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2597}},"2598":{"registeredObject":{"x":191,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2598}},"2599":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"14","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2599}},"2600":{"registeredObject":{"x":14,"y":14,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2600}},"2601":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":191,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2601}},"2602":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2562},"eventSpec":{"__isSmartRef__":true,"id":2603},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2602}},"2603":{"registeredObject":{"onMouseDown":"menuButtonPressed"},"ref":{"__isSmartRef__":true,"id":2603}},"2604":{"registeredObject":{"x":0,"y":27.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2604}},"2605":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"192.5","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2605}},"2606":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2606}},"2607":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":27.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2607}},"2608":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":2562},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":2563},"targetMethodName":"setValue","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":2608}},"2609":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2609}},"2610":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2610}},"2611":{"registeredObject":{"r":1,"g":1,"b":1,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2611}},"2612":{"registeredObject":{"x":203,"y":190.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2612}},"2613":{"registeredObject":{"_livelyDataWrapperId_":"87:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":2614},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"87:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2613}},"2614":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2614}},"2615":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2615}},"2616":{"registeredObject":{"x":1,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2616}},"2617":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2617}},"2618":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2618}},"2619":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2619}},"2620":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":220},"__SourceModuleName__":"Global","definition":"{\"List\":\"-Pane1Content\",\"Selection\":\"Pane1Selection\",\"Menu\":\"-Pane1Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":2620}},"2621":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":2622},"__SourceModuleName__":"Global","definition":"{\"Pane2Content\":\"!List\",\"Pane2Selection\":\"!Selection\",\"Pane2Menu\":\"!Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":2621}},"2622":{"registeredObject":{"baseWidth":208,"textStyle":null,"submorphs":[{"__isSmartRef__":true,"id":2623},{"__isSmartRef__":true,"id":2637},{"__isSmartRef__":true,"id":2651},{"__isSmartRef__":true,"id":2665},{"__isSmartRef__":true,"id":2679},{"__isSmartRef__":true,"id":2693},{"__isSmartRef__":true,"id":2707},{"__isSmartRef__":true,"id":2721},{"__isSmartRef__":true,"id":2735},{"__isSmartRef__":true,"id":2749},{"__isSmartRef__":true,"id":2763},{"__isSmartRef__":true,"id":2777},{"__isSmartRef__":true,"id":2791},{"__isSmartRef__":true,"id":2805},{"__isSmartRef__":true,"id":2819},{"__isSmartRef__":true,"id":2833},{"__isSmartRef__":true,"id":2847},{"__isSmartRef__":true,"id":2861},{"__isSmartRef__":true,"id":2875},{"__isSmartRef__":true,"id":2889},{"__isSmartRef__":true,"id":2903},{"__isSmartRef__":true,"id":2917},{"__isSmartRef__":true,"id":2931},{"__isSmartRef__":true,"id":2945},{"__isSmartRef__":true,"id":2959},{"__isSmartRef__":true,"id":2973},{"__isSmartRef__":true,"id":2987},{"__isSmartRef__":true,"id":3001},{"__isSmartRef__":true,"id":3015},{"__isSmartRef__":true,"id":3029},{"__isSmartRef__":true,"id":3043},{"__isSmartRef__":true,"id":3057},{"__isSmartRef__":true,"id":3071},{"__isSmartRef__":true,"id":3085},{"__isSmartRef__":true,"id":3099},{"__isSmartRef__":true,"id":3113},{"__isSmartRef__":true,"id":3128},{"__isSmartRef__":true,"id":3142},{"__isSmartRef__":true,"id":3156},{"__isSmartRef__":true,"id":3170},{"__isSmartRef__":true,"id":3184},{"__isSmartRef__":true,"id":3198},{"__isSmartRef__":true,"id":3212},{"__isSmartRef__":true,"id":3226},{"__isSmartRef__":true,"id":3240},{"__isSmartRef__":true,"id":3254},{"__isSmartRef__":true,"id":3268},{"__isSmartRef__":true,"id":3282},{"__isSmartRef__":true,"id":3296},{"__isSmartRef__":true,"id":3310},{"__isSmartRef__":true,"id":3324},{"__isSmartRef__":true,"id":3338},{"__isSmartRef__":true,"id":3352},{"__isSmartRef__":true,"id":3366},{"__isSmartRef__":true,"id":3380},{"__isSmartRef__":true,"id":3394}],"owner":{"__isSmartRef__":true,"id":3408},"_livelyDataWrapperId_":"90:FilterableListMorph","origin":{"__isSmartRef__":true,"id":3463},"shape":{"__isSmartRef__":true,"id":3464},"priorExtent":{"__isSmartRef__":true,"id":3465},"itemList":[{"__isSmartRef__":true,"id":1271},{"__isSmartRef__":true,"id":1273},{"__isSmartRef__":true,"id":1275},{"__isSmartRef__":true,"id":1277},{"__isSmartRef__":true,"id":1279},{"__isSmartRef__":true,"id":1281},{"__isSmartRef__":true,"id":1283},{"__isSmartRef__":true,"id":1285},{"__isSmartRef__":true,"id":1287},{"__isSmartRef__":true,"id":1289},{"__isSmartRef__":true,"id":1291},{"__isSmartRef__":true,"id":1293},{"__isSmartRef__":true,"id":1295},{"__isSmartRef__":true,"id":1297},{"__isSmartRef__":true,"id":1299},{"__isSmartRef__":true,"id":1301},{"__isSmartRef__":true,"id":1303},{"__isSmartRef__":true,"id":1305},{"__isSmartRef__":true,"id":1307},{"__isSmartRef__":true,"id":1309},{"__isSmartRef__":true,"id":1311},{"__isSmartRef__":true,"id":1313},{"__isSmartRef__":true,"id":1315},{"__isSmartRef__":true,"id":1317},{"__isSmartRef__":true,"id":1319},{"__isSmartRef__":true,"id":1321},{"__isSmartRef__":true,"id":1323},{"__isSmartRef__":true,"id":1325},{"__isSmartRef__":true,"id":1327},{"__isSmartRef__":true,"id":1329},{"__isSmartRef__":true,"id":1331},{"__isSmartRef__":true,"id":1333},{"__isSmartRef__":true,"id":1335},{"__isSmartRef__":true,"id":1337},{"__isSmartRef__":true,"id":1339},{"__isSmartRef__":true,"id":1341},{"__isSmartRef__":true,"id":1343},{"__isSmartRef__":true,"id":1345},{"__isSmartRef__":true,"id":1347},{"__isSmartRef__":true,"id":1349},{"__isSmartRef__":true,"id":1351},{"__isSmartRef__":true,"id":1353},{"__isSmartRef__":true,"id":1355},{"__isSmartRef__":true,"id":1357},{"__isSmartRef__":true,"id":1359},{"__isSmartRef__":true,"id":1361},{"__isSmartRef__":true,"id":1363},{"__isSmartRef__":true,"id":1365},{"__isSmartRef__":true,"id":1367},{"__isSmartRef__":true,"id":1369},{"__isSmartRef__":true,"id":1371},{"__isSmartRef__":true,"id":1373},{"__isSmartRef__":true,"id":1375},{"__isSmartRef__":true,"id":1377},{"__isSmartRef__":true,"id":1379},{"__isSmartRef__":true,"id":1381}],"selectedLineNo":35,"selection":{"__isSmartRef__":true,"id":1342},"pvtCachedTransform":{"__isSmartRef__":true,"id":3466},"savedFill":null,"suppressHandles":true,"formalModel":{"__isSmartRef__":true,"id":3467},"savedTextColor":{"__isSmartRef__":true,"id":66},"hasKeyboardFocus":false,"dragItem":null,"__LivelyClassName__":"FilterableListMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"FilterableListMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"90:FilterableListMorph","namespaceURI":null},{"key":"transform","value":"translate(1,-549.4093126983643)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2622}},"2623":{"registeredObject":{"textString":"Global (extension)","savedTextString":"-----","submorphs":[{"__isSmartRef__":true,"id":2624}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"91:TextMorph","origin":{"__isSmartRef__":true,"id":2629},"shape":{"__isSmartRef__":true,"id":2630},"textContent":{"__isSmartRef__":true,"id":2631},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2632},"textSelection":{"__isSmartRef__":true,"id":2624},"priorExtent":{"__isSmartRef__":true,"id":2633},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2634},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2635},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2636},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"91:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,4.5)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2623}},"2624":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2623},"_livelyDataWrapperId_":"93:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2625},"shape":{"__isSmartRef__":true,"id":2626},"priorExtent":{"__isSmartRef__":true,"id":2627},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2628},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"93:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2624}},"2625":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2625}},"2626":{"registeredObject":{"_livelyDataWrapperId_":"92:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"92:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2626}},"2627":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2627}},"2628":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2628}},"2629":{"registeredObject":{"x":3,"y":4.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2629}},"2630":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2630}},"2631":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2631}},"2632":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":4.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2632}},"2633":{"registeredObject":{"x":193,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2633}},"2634":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2634}},"2635":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2635}},"2636":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2636}},"2637":{"registeredObject":{"textString":"testModuleLoad (function)","savedTextString":"testModuleLoad (function)","submorphs":[{"__isSmartRef__":true,"id":2638}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"385:TextMorph","origin":{"__isSmartRef__":true,"id":2643},"shape":{"__isSmartRef__":true,"id":2644},"textContent":{"__isSmartRef__":true,"id":2645},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2646},"textSelection":{"__isSmartRef__":true,"id":2638},"priorExtent":{"__isSmartRef__":true,"id":2647},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2648},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2649},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2650},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"385:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,22.199999809265137)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2637}},"2638":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2637},"_livelyDataWrapperId_":"387:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2639},"shape":{"__isSmartRef__":true,"id":2640},"priorExtent":{"__isSmartRef__":true,"id":2641},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2642},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"387:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2638}},"2639":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2639}},"2640":{"registeredObject":{"_livelyDataWrapperId_":"386:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"386:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2640}},"2641":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2641}},"2642":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2642}},"2643":{"registeredObject":{"x":3,"y":22.199999809265137,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2643}},"2644":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2644}},"2645":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2645}},"2646":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":22.199999809265137,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2646}},"2647":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2647}},"2648":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2648}},"2649":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2649}},"2650":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2650}},"2651":{"registeredObject":{"textString":"Global (extension)","savedTextString":"Global (extension)","submorphs":[{"__isSmartRef__":true,"id":2652}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"388:TextMorph","origin":{"__isSmartRef__":true,"id":2657},"shape":{"__isSmartRef__":true,"id":2658},"textContent":{"__isSmartRef__":true,"id":2659},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2660},"textSelection":{"__isSmartRef__":true,"id":2652},"priorExtent":{"__isSmartRef__":true,"id":2661},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2662},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2663},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2664},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"388:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,39.89999961853027)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2651}},"2652":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2651},"_livelyDataWrapperId_":"390:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2653},"shape":{"__isSmartRef__":true,"id":2654},"priorExtent":{"__isSmartRef__":true,"id":2655},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2656},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"390:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2652}},"2653":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2653}},"2654":{"registeredObject":{"_livelyDataWrapperId_":"389:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"389:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2654}},"2655":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2655}},"2656":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2656}},"2657":{"registeredObject":{"x":3,"y":39.89999961853027,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2657}},"2658":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2658}},"2659":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2659}},"2660":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":39.89999961853027,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2660}},"2661":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2661}},"2662":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2662}},"2663":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2663}},"2664":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2664}},"2665":{"registeredObject":{"textString":"configFromURL (function)","savedTextString":"configFromURL (function)","submorphs":[{"__isSmartRef__":true,"id":2666}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"391:TextMorph","origin":{"__isSmartRef__":true,"id":2671},"shape":{"__isSmartRef__":true,"id":2672},"textContent":{"__isSmartRef__":true,"id":2673},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2674},"textSelection":{"__isSmartRef__":true,"id":2666},"priorExtent":{"__isSmartRef__":true,"id":2675},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2676},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2677},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2678},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"391:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,57.59999942779541)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2665}},"2666":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2665},"_livelyDataWrapperId_":"393:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2667},"shape":{"__isSmartRef__":true,"id":2668},"priorExtent":{"__isSmartRef__":true,"id":2669},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2670},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"393:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2666}},"2667":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2667}},"2668":{"registeredObject":{"_livelyDataWrapperId_":"392:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"392:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2668}},"2669":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2669}},"2670":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2670}},"2671":{"registeredObject":{"x":3,"y":57.59999942779541,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2671}},"2672":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2672}},"2673":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2673}},"2674":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":57.59999942779541,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2674}},"2675":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2675}},"2676":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2676}},"2677":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2677}},"2678":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2678}},"2679":{"registeredObject":{"textString":"Global.Namespace (object)","savedTextString":"Global.Namespace (object)","submorphs":[{"__isSmartRef__":true,"id":2680}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"394:TextMorph","origin":{"__isSmartRef__":true,"id":2685},"shape":{"__isSmartRef__":true,"id":2686},"textContent":{"__isSmartRef__":true,"id":2687},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2688},"textSelection":{"__isSmartRef__":true,"id":2680},"priorExtent":{"__isSmartRef__":true,"id":2689},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2690},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2691},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2692},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"394:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,75.29999923706055)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2679}},"2680":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2679},"_livelyDataWrapperId_":"396:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2681},"shape":{"__isSmartRef__":true,"id":2682},"priorExtent":{"__isSmartRef__":true,"id":2683},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2684},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"396:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2680}},"2681":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2681}},"2682":{"registeredObject":{"_livelyDataWrapperId_":"395:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"395:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2682}},"2683":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2683}},"2684":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2684}},"2685":{"registeredObject":{"x":3,"y":75.29999923706055,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2685}},"2686":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2686}},"2687":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2687}},"2688":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":75.29999923706055,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2688}},"2689":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2689}},"2690":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2690}},"2691":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2691}},"2692":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2692}},"2693":{"registeredObject":{"textString":"Global.Converter (object)","savedTextString":"Global.Converter (object)","submorphs":[{"__isSmartRef__":true,"id":2694}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"397:TextMorph","origin":{"__isSmartRef__":true,"id":2699},"shape":{"__isSmartRef__":true,"id":2700},"textContent":{"__isSmartRef__":true,"id":2701},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2702},"textSelection":{"__isSmartRef__":true,"id":2694},"priorExtent":{"__isSmartRef__":true,"id":2703},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2704},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2705},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2706},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"397:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,92.99999904632568)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2693}},"2694":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2693},"_livelyDataWrapperId_":"399:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2695},"shape":{"__isSmartRef__":true,"id":2696},"priorExtent":{"__isSmartRef__":true,"id":2697},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2698},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"399:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2694}},"2695":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2695}},"2696":{"registeredObject":{"_livelyDataWrapperId_":"398:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"398:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2696}},"2697":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2697}},"2698":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2698}},"2699":{"registeredObject":{"x":3,"y":92.99999904632568,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2699}},"2700":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2700}},"2701":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2701}},"2702":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":92.99999904632568,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2702}},"2703":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2703}},"2704":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2704}},"2705":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2705}},"2706":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2706}},"2707":{"registeredObject":{"textString":"Global.NodeFactory (object)","savedTextString":"Global.NodeFactory (object)","submorphs":[{"__isSmartRef__":true,"id":2708}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"400:TextMorph","origin":{"__isSmartRef__":true,"id":2713},"shape":{"__isSmartRef__":true,"id":2714},"textContent":{"__isSmartRef__":true,"id":2715},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2716},"textSelection":{"__isSmartRef__":true,"id":2708},"priorExtent":{"__isSmartRef__":true,"id":2717},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2718},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2719},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2720},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"400:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,110.69999885559082)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2707}},"2708":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2707},"_livelyDataWrapperId_":"402:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2709},"shape":{"__isSmartRef__":true,"id":2710},"priorExtent":{"__isSmartRef__":true,"id":2711},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2712},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"402:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2708}},"2709":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2709}},"2710":{"registeredObject":{"_livelyDataWrapperId_":"401:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"401:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2710}},"2711":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2711}},"2712":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2712}},"2713":{"registeredObject":{"x":3,"y":110.69999885559082,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2713}},"2714":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2714}},"2715":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2715}},"2716":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":110.69999885559082,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2716}},"2717":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2717}},"2718":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2718}},"2719":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2719}},"2720":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2720}},"2721":{"registeredObject":{"textString":"Global.XLinkNS (object)","savedTextString":"Global.XLinkNS (object)","submorphs":[{"__isSmartRef__":true,"id":2722}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"403:TextMorph","origin":{"__isSmartRef__":true,"id":2727},"shape":{"__isSmartRef__":true,"id":2728},"textContent":{"__isSmartRef__":true,"id":2729},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2730},"textSelection":{"__isSmartRef__":true,"id":2722},"priorExtent":{"__isSmartRef__":true,"id":2731},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2732},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2733},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2734},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"403:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,128.39999866485596)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2721}},"2722":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2721},"_livelyDataWrapperId_":"405:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2723},"shape":{"__isSmartRef__":true,"id":2724},"priorExtent":{"__isSmartRef__":true,"id":2725},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2726},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"405:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2722}},"2723":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2723}},"2724":{"registeredObject":{"_livelyDataWrapperId_":"404:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"404:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2724}},"2725":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2725}},"2726":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2726}},"2727":{"registeredObject":{"x":3,"y":128.39999866485596,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2727}},"2728":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2728}},"2729":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2729}},"2730":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":128.39999866485596,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2730}},"2731":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2731}},"2732":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2732}},"2733":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2733}},"2734":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2734}},"2735":{"registeredObject":{"textString":"Global.LivelyNS (object)","savedTextString":"Global.LivelyNS (object)","submorphs":[{"__isSmartRef__":true,"id":2736}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"406:TextMorph","origin":{"__isSmartRef__":true,"id":2741},"shape":{"__isSmartRef__":true,"id":2742},"textContent":{"__isSmartRef__":true,"id":2743},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2744},"textSelection":{"__isSmartRef__":true,"id":2736},"priorExtent":{"__isSmartRef__":true,"id":2745},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2746},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2747},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2748},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"406:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,146.0999984741211)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2735}},"2736":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2735},"_livelyDataWrapperId_":"408:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2737},"shape":{"__isSmartRef__":true,"id":2738},"priorExtent":{"__isSmartRef__":true,"id":2739},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2740},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"408:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2736}},"2737":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2737}},"2738":{"registeredObject":{"_livelyDataWrapperId_":"407:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"407:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2738}},"2739":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2739}},"2740":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2740}},"2741":{"registeredObject":{"x":3,"y":146.0999984741211,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2741}},"2742":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2742}},"2743":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2743}},"2744":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":146.0999984741211,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2744}},"2745":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2745}},"2746":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2746}},"2747":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2747}},"2748":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2748}},"2749":{"registeredObject":{"textString":"Global.XHTMLNS (object)","savedTextString":"Global.XHTMLNS (object)","submorphs":[{"__isSmartRef__":true,"id":2750}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"409:TextMorph","origin":{"__isSmartRef__":true,"id":2755},"shape":{"__isSmartRef__":true,"id":2756},"textContent":{"__isSmartRef__":true,"id":2757},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2758},"textSelection":{"__isSmartRef__":true,"id":2750},"priorExtent":{"__isSmartRef__":true,"id":2759},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2760},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2761},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2762},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"409:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,163.79999828338623)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2749}},"2750":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2749},"_livelyDataWrapperId_":"411:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2751},"shape":{"__isSmartRef__":true,"id":2752},"priorExtent":{"__isSmartRef__":true,"id":2753},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2754},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"411:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2750}},"2751":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2751}},"2752":{"registeredObject":{"_livelyDataWrapperId_":"410:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"410:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2752}},"2753":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2753}},"2754":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2754}},"2755":{"registeredObject":{"x":3,"y":163.79999828338623,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2755}},"2756":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2756}},"2757":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2757}},"2758":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":163.79999828338623,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2758}},"2759":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2759}},"2760":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2760}},"2761":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2761}},"2762":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2762}},"2763":{"registeredObject":{"textString":"addRecordStuffToWrapper (function)","savedTextString":"addRecordStuffToWrapper (function)","submorphs":[{"__isSmartRef__":true,"id":2764}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"412:TextMorph","origin":{"__isSmartRef__":true,"id":2769},"shape":{"__isSmartRef__":true,"id":2770},"textContent":{"__isSmartRef__":true,"id":2771},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2772},"textSelection":{"__isSmartRef__":true,"id":2764},"priorExtent":{"__isSmartRef__":true,"id":2773},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2774},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2775},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2776},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"412:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,181.49999809265137)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2763}},"2764":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2763},"_livelyDataWrapperId_":"414:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2765},"shape":{"__isSmartRef__":true,"id":2766},"priorExtent":{"__isSmartRef__":true,"id":2767},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2768},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"414:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2764}},"2765":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2765}},"2766":{"registeredObject":{"_livelyDataWrapperId_":"413:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"413:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2766}},"2767":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2767}},"2768":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2768}},"2769":{"registeredObject":{"x":3,"y":181.49999809265137,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2769}},"2770":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2770}},"2771":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2771}},"2772":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":181.49999809265137,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2772}},"2773":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2773}},"2774":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2774}},"2775":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2775}},"2776":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2776}},"2777":{"registeredObject":{"textString":"setupEvent (function)","savedTextString":"setupEvent (function)","submorphs":[{"__isSmartRef__":true,"id":2778}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"415:TextMorph","origin":{"__isSmartRef__":true,"id":2783},"shape":{"__isSmartRef__":true,"id":2784},"textContent":{"__isSmartRef__":true,"id":2785},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2786},"textSelection":{"__isSmartRef__":true,"id":2778},"priorExtent":{"__isSmartRef__":true,"id":2787},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2788},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2789},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2790},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"415:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,199.1999979019165)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2777}},"2778":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2777},"_livelyDataWrapperId_":"417:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2779},"shape":{"__isSmartRef__":true,"id":2780},"priorExtent":{"__isSmartRef__":true,"id":2781},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2782},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"417:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2778}},"2779":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2779}},"2780":{"registeredObject":{"_livelyDataWrapperId_":"416:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"416:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2780}},"2781":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2781}},"2782":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2782}},"2783":{"registeredObject":{"x":3,"y":199.1999979019165,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2783}},"2784":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2784}},"2785":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2785}},"2786":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":199.1999979019165,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2786}},"2787":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2787}},"2788":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2788}},"2789":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2789}},"2790":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2790}},"2791":{"registeredObject":{"textString":"Global (extension)","savedTextString":"Global (extension)","submorphs":[{"__isSmartRef__":true,"id":2792}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"418:TextMorph","origin":{"__isSmartRef__":true,"id":2797},"shape":{"__isSmartRef__":true,"id":2798},"textContent":{"__isSmartRef__":true,"id":2799},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2800},"textSelection":{"__isSmartRef__":true,"id":2792},"priorExtent":{"__isSmartRef__":true,"id":2801},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2802},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2803},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2804},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"418:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,216.89999771118164)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2791}},"2792":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2791},"_livelyDataWrapperId_":"420:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2793},"shape":{"__isSmartRef__":true,"id":2794},"priorExtent":{"__isSmartRef__":true,"id":2795},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2796},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"420:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2792}},"2793":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2793}},"2794":{"registeredObject":{"_livelyDataWrapperId_":"419:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"419:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2794}},"2795":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2795}},"2796":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2796}},"2797":{"registeredObject":{"x":3,"y":216.89999771118164,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2797}},"2798":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2798}},"2799":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2799}},"2800":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":216.89999771118164,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2800}},"2801":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2801}},"2802":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2802}},"2803":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2803}},"2804":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2804}},"2805":{"registeredObject":{"textString":"Exporter","savedTextString":"Exporter","submorphs":[{"__isSmartRef__":true,"id":2806}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"421:TextMorph","origin":{"__isSmartRef__":true,"id":2811},"shape":{"__isSmartRef__":true,"id":2812},"textContent":{"__isSmartRef__":true,"id":2813},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2814},"textSelection":{"__isSmartRef__":true,"id":2806},"priorExtent":{"__isSmartRef__":true,"id":2815},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2816},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2817},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2818},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"421:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,234.59999752044678)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2805}},"2806":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2805},"_livelyDataWrapperId_":"423:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2807},"shape":{"__isSmartRef__":true,"id":2808},"priorExtent":{"__isSmartRef__":true,"id":2809},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2810},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"423:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2806}},"2807":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2807}},"2808":{"registeredObject":{"_livelyDataWrapperId_":"422:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"422:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2808}},"2809":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2809}},"2810":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2810}},"2811":{"registeredObject":{"x":3,"y":234.59999752044678,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2811}},"2812":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2812}},"2813":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2813}},"2814":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":234.59999752044678,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2814}},"2815":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2815}},"2816":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2816}},"2817":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2817}},"2818":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2818}},"2819":{"registeredObject":{"textString":"Exporter (extension)","savedTextString":"Exporter (extension)","submorphs":[{"__isSmartRef__":true,"id":2820}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"424:TextMorph","origin":{"__isSmartRef__":true,"id":2825},"shape":{"__isSmartRef__":true,"id":2826},"textContent":{"__isSmartRef__":true,"id":2827},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2828},"textSelection":{"__isSmartRef__":true,"id":2820},"priorExtent":{"__isSmartRef__":true,"id":2829},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2830},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2831},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2832},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"424:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,252.2999973297119)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2819}},"2820":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2819},"_livelyDataWrapperId_":"426:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2821},"shape":{"__isSmartRef__":true,"id":2822},"priorExtent":{"__isSmartRef__":true,"id":2823},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2824},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"426:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2820}},"2821":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2821}},"2822":{"registeredObject":{"_livelyDataWrapperId_":"425:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"425:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2822}},"2823":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2823}},"2824":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2824}},"2825":{"registeredObject":{"x":3,"y":252.2999973297119,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2825}},"2826":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2826}},"2827":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2827}},"2828":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":252.2999973297119,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2828}},"2829":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2829}},"2830":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2830}},"2831":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2831}},"2832":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2832}},"2833":{"registeredObject":{"textString":"Copier","savedTextString":"Copier","submorphs":[{"__isSmartRef__":true,"id":2834}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"427:TextMorph","origin":{"__isSmartRef__":true,"id":2839},"shape":{"__isSmartRef__":true,"id":2840},"textContent":{"__isSmartRef__":true,"id":2841},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2842},"textSelection":{"__isSmartRef__":true,"id":2834},"priorExtent":{"__isSmartRef__":true,"id":2843},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2844},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2845},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2846},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"427:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,269.99999713897705)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2833}},"2834":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2833},"_livelyDataWrapperId_":"429:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2835},"shape":{"__isSmartRef__":true,"id":2836},"priorExtent":{"__isSmartRef__":true,"id":2837},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2838},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"429:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2834}},"2835":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2835}},"2836":{"registeredObject":{"_livelyDataWrapperId_":"428:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"428:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2836}},"2837":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2837}},"2838":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2838}},"2839":{"registeredObject":{"x":3,"y":269.99999713897705,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2839}},"2840":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2840}},"2841":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2841}},"2842":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":269.99999713897705,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2842}},"2843":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2843}},"2844":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2844}},"2845":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2845}},"2846":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2846}},"2847":{"registeredObject":{"textString":"Copier (extension)","savedTextString":"Copier (extension)","submorphs":[{"__isSmartRef__":true,"id":2848}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"430:TextMorph","origin":{"__isSmartRef__":true,"id":2853},"shape":{"__isSmartRef__":true,"id":2854},"textContent":{"__isSmartRef__":true,"id":2855},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2856},"textSelection":{"__isSmartRef__":true,"id":2848},"priorExtent":{"__isSmartRef__":true,"id":2857},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2858},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2859},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2860},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"430:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,287.6999969482422)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2847}},"2848":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2847},"_livelyDataWrapperId_":"432:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2849},"shape":{"__isSmartRef__":true,"id":2850},"priorExtent":{"__isSmartRef__":true,"id":2851},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2852},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"432:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2848}},"2849":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2849}},"2850":{"registeredObject":{"_livelyDataWrapperId_":"431:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"431:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2850}},"2851":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2851}},"2852":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2852}},"2853":{"registeredObject":{"x":3,"y":287.6999969482422,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2853}},"2854":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2854}},"2855":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2855}},"2856":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":287.6999969482422,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2856}},"2857":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2857}},"2858":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2858}},"2859":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2859}},"2860":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2860}},"2861":{"registeredObject":{"textString":"Importer","savedTextString":"Importer","submorphs":[{"__isSmartRef__":true,"id":2862}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"433:TextMorph","origin":{"__isSmartRef__":true,"id":2867},"shape":{"__isSmartRef__":true,"id":2868},"textContent":{"__isSmartRef__":true,"id":2869},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2870},"textSelection":{"__isSmartRef__":true,"id":2862},"priorExtent":{"__isSmartRef__":true,"id":2871},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2872},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2873},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2874},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"433:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,305.3999967575073)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2861}},"2862":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2861},"_livelyDataWrapperId_":"435:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2863},"shape":{"__isSmartRef__":true,"id":2864},"priorExtent":{"__isSmartRef__":true,"id":2865},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2866},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"435:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2862}},"2863":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2863}},"2864":{"registeredObject":{"_livelyDataWrapperId_":"434:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"434:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2864}},"2865":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2865}},"2866":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2866}},"2867":{"registeredObject":{"x":3,"y":305.3999967575073,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2867}},"2868":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2868}},"2869":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2869}},"2870":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":305.3999967575073,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2870}},"2871":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2871}},"2872":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2872}},"2873":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2873}},"2874":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2874}},"2875":{"registeredObject":{"textString":"Importer (extension)","savedTextString":"Importer (extension)","submorphs":[{"__isSmartRef__":true,"id":2876}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"436:TextMorph","origin":{"__isSmartRef__":true,"id":2881},"shape":{"__isSmartRef__":true,"id":2882},"textContent":{"__isSmartRef__":true,"id":2883},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2884},"textSelection":{"__isSmartRef__":true,"id":2876},"priorExtent":{"__isSmartRef__":true,"id":2885},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2886},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2887},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2888},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"436:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,323.09999656677246)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2875}},"2876":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2875},"_livelyDataWrapperId_":"438:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2877},"shape":{"__isSmartRef__":true,"id":2878},"priorExtent":{"__isSmartRef__":true,"id":2879},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2880},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"438:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2876}},"2877":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2877}},"2878":{"registeredObject":{"_livelyDataWrapperId_":"437:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"437:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2878}},"2879":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2879}},"2880":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2880}},"2881":{"registeredObject":{"x":3,"y":323.09999656677246,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2881}},"2882":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2882}},"2883":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2883}},"2884":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":323.09999656677246,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2884}},"2885":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2885}},"2886":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2886}},"2887":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2887}},"2888":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2888}},"2889":{"registeredObject":{"textString":"Function (extension)","savedTextString":"Function (extension)","submorphs":[{"__isSmartRef__":true,"id":2890}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"439:TextMorph","origin":{"__isSmartRef__":true,"id":2895},"shape":{"__isSmartRef__":true,"id":2896},"textContent":{"__isSmartRef__":true,"id":2897},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2898},"textSelection":{"__isSmartRef__":true,"id":2890},"priorExtent":{"__isSmartRef__":true,"id":2899},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2900},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2901},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2902},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"439:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,340.7999963760376)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2889}},"2890":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2889},"_livelyDataWrapperId_":"441:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2891},"shape":{"__isSmartRef__":true,"id":2892},"priorExtent":{"__isSmartRef__":true,"id":2893},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2894},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"441:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2890}},"2891":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2891}},"2892":{"registeredObject":{"_livelyDataWrapperId_":"440:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"440:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2892}},"2893":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2893}},"2894":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2894}},"2895":{"registeredObject":{"x":3,"y":340.7999963760376,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2895}},"2896":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2896}},"2897":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2897}},"2898":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":340.7999963760376,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2898}},"2899":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2899}},"2900":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2900}},"2901":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2901}},"2902":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2902}},"2903":{"registeredObject":{"textString":"Function (extension)","savedTextString":"Function (extension)","submorphs":[{"__isSmartRef__":true,"id":2904}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"442:TextMorph","origin":{"__isSmartRef__":true,"id":2909},"shape":{"__isSmartRef__":true,"id":2910},"textContent":{"__isSmartRef__":true,"id":2911},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2912},"textSelection":{"__isSmartRef__":true,"id":2904},"priorExtent":{"__isSmartRef__":true,"id":2913},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2914},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2915},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2916},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"442:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,358.49999618530273)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2903}},"2904":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2903},"_livelyDataWrapperId_":"444:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2905},"shape":{"__isSmartRef__":true,"id":2906},"priorExtent":{"__isSmartRef__":true,"id":2907},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2908},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"444:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2904}},"2905":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2905}},"2906":{"registeredObject":{"_livelyDataWrapperId_":"443:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"443:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2906}},"2907":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2907}},"2908":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2908}},"2909":{"registeredObject":{"x":3,"y":358.49999618530273,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2909}},"2910":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2910}},"2911":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2911}},"2912":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":358.49999618530273,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2912}},"2913":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2913}},"2914":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2914}},"2915":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2915}},"2916":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2916}},"2917":{"registeredObject":{"textString":"MouseHandlerForDragging","savedTextString":"MouseHandlerForDragging","submorphs":[{"__isSmartRef__":true,"id":2918}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"445:TextMorph","origin":{"__isSmartRef__":true,"id":2923},"shape":{"__isSmartRef__":true,"id":2924},"textContent":{"__isSmartRef__":true,"id":2925},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2926},"textSelection":{"__isSmartRef__":true,"id":2918},"priorExtent":{"__isSmartRef__":true,"id":2927},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2928},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2929},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2930},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"445:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,376.19999599456787)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2917}},"2918":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2917},"_livelyDataWrapperId_":"447:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2919},"shape":{"__isSmartRef__":true,"id":2920},"priorExtent":{"__isSmartRef__":true,"id":2921},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2922},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"447:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2918}},"2919":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2919}},"2920":{"registeredObject":{"_livelyDataWrapperId_":"446:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"446:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2920}},"2921":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2921}},"2922":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2922}},"2923":{"registeredObject":{"x":3,"y":376.19999599456787,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2923}},"2924":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2924}},"2925":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2925}},"2926":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":376.19999599456787,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2926}},"2927":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2927}},"2928":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2928}},"2929":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2929}},"2930":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2930}},"2931":{"registeredObject":{"textString":"MouseHandlerForRelay","savedTextString":"MouseHandlerForRelay","submorphs":[{"__isSmartRef__":true,"id":2932}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"448:TextMorph","origin":{"__isSmartRef__":true,"id":2937},"shape":{"__isSmartRef__":true,"id":2938},"textContent":{"__isSmartRef__":true,"id":2939},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2940},"textSelection":{"__isSmartRef__":true,"id":2932},"priorExtent":{"__isSmartRef__":true,"id":2941},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2942},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2943},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2944},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"448:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,393.899995803833)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2931}},"2932":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2931},"_livelyDataWrapperId_":"450:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2933},"shape":{"__isSmartRef__":true,"id":2934},"priorExtent":{"__isSmartRef__":true,"id":2935},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2936},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"450:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2932}},"2933":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2933}},"2934":{"registeredObject":{"_livelyDataWrapperId_":"449:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"449:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2934}},"2935":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2935}},"2936":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2936}},"2937":{"registeredObject":{"x":3,"y":393.899995803833,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2937}},"2938":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2938}},"2939":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2939}},"2940":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":393.899995803833,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2940}},"2941":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2941}},"2942":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2942}},"2943":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2943}},"2944":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2944}},"2945":{"registeredObject":{"textString":"Morph","savedTextString":"Morph","submorphs":[{"__isSmartRef__":true,"id":2946}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"451:TextMorph","origin":{"__isSmartRef__":true,"id":2951},"shape":{"__isSmartRef__":true,"id":2952},"textContent":{"__isSmartRef__":true,"id":2953},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2954},"textSelection":{"__isSmartRef__":true,"id":2946},"priorExtent":{"__isSmartRef__":true,"id":2955},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2956},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2957},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2958},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"451:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,411.59999561309814)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2945}},"2946":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2945},"_livelyDataWrapperId_":"453:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2947},"shape":{"__isSmartRef__":true,"id":2948},"priorExtent":{"__isSmartRef__":true,"id":2949},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2950},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"453:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2946}},"2947":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2947}},"2948":{"registeredObject":{"_livelyDataWrapperId_":"452:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"452:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2948}},"2949":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2949}},"2950":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2950}},"2951":{"registeredObject":{"x":3,"y":411.59999561309814,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2951}},"2952":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2952}},"2953":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2953}},"2954":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":411.59999561309814,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2954}},"2955":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2955}},"2956":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2956}},"2957":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2957}},"2958":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2958}},"2959":{"registeredObject":{"textString":"Morph (extension)","savedTextString":"Morph (extension)","submorphs":[{"__isSmartRef__":true,"id":2960}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"454:TextMorph","origin":{"__isSmartRef__":true,"id":2965},"shape":{"__isSmartRef__":true,"id":2966},"textContent":{"__isSmartRef__":true,"id":2967},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2968},"textSelection":{"__isSmartRef__":true,"id":2960},"priorExtent":{"__isSmartRef__":true,"id":2969},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2970},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2971},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2972},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"454:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,429.2999954223633)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2959}},"2960":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2959},"_livelyDataWrapperId_":"456:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2961},"shape":{"__isSmartRef__":true,"id":2962},"priorExtent":{"__isSmartRef__":true,"id":2963},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2964},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"456:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2960}},"2961":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2961}},"2962":{"registeredObject":{"_livelyDataWrapperId_":"455:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"455:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2962}},"2963":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2963}},"2964":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2964}},"2965":{"registeredObject":{"x":3,"y":429.2999954223633,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2965}},"2966":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2966}},"2967":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2967}},"2968":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":429.2999954223633,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2968}},"2969":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2969}},"2970":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2970}},"2971":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2971}},"2972":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2972}},"2973":{"registeredObject":{"textString":"Morph (extension)","savedTextString":"Morph (extension)","submorphs":[{"__isSmartRef__":true,"id":2974}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"457:TextMorph","origin":{"__isSmartRef__":true,"id":2979},"shape":{"__isSmartRef__":true,"id":2980},"textContent":{"__isSmartRef__":true,"id":2981},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2982},"textSelection":{"__isSmartRef__":true,"id":2974},"priorExtent":{"__isSmartRef__":true,"id":2983},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2984},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2985},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":2986},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"457:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,446.9999952316284)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2973}},"2974":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2973},"_livelyDataWrapperId_":"459:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2975},"shape":{"__isSmartRef__":true,"id":2976},"priorExtent":{"__isSmartRef__":true,"id":2977},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2978},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"459:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2974}},"2975":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2975}},"2976":{"registeredObject":{"_livelyDataWrapperId_":"458:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"458:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2976}},"2977":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2977}},"2978":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2978}},"2979":{"registeredObject":{"x":3,"y":446.9999952316284,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2979}},"2980":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2980}},"2981":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2981}},"2982":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":446.9999952316284,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2982}},"2983":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2983}},"2984":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2984}},"2985":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2985}},"2986":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2986}},"2987":{"registeredObject":{"textString":"Global.ViewTrait (object)","savedTextString":"Global.ViewTrait (object)","submorphs":[{"__isSmartRef__":true,"id":2988}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"460:TextMorph","origin":{"__isSmartRef__":true,"id":2993},"shape":{"__isSmartRef__":true,"id":2994},"textContent":{"__isSmartRef__":true,"id":2995},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":2996},"textSelection":{"__isSmartRef__":true,"id":2988},"priorExtent":{"__isSmartRef__":true,"id":2997},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":2998},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":2999},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3000},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"460:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,464.69999504089355)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2987}},"2988":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":2987},"_livelyDataWrapperId_":"462:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":2989},"shape":{"__isSmartRef__":true,"id":2990},"priorExtent":{"__isSmartRef__":true,"id":2991},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":2992},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"462:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2988}},"2989":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2989}},"2990":{"registeredObject":{"_livelyDataWrapperId_":"461:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"461:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2990}},"2991":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2991}},"2992":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2992}},"2993":{"registeredObject":{"x":3,"y":464.69999504089355,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2993}},"2994":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2994}},"2995":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":2995}},"2996":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":464.69999504089355,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2996}},"2997":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2997}},"2998":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":2998}},"2999":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":2999}},"3000":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3000}},"3001":{"registeredObject":{"textString":"View","savedTextString":"View","submorphs":[{"__isSmartRef__":true,"id":3002}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"463:TextMorph","origin":{"__isSmartRef__":true,"id":3007},"shape":{"__isSmartRef__":true,"id":3008},"textContent":{"__isSmartRef__":true,"id":3009},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3010},"textSelection":{"__isSmartRef__":true,"id":3002},"priorExtent":{"__isSmartRef__":true,"id":3011},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3012},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3013},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3014},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"463:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,482.3999948501587)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3001}},"3002":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3001},"_livelyDataWrapperId_":"465:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3003},"shape":{"__isSmartRef__":true,"id":3004},"priorExtent":{"__isSmartRef__":true,"id":3005},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3006},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"465:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3002}},"3003":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3003}},"3004":{"registeredObject":{"_livelyDataWrapperId_":"464:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"464:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3004}},"3005":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3005}},"3006":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3006}},"3007":{"registeredObject":{"x":3,"y":482.3999948501587,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3007}},"3008":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3008}},"3009":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3009}},"3010":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":482.3999948501587,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3010}},"3011":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3011}},"3012":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3012}},"3013":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3013}},"3014":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3014}},"3015":{"registeredObject":{"textString":"Model","savedTextString":"Model","submorphs":[{"__isSmartRef__":true,"id":3016}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"466:TextMorph","origin":{"__isSmartRef__":true,"id":3021},"shape":{"__isSmartRef__":true,"id":3022},"textContent":{"__isSmartRef__":true,"id":3023},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3024},"textSelection":{"__isSmartRef__":true,"id":3016},"priorExtent":{"__isSmartRef__":true,"id":3025},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3026},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3027},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3028},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"466:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,500.0999946594238)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3015}},"3016":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3015},"_livelyDataWrapperId_":"468:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3017},"shape":{"__isSmartRef__":true,"id":3018},"priorExtent":{"__isSmartRef__":true,"id":3019},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3020},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"468:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3016}},"3017":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3017}},"3018":{"registeredObject":{"_livelyDataWrapperId_":"467:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"467:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3018}},"3019":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3019}},"3020":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3020}},"3021":{"registeredObject":{"x":3,"y":500.0999946594238,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3021}},"3022":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3022}},"3023":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3023}},"3024":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":500.0999946594238,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3024}},"3025":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3025}},"3026":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3026}},"3027":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3027}},"3028":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3028}},"3029":{"registeredObject":{"textString":"ModelPlug","savedTextString":"ModelPlug","submorphs":[{"__isSmartRef__":true,"id":3030}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"469:TextMorph","origin":{"__isSmartRef__":true,"id":3035},"shape":{"__isSmartRef__":true,"id":3036},"textContent":{"__isSmartRef__":true,"id":3037},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3038},"textSelection":{"__isSmartRef__":true,"id":3030},"priorExtent":{"__isSmartRef__":true,"id":3039},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3040},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3041},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3042},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"469:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,517.799994468689)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3029}},"3030":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3029},"_livelyDataWrapperId_":"471:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3031},"shape":{"__isSmartRef__":true,"id":3032},"priorExtent":{"__isSmartRef__":true,"id":3033},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3034},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"471:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3030}},"3031":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3031}},"3032":{"registeredObject":{"_livelyDataWrapperId_":"470:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"470:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3032}},"3033":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3033}},"3034":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3034}},"3035":{"registeredObject":{"x":3,"y":517.799994468689,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3035}},"3036":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3036}},"3037":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3037}},"3038":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":517.799994468689,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3038}},"3039":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3039}},"3040":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3040}},"3041":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3041}},"3042":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3042}},"3043":{"registeredObject":{"textString":"SyntheticModel","savedTextString":"SyntheticModel","submorphs":[{"__isSmartRef__":true,"id":3044}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"472:TextMorph","origin":{"__isSmartRef__":true,"id":3049},"shape":{"__isSmartRef__":true,"id":3050},"textContent":{"__isSmartRef__":true,"id":3051},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3052},"textSelection":{"__isSmartRef__":true,"id":3044},"priorExtent":{"__isSmartRef__":true,"id":3053},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3054},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3055},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3056},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"472:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,535.4999942779541)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3043}},"3044":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3043},"_livelyDataWrapperId_":"474:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3045},"shape":{"__isSmartRef__":true,"id":3046},"priorExtent":{"__isSmartRef__":true,"id":3047},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3048},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"474:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3044}},"3045":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3045}},"3046":{"registeredObject":{"_livelyDataWrapperId_":"473:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"473:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3046}},"3047":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3047}},"3048":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3048}},"3049":{"registeredObject":{"x":3,"y":535.4999942779541,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3049}},"3050":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3050}},"3051":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3051}},"3052":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":535.4999942779541,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3052}},"3053":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3053}},"3054":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3054}},"3055":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3055}},"3056":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3056}},"3057":{"registeredObject":{"textString":"PasteUpMorph","savedTextString":"PasteUpMorph","submorphs":[{"__isSmartRef__":true,"id":3058}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"475:TextMorph","origin":{"__isSmartRef__":true,"id":3063},"shape":{"__isSmartRef__":true,"id":3064},"textContent":{"__isSmartRef__":true,"id":3065},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3066},"textSelection":{"__isSmartRef__":true,"id":3058},"priorExtent":{"__isSmartRef__":true,"id":3067},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3068},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3069},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3070},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"475:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,553.1999940872192)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3057}},"3058":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3057},"_livelyDataWrapperId_":"477:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3059},"shape":{"__isSmartRef__":true,"id":3060},"priorExtent":{"__isSmartRef__":true,"id":3061},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3062},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"477:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3058}},"3059":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3059}},"3060":{"registeredObject":{"_livelyDataWrapperId_":"476:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"476:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3060}},"3061":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3061}},"3062":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3062}},"3063":{"registeredObject":{"x":3,"y":553.1999940872192,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3063}},"3064":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3064}},"3065":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3065}},"3066":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":553.1999940872192,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3066}},"3067":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3067}},"3068":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3068}},"3069":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3069}},"3070":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3070}},"3071":{"registeredObject":{"textString":"Styles","savedTextString":"Styles","submorphs":[{"__isSmartRef__":true,"id":3072}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"478:TextMorph","origin":{"__isSmartRef__":true,"id":3077},"shape":{"__isSmartRef__":true,"id":3078},"textContent":{"__isSmartRef__":true,"id":3079},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3080},"textSelection":{"__isSmartRef__":true,"id":3072},"priorExtent":{"__isSmartRef__":true,"id":3081},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3082},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3083},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3084},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"478:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,570.8999938964844)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3071}},"3072":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3071},"_livelyDataWrapperId_":"480:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3073},"shape":{"__isSmartRef__":true,"id":3074},"priorExtent":{"__isSmartRef__":true,"id":3075},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3076},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"480:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3072}},"3073":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3073}},"3074":{"registeredObject":{"_livelyDataWrapperId_":"479:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"479:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3074}},"3075":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3075}},"3076":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3076}},"3077":{"registeredObject":{"x":3,"y":570.8999938964844,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3077}},"3078":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3078}},"3079":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3079}},"3080":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":570.8999938964844,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3080}},"3081":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3081}},"3082":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3082}},"3083":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3083}},"3084":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3084}},"3085":{"registeredObject":{"textString":"Styles (extension)","savedTextString":"Styles (extension)","submorphs":[{"__isSmartRef__":true,"id":3086}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"481:TextMorph","origin":{"__isSmartRef__":true,"id":3091},"shape":{"__isSmartRef__":true,"id":3092},"textContent":{"__isSmartRef__":true,"id":3093},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3094},"textSelection":{"__isSmartRef__":true,"id":3086},"priorExtent":{"__isSmartRef__":true,"id":3095},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3096},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3097},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3098},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"481:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,588.5999937057495)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3085}},"3086":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3085},"_livelyDataWrapperId_":"483:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3087},"shape":{"__isSmartRef__":true,"id":3088},"priorExtent":{"__isSmartRef__":true,"id":3089},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3090},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"483:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3086}},"3087":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3087}},"3088":{"registeredObject":{"_livelyDataWrapperId_":"482:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"482:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3088}},"3089":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3089}},"3090":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3090}},"3091":{"registeredObject":{"x":3,"y":588.5999937057495,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3091}},"3092":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3092}},"3093":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3093}},"3094":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":588.5999937057495,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3094}},"3095":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3095}},"3096":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3096}},"3097":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3097}},"3098":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3098}},"3099":{"registeredObject":{"textString":"Global.DisplayThemes (object)","savedTextString":"Global.DisplayThemes (object)","submorphs":[{"__isSmartRef__":true,"id":3100}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"484:TextMorph","origin":{"__isSmartRef__":true,"id":3105},"shape":{"__isSmartRef__":true,"id":3106},"textContent":{"__isSmartRef__":true,"id":3107},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3108},"textSelection":{"__isSmartRef__":true,"id":3100},"priorExtent":{"__isSmartRef__":true,"id":3109},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3110},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3111},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3112},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"484:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,606.2999935150146)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3099}},"3100":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3099},"_livelyDataWrapperId_":"486:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3101},"shape":{"__isSmartRef__":true,"id":3102},"priorExtent":{"__isSmartRef__":true,"id":3103},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3104},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"486:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3100}},"3101":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3101}},"3102":{"registeredObject":{"_livelyDataWrapperId_":"485:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"485:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3102}},"3103":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3103}},"3104":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3104}},"3105":{"registeredObject":{"x":3,"y":606.2999935150146,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3105}},"3106":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3106}},"3107":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3107}},"3108":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":606.2999935150146,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3108}},"3109":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3109}},"3110":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3110}},"3111":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3111}},"3112":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3112}},"3113":{"registeredObject":{"textString":"WorldMorph","savedTextString":"WorldMorph","submorphs":[{"__isSmartRef__":true,"id":3114}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"487:TextMorph","origin":{"__isSmartRef__":true,"id":3119},"shape":{"__isSmartRef__":true,"id":3120},"textContent":{"__isSmartRef__":true,"id":3121},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3123},"textSelection":{"__isSmartRef__":true,"id":3114},"priorExtent":{"__isSmartRef__":true,"id":3124},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3125},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3126},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3127},"__layered_openForDragAndDrop__":false,"textColor":{"__isSmartRef__":true,"id":3122},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"487:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,623.9999933242798)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3113}},"3114":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3113},"_livelyDataWrapperId_":"489:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3115},"shape":{"__isSmartRef__":true,"id":3116},"priorExtent":{"__isSmartRef__":true,"id":3117},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3118},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"489:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3114}},"3115":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3115}},"3116":{"registeredObject":{"_livelyDataWrapperId_":"488:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"488:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3116}},"3117":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3117}},"3118":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3118}},"3119":{"registeredObject":{"x":3,"y":623.9999933242798,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3119}},"3120":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1811},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(83,130,161)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3120}},"3121":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":3122},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3121}},"3122":{"registeredObject":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3122}},"3123":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":623.9999933242798,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3123}},"3124":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3124}},"3125":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3125}},"3126":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3126}},"3127":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3127}},"3128":{"registeredObject":{"textString":"WorldMorph (extension)","savedTextString":"WorldMorph (extension)","submorphs":[{"__isSmartRef__":true,"id":3129}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"490:TextMorph","origin":{"__isSmartRef__":true,"id":3134},"shape":{"__isSmartRef__":true,"id":3135},"textContent":{"__isSmartRef__":true,"id":3136},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3137},"textSelection":{"__isSmartRef__":true,"id":3129},"priorExtent":{"__isSmartRef__":true,"id":3138},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3139},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3140},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3141},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"490:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,641.6999931335449)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3128}},"3129":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3128},"_livelyDataWrapperId_":"492:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3130},"shape":{"__isSmartRef__":true,"id":3131},"priorExtent":{"__isSmartRef__":true,"id":3132},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3133},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"492:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3129}},"3130":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3130}},"3131":{"registeredObject":{"_livelyDataWrapperId_":"491:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"491:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3131}},"3132":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3132}},"3133":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3133}},"3134":{"registeredObject":{"x":3,"y":641.6999931335449,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3134}},"3135":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3135}},"3136":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3136}},"3137":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":641.6999931335449,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3137}},"3138":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3138}},"3139":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3139}},"3140":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3140}},"3141":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3141}},"3142":{"registeredObject":{"textString":"HandMorph","savedTextString":"HandMorph","submorphs":[{"__isSmartRef__":true,"id":3143}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"493:TextMorph","origin":{"__isSmartRef__":true,"id":3148},"shape":{"__isSmartRef__":true,"id":3149},"textContent":{"__isSmartRef__":true,"id":3150},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3151},"textSelection":{"__isSmartRef__":true,"id":3143},"priorExtent":{"__isSmartRef__":true,"id":3152},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3153},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3154},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3155},"__layered_openForDragAndDrop__":false,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"493:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,659.3999929428101)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3142}},"3143":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3142},"_livelyDataWrapperId_":"495:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3144},"shape":{"__isSmartRef__":true,"id":3145},"priorExtent":{"__isSmartRef__":true,"id":3146},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3147},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"495:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3143}},"3144":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3144}},"3145":{"registeredObject":{"_livelyDataWrapperId_":"494:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"494:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3145}},"3146":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3146}},"3147":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3147}},"3148":{"registeredObject":{"x":3,"y":659.3999929428101,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3148}},"3149":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3149}},"3150":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3150}},"3151":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":659.3999929428101,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3151}},"3152":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3152}},"3153":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3153}},"3154":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3154}},"3155":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3155}},"3156":{"registeredObject":{"textString":"LinkMorph","savedTextString":"LinkMorph","submorphs":[{"__isSmartRef__":true,"id":3157}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"496:TextMorph","origin":{"__isSmartRef__":true,"id":3162},"shape":{"__isSmartRef__":true,"id":3163},"textContent":{"__isSmartRef__":true,"id":3164},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3165},"textSelection":{"__isSmartRef__":true,"id":3157},"priorExtent":{"__isSmartRef__":true,"id":3166},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3167},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3168},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3169},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"496:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,677.0999927520752)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3156}},"3157":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3156},"_livelyDataWrapperId_":"498:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3158},"shape":{"__isSmartRef__":true,"id":3159},"priorExtent":{"__isSmartRef__":true,"id":3160},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3161},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"498:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3157}},"3158":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3158}},"3159":{"registeredObject":{"_livelyDataWrapperId_":"497:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"497:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3159}},"3160":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3160}},"3161":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3161}},"3162":{"registeredObject":{"x":3,"y":677.0999927520752,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3162}},"3163":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3163}},"3164":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3164}},"3165":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":677.0999927520752,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3165}},"3166":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3166}},"3167":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3167}},"3168":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3168}},"3169":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3169}},"3170":{"registeredObject":{"textString":"ExternalLinkMorph","savedTextString":"ExternalLinkMorph","submorphs":[{"__isSmartRef__":true,"id":3171}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"499:TextMorph","origin":{"__isSmartRef__":true,"id":3176},"shape":{"__isSmartRef__":true,"id":3177},"textContent":{"__isSmartRef__":true,"id":3178},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3179},"textSelection":{"__isSmartRef__":true,"id":3171},"priorExtent":{"__isSmartRef__":true,"id":3180},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3181},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3182},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3183},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"499:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,694.7999925613403)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3170}},"3171":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3170},"_livelyDataWrapperId_":"501:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3172},"shape":{"__isSmartRef__":true,"id":3173},"priorExtent":{"__isSmartRef__":true,"id":3174},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3175},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"501:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3171}},"3172":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3172}},"3173":{"registeredObject":{"_livelyDataWrapperId_":"500:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"500:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3173}},"3174":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3174}},"3175":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3175}},"3176":{"registeredObject":{"x":3,"y":694.7999925613403,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3176}},"3177":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3177}},"3178":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3178}},"3179":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":694.7999925613403,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3179}},"3180":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3180}},"3181":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3181}},"3182":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3182}},"3183":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3183}},"3184":{"registeredObject":{"textString":"BoxMorph","savedTextString":"BoxMorph","submorphs":[{"__isSmartRef__":true,"id":3185}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"502:TextMorph","origin":{"__isSmartRef__":true,"id":3190},"shape":{"__isSmartRef__":true,"id":3191},"textContent":{"__isSmartRef__":true,"id":3192},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3193},"textSelection":{"__isSmartRef__":true,"id":3185},"priorExtent":{"__isSmartRef__":true,"id":3194},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3195},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3196},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3197},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"502:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,712.4999923706055)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3184}},"3185":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3184},"_livelyDataWrapperId_":"504:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3186},"shape":{"__isSmartRef__":true,"id":3187},"priorExtent":{"__isSmartRef__":true,"id":3188},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3189},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"504:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3185}},"3186":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3186}},"3187":{"registeredObject":{"_livelyDataWrapperId_":"503:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"503:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3187}},"3188":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3188}},"3189":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3189}},"3190":{"registeredObject":{"x":3,"y":712.4999923706055,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3190}},"3191":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3191}},"3192":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3192}},"3193":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":712.4999923706055,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3193}},"3194":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3194}},"3195":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3195}},"3196":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3196}},"3197":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3197}},"3198":{"registeredObject":{"textString":"ContainerMorph","savedTextString":"ContainerMorph","submorphs":[{"__isSmartRef__":true,"id":3199}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"505:TextMorph","origin":{"__isSmartRef__":true,"id":3204},"shape":{"__isSmartRef__":true,"id":3205},"textContent":{"__isSmartRef__":true,"id":3206},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3207},"textSelection":{"__isSmartRef__":true,"id":3199},"priorExtent":{"__isSmartRef__":true,"id":3208},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3209},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3210},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3211},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"505:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,730.1999921798706)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3198}},"3199":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3198},"_livelyDataWrapperId_":"507:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3200},"shape":{"__isSmartRef__":true,"id":3201},"priorExtent":{"__isSmartRef__":true,"id":3202},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3203},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"507:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3199}},"3200":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3200}},"3201":{"registeredObject":{"_livelyDataWrapperId_":"506:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"506:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3201}},"3202":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3202}},"3203":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3203}},"3204":{"registeredObject":{"x":3,"y":730.1999921798706,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3204}},"3205":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3205}},"3206":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3206}},"3207":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":730.1999921798706,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3207}},"3208":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3208}},"3209":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3209}},"3210":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3210}},"3211":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3211}},"3212":{"registeredObject":{"textString":"Global.ClipboardHack (object)","savedTextString":"Global.ClipboardHack (object)","submorphs":[{"__isSmartRef__":true,"id":3213}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"508:TextMorph","origin":{"__isSmartRef__":true,"id":3218},"shape":{"__isSmartRef__":true,"id":3219},"textContent":{"__isSmartRef__":true,"id":3220},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3221},"textSelection":{"__isSmartRef__":true,"id":3213},"priorExtent":{"__isSmartRef__":true,"id":3222},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3223},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3224},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3225},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"508:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,747.8999919891357)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3212}},"3213":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3212},"_livelyDataWrapperId_":"510:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3214},"shape":{"__isSmartRef__":true,"id":3215},"priorExtent":{"__isSmartRef__":true,"id":3216},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3217},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"510:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3213}},"3214":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3214}},"3215":{"registeredObject":{"_livelyDataWrapperId_":"509:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"509:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3215}},"3216":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3216}},"3217":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3217}},"3218":{"registeredObject":{"x":3,"y":747.8999919891357,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3218}},"3219":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3219}},"3220":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3220}},"3221":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":747.8999919891357,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3221}},"3222":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3222}},"3223":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3223}},"3224":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3224}},"3225":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3225}},"3226":{"registeredObject":{"textString":"Global (extension)","savedTextString":"Global (extension)","submorphs":[{"__isSmartRef__":true,"id":3227}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"511:TextMorph","origin":{"__isSmartRef__":true,"id":3232},"shape":{"__isSmartRef__":true,"id":3233},"textContent":{"__isSmartRef__":true,"id":3234},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3235},"textSelection":{"__isSmartRef__":true,"id":3227},"priorExtent":{"__isSmartRef__":true,"id":3236},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3237},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3238},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3239},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"511:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,765.5999917984009)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3226}},"3227":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3226},"_livelyDataWrapperId_":"513:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3228},"shape":{"__isSmartRef__":true,"id":3229},"priorExtent":{"__isSmartRef__":true,"id":3230},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3231},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"513:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3227}},"3228":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3228}},"3229":{"registeredObject":{"_livelyDataWrapperId_":"512:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"512:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3229}},"3230":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3230}},"3231":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3231}},"3232":{"registeredObject":{"x":3,"y":765.5999917984009,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3232}},"3233":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3233}},"3234":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3234}},"3235":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":765.5999917984009,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3235}},"3236":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3236}},"3237":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3237}},"3238":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3238}},"3239":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3239}},"3240":{"registeredObject":{"textString":"ClipboardCopier","savedTextString":"ClipboardCopier","submorphs":[{"__isSmartRef__":true,"id":3241}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"514:TextMorph","origin":{"__isSmartRef__":true,"id":3246},"shape":{"__isSmartRef__":true,"id":3247},"textContent":{"__isSmartRef__":true,"id":3248},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3249},"textSelection":{"__isSmartRef__":true,"id":3241},"priorExtent":{"__isSmartRef__":true,"id":3250},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3251},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3252},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3253},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"514:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,783.299991607666)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3240}},"3241":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3240},"_livelyDataWrapperId_":"516:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3242},"shape":{"__isSmartRef__":true,"id":3243},"priorExtent":{"__isSmartRef__":true,"id":3244},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3245},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"516:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3241}},"3242":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3242}},"3243":{"registeredObject":{"_livelyDataWrapperId_":"515:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"515:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3243}},"3244":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3244}},"3245":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3245}},"3246":{"registeredObject":{"x":3,"y":783.299991607666,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3246}},"3247":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3247}},"3248":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3248}},"3249":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":783.299991607666,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3249}},"3250":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3250}},"3251":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3251}},"3252":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3252}},"3253":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3253}},"3254":{"registeredObject":{"textString":"DocLinkConverter","savedTextString":"DocLinkConverter","submorphs":[{"__isSmartRef__":true,"id":3255}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"517:TextMorph","origin":{"__isSmartRef__":true,"id":3260},"shape":{"__isSmartRef__":true,"id":3261},"textContent":{"__isSmartRef__":true,"id":3262},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3263},"textSelection":{"__isSmartRef__":true,"id":3255},"priorExtent":{"__isSmartRef__":true,"id":3264},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3265},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3266},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3267},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"517:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,800.9999914169312)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3254}},"3255":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3254},"_livelyDataWrapperId_":"519:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3256},"shape":{"__isSmartRef__":true,"id":3257},"priorExtent":{"__isSmartRef__":true,"id":3258},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3259},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"519:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3255}},"3256":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3256}},"3257":{"registeredObject":{"_livelyDataWrapperId_":"518:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"518:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3257}},"3258":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3258}},"3259":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3259}},"3260":{"registeredObject":{"x":3,"y":800.9999914169312,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3260}},"3261":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3261}},"3262":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3262}},"3263":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":800.9999914169312,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3263}},"3264":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3264}},"3265":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3265}},"3266":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3266}},"3267":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3267}},"3268":{"registeredObject":{"textString":"PseudoMorph","savedTextString":"PseudoMorph","submorphs":[{"__isSmartRef__":true,"id":3269}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"520:TextMorph","origin":{"__isSmartRef__":true,"id":3274},"shape":{"__isSmartRef__":true,"id":3275},"textContent":{"__isSmartRef__":true,"id":3276},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3277},"textSelection":{"__isSmartRef__":true,"id":3269},"priorExtent":{"__isSmartRef__":true,"id":3278},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3279},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3280},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3281},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"520:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,818.6999912261963)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3268}},"3269":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3268},"_livelyDataWrapperId_":"522:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3270},"shape":{"__isSmartRef__":true,"id":3271},"priorExtent":{"__isSmartRef__":true,"id":3272},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3273},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"522:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3269}},"3270":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3270}},"3271":{"registeredObject":{"_livelyDataWrapperId_":"521:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"521:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3271}},"3272":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3272}},"3273":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3273}},"3274":{"registeredObject":{"x":3,"y":818.6999912261963,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3274}},"3275":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3275}},"3276":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3276}},"3277":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":818.6999912261963,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3277}},"3278":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3278}},"3279":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3279}},"3280":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3280}},"3281":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3281}},"3282":{"registeredObject":{"textString":"Invocation","savedTextString":"Invocation","submorphs":[{"__isSmartRef__":true,"id":3283}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"523:TextMorph","origin":{"__isSmartRef__":true,"id":3288},"shape":{"__isSmartRef__":true,"id":3289},"textContent":{"__isSmartRef__":true,"id":3290},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3291},"textSelection":{"__isSmartRef__":true,"id":3283},"priorExtent":{"__isSmartRef__":true,"id":3292},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3293},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3294},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3295},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"523:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,836.3999910354614)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3282}},"3283":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3282},"_livelyDataWrapperId_":"525:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3284},"shape":{"__isSmartRef__":true,"id":3285},"priorExtent":{"__isSmartRef__":true,"id":3286},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3287},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"525:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3283}},"3284":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3284}},"3285":{"registeredObject":{"_livelyDataWrapperId_":"524:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"524:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3285}},"3286":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3286}},"3287":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3287}},"3288":{"registeredObject":{"x":3,"y":836.3999910354614,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3288}},"3289":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3289}},"3290":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3290}},"3291":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":836.3999910354614,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3291}},"3292":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3292}},"3293":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3293}},"3294":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3294}},"3295":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3295}},"3296":{"registeredObject":{"textString":"SchedulableAction","savedTextString":"SchedulableAction","submorphs":[{"__isSmartRef__":true,"id":3297}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"526:TextMorph","origin":{"__isSmartRef__":true,"id":3302},"shape":{"__isSmartRef__":true,"id":3303},"textContent":{"__isSmartRef__":true,"id":3304},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3305},"textSelection":{"__isSmartRef__":true,"id":3297},"priorExtent":{"__isSmartRef__":true,"id":3306},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3307},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3308},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3309},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"526:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,854.0999908447266)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3296}},"3297":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3296},"_livelyDataWrapperId_":"528:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3298},"shape":{"__isSmartRef__":true,"id":3299},"priorExtent":{"__isSmartRef__":true,"id":3300},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3301},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"528:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3297}},"3298":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3298}},"3299":{"registeredObject":{"_livelyDataWrapperId_":"527:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"527:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3299}},"3300":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3300}},"3301":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3301}},"3302":{"registeredObject":{"x":3,"y":854.0999908447266,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3302}},"3303":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3303}},"3304":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3304}},"3305":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":854.0999908447266,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3305}},"3306":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3306}},"3307":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3307}},"3308":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3308}},"3309":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3309}},"3310":{"registeredObject":{"textString":"LayoutManager","savedTextString":"LayoutManager","submorphs":[{"__isSmartRef__":true,"id":3311}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"529:TextMorph","origin":{"__isSmartRef__":true,"id":3316},"shape":{"__isSmartRef__":true,"id":3317},"textContent":{"__isSmartRef__":true,"id":3318},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3319},"textSelection":{"__isSmartRef__":true,"id":3311},"priorExtent":{"__isSmartRef__":true,"id":3320},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3321},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3322},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3323},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"529:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,871.7999906539917)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3310}},"3311":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3310},"_livelyDataWrapperId_":"531:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3312},"shape":{"__isSmartRef__":true,"id":3313},"priorExtent":{"__isSmartRef__":true,"id":3314},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3315},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"531:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3311}},"3312":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3312}},"3313":{"registeredObject":{"_livelyDataWrapperId_":"530:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"530:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3313}},"3314":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3314}},"3315":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3315}},"3316":{"registeredObject":{"x":3,"y":871.7999906539917,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3316}},"3317":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3317}},"3318":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3318}},"3319":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":871.7999906539917,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3319}},"3320":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3320}},"3321":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3321}},"3322":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3322}},"3323":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3323}},"3324":{"registeredObject":{"textString":"LayoutManager (extension)","savedTextString":"LayoutManager (extension)","submorphs":[{"__isSmartRef__":true,"id":3325}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"532:TextMorph","origin":{"__isSmartRef__":true,"id":3330},"shape":{"__isSmartRef__":true,"id":3331},"textContent":{"__isSmartRef__":true,"id":3332},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3333},"textSelection":{"__isSmartRef__":true,"id":3325},"priorExtent":{"__isSmartRef__":true,"id":3334},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3335},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3336},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3337},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"532:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,889.4999904632568)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3324}},"3325":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3324},"_livelyDataWrapperId_":"534:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3326},"shape":{"__isSmartRef__":true,"id":3327},"priorExtent":{"__isSmartRef__":true,"id":3328},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3329},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"534:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3325}},"3326":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3326}},"3327":{"registeredObject":{"_livelyDataWrapperId_":"533:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"533:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3327}},"3328":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3328}},"3329":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3329}},"3330":{"registeredObject":{"x":3,"y":889.4999904632568,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3330}},"3331":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3331}},"3332":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3332}},"3333":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":889.4999904632568,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3333}},"3334":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3334}},"3335":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3335}},"3336":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3336}},"3337":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3337}},"3338":{"registeredObject":{"textString":"HorizontalLayout","savedTextString":"HorizontalLayout","submorphs":[{"__isSmartRef__":true,"id":3339}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"535:TextMorph","origin":{"__isSmartRef__":true,"id":3344},"shape":{"__isSmartRef__":true,"id":3345},"textContent":{"__isSmartRef__":true,"id":3346},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3347},"textSelection":{"__isSmartRef__":true,"id":3339},"priorExtent":{"__isSmartRef__":true,"id":3348},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3349},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3350},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3351},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"535:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,907.199990272522)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3338}},"3339":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3338},"_livelyDataWrapperId_":"537:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3340},"shape":{"__isSmartRef__":true,"id":3341},"priorExtent":{"__isSmartRef__":true,"id":3342},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3343},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"537:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3339}},"3340":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3340}},"3341":{"registeredObject":{"_livelyDataWrapperId_":"536:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"536:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3341}},"3342":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3342}},"3343":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3343}},"3344":{"registeredObject":{"x":3,"y":907.199990272522,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3344}},"3345":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3345}},"3346":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3346}},"3347":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":907.199990272522,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3347}},"3348":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3348}},"3349":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3349}},"3350":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3350}},"3351":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3351}},"3352":{"registeredObject":{"textString":"Morph (extension)","savedTextString":"Morph (extension)","submorphs":[{"__isSmartRef__":true,"id":3353}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"538:TextMorph","origin":{"__isSmartRef__":true,"id":3358},"shape":{"__isSmartRef__":true,"id":3359},"textContent":{"__isSmartRef__":true,"id":3360},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3361},"textSelection":{"__isSmartRef__":true,"id":3353},"priorExtent":{"__isSmartRef__":true,"id":3362},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3363},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3364},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3365},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"538:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,924.8999900817871)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3352}},"3353":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3352},"_livelyDataWrapperId_":"540:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3354},"shape":{"__isSmartRef__":true,"id":3355},"priorExtent":{"__isSmartRef__":true,"id":3356},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3357},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"540:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3353}},"3354":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3354}},"3355":{"registeredObject":{"_livelyDataWrapperId_":"539:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"539:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3355}},"3356":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3356}},"3357":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3357}},"3358":{"registeredObject":{"x":3,"y":924.8999900817871,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3358}},"3359":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3359}},"3360":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3360}},"3361":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":924.8999900817871,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3361}},"3362":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3362}},"3363":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3363}},"3364":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3364}},"3365":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3365}},"3366":{"registeredObject":{"textString":"HorizontalLayout (extension)","savedTextString":"HorizontalLayout (extension)","submorphs":[{"__isSmartRef__":true,"id":3367}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"541:TextMorph","origin":{"__isSmartRef__":true,"id":3372},"shape":{"__isSmartRef__":true,"id":3373},"textContent":{"__isSmartRef__":true,"id":3374},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3375},"textSelection":{"__isSmartRef__":true,"id":3367},"priorExtent":{"__isSmartRef__":true,"id":3376},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3377},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3378},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3379},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"541:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,942.5999898910522)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3366}},"3367":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3366},"_livelyDataWrapperId_":"543:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3368},"shape":{"__isSmartRef__":true,"id":3369},"priorExtent":{"__isSmartRef__":true,"id":3370},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3371},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"543:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3367}},"3368":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3368}},"3369":{"registeredObject":{"_livelyDataWrapperId_":"542:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"542:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3369}},"3370":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3370}},"3371":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3371}},"3372":{"registeredObject":{"x":3,"y":942.5999898910522,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3372}},"3373":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3373}},"3374":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3374}},"3375":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":942.5999898910522,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3375}},"3376":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3376}},"3377":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3377}},"3378":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3378}},"3379":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3379}},"3380":{"registeredObject":{"textString":"VerticalLayout","savedTextString":"VerticalLayout","submorphs":[{"__isSmartRef__":true,"id":3381}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"544:TextMorph","origin":{"__isSmartRef__":true,"id":3386},"shape":{"__isSmartRef__":true,"id":3387},"textContent":{"__isSmartRef__":true,"id":3388},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3389},"textSelection":{"__isSmartRef__":true,"id":3381},"priorExtent":{"__isSmartRef__":true,"id":3390},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3391},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3392},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3393},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"544:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,960.2999897003174)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3380}},"3381":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3380},"_livelyDataWrapperId_":"546:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3382},"shape":{"__isSmartRef__":true,"id":3383},"priorExtent":{"__isSmartRef__":true,"id":3384},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3385},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"546:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3381}},"3382":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3382}},"3383":{"registeredObject":{"_livelyDataWrapperId_":"545:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"545:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3383}},"3384":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3384}},"3385":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3385}},"3386":{"registeredObject":{"x":3,"y":960.2999897003174,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3386}},"3387":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3387}},"3388":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3388}},"3389":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":960.2999897003174,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3389}},"3390":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3390}},"3391":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3391}},"3392":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3392}},"3393":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3393}},"3394":{"registeredObject":{"textString":"VerticalLayout (extension)","savedTextString":"VerticalLayout (extension)","submorphs":[{"__isSmartRef__":true,"id":3395}],"owner":{"__isSmartRef__":true,"id":2622},"_livelyDataWrapperId_":"547:TextMorph","origin":{"__isSmartRef__":true,"id":3400},"shape":{"__isSmartRef__":true,"id":3401},"textContent":{"__isSmartRef__":true,"id":3402},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3403},"textSelection":{"__isSmartRef__":true,"id":3395},"priorExtent":{"__isSmartRef__":true,"id":3404},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3405},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3406},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3407},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"547:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,977.9999895095825)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3394}},"3395":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3394},"_livelyDataWrapperId_":"549:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3396},"shape":{"__isSmartRef__":true,"id":3397},"priorExtent":{"__isSmartRef__":true,"id":3398},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3399},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"549:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3395}},"3396":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3396}},"3397":{"registeredObject":{"_livelyDataWrapperId_":"548:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"548:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3397}},"3398":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3398}},"3399":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3399}},"3400":{"registeredObject":{"x":3,"y":977.9999895095825,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3400}},"3401":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3401}},"3402":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3402}},"3403":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":977.9999895095825,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3403}},"3404":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3404}},"3405":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3405}},"3406":{"registeredObject":{"target":{"__isSmartRef__":true,"id":2622},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3406}},"3407":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3407}},"3408":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":2622}],"owner":{"__isSmartRef__":true,"id":3409},"_livelyDataWrapperId_":"95:ClipMorph","origin":{"__isSmartRef__":true,"id":3457},"shape":{"__isSmartRef__":true,"id":3458},"priorExtent":{"__isSmartRef__":true,"id":3459},"clip":{"__isSmartRef__":true,"id":3460},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":3462},"suppressHandles":true,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"95:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#96:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3408}},"3409":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3408},{"__isSmartRef__":true,"id":3410},{"__isSmartRef__":true,"id":3425}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"94:ScrollPane","origin":{"__isSmartRef__":true,"id":3452},"shape":{"__isSmartRef__":true,"id":3453},"priorExtent":{"__isSmartRef__":true,"id":3454},"pvtCachedTransform":{"__isSmartRef__":true,"id":3455},"clipMorph":{"__isSmartRef__":true,"id":3408},"verticalScrollBar":{"__isSmartRef__":true,"id":3410},"attributeConnections":[{"__isSmartRef__":true,"id":3456}],"suppressHandles":true,"menuButton":{"__isSmartRef__":true,"id":3425},"__LivelyClassName__":"ScrollPane","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ScrollPane","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"94:ScrollPane","namespaceURI":null},{"key":"transform","value":"translate(205,27.5)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3409}},"3410":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3411}],"owner":{"__isSmartRef__":true,"id":3409},"_livelyDataWrapperId_":"97:SliderMorph","origin":{"__isSmartRef__":true,"id":3418},"shape":{"__isSmartRef__":true,"id":3419},"priorExtent":{"__isSmartRef__":true,"id":3420},"value":0.6836,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":3421},"slider":{"__isSmartRef__":true,"id":3411},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":3422},{"__isSmartRef__":true,"id":3423}],"hitPoint":{"__isSmartRef__":true,"id":3424},"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"97:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(190.5,14.5)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3410}},"3411":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3410},"_livelyDataWrapperId_":"98:Morph","origin":{"__isSmartRef__":true,"id":3412},"shape":{"__isSmartRef__":true,"id":3413},"priorExtent":{"__isSmartRef__":true,"id":3414},"pvtCachedTransform":{"__isSmartRef__":true,"id":3415},"mouseHandler":{"__isSmartRef__":true,"id":3416},"styleClass":["slider"],"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"98:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,98.20160186194943)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3411}},"3412":{"registeredObject":{"x":0,"y":98.20160186194943,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3412}},"3413":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"34.8464","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3413}},"3414":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3414}},"3415":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":98.20160186194943,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3415}},"3416":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3410},"eventSpec":{"__isSmartRef__":true,"id":3417},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3416}},"3417":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":3417}},"3418":{"registeredObject":{"x":190.5,"y":14.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3418}},"3419":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"178.5","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3419}},"3420":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3420}},"3421":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":190.5,"f":14.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3421}},"3422":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3410},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":3409},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3422}},"3423":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3410},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":3409},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3423}},"3424":{"registeredObject":{"x":7,"y":24.793067207931088,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3424}},"3425":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3426},{"__isSmartRef__":true,"id":3431},{"__isSmartRef__":true,"id":3436},{"__isSmartRef__":true,"id":3441}],"owner":{"__isSmartRef__":true,"id":3409},"_livelyDataWrapperId_":"322:Morph","origin":{"__isSmartRef__":true,"id":3446},"shape":{"__isSmartRef__":true,"id":3447},"priorExtent":{"__isSmartRef__":true,"id":3448},"pvtCachedTransform":{"__isSmartRef__":true,"id":3449},"suppressHandles":true,"mouseHandler":{"__isSmartRef__":true,"id":3450},"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"322:Morph","namespaceURI":null},{"key":"transform","value":"translate(191,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3425}},"3426":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3425},"_livelyDataWrapperId_":"323:Morph","origin":{"__isSmartRef__":true,"id":3427},"shape":{"__isSmartRef__":true,"id":3428},"priorExtent":{"__isSmartRef__":true,"id":3429},"pvtCachedTransform":{"__isSmartRef__":true,"id":3430},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"323:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3426}},"3427":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3427}},"3428":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 4 8 4","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3428}},"3429":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3429}},"3430":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3430}},"3431":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3425},"_livelyDataWrapperId_":"324:Morph","origin":{"__isSmartRef__":true,"id":3432},"shape":{"__isSmartRef__":true,"id":3433},"priorExtent":{"__isSmartRef__":true,"id":3434},"pvtCachedTransform":{"__isSmartRef__":true,"id":3435},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"324:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3431}},"3432":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3432}},"3433":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 6 4 6","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3433}},"3434":{"registeredObject":{"x":2,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3434}},"3435":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3435}},"3436":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3425},"_livelyDataWrapperId_":"325:Morph","origin":{"__isSmartRef__":true,"id":3437},"shape":{"__isSmartRef__":true,"id":3438},"priorExtent":{"__isSmartRef__":true,"id":3439},"pvtCachedTransform":{"__isSmartRef__":true,"id":3440},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"325:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3436}},"3437":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3437}},"3438":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 8 6 8","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3438}},"3439":{"registeredObject":{"x":4,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3439}},"3440":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3440}},"3441":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3425},"_livelyDataWrapperId_":"326:Morph","origin":{"__isSmartRef__":true,"id":3442},"shape":{"__isSmartRef__":true,"id":3443},"priorExtent":{"__isSmartRef__":true,"id":3444},"pvtCachedTransform":{"__isSmartRef__":true,"id":3445},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"326:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3441}},"3442":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3442}},"3443":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 10 8 10","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3443}},"3444":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3444}},"3445":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3445}},"3446":{"registeredObject":{"x":191,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3446}},"3447":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"14","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3447}},"3448":{"registeredObject":{"x":14,"y":14,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3448}},"3449":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":191,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3449}},"3450":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3409},"eventSpec":{"__isSmartRef__":true,"id":3451},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3450}},"3451":{"registeredObject":{"onMouseDown":"menuButtonPressed"},"ref":{"__isSmartRef__":true,"id":3451}},"3452":{"registeredObject":{"x":205,"y":27.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3452}},"3453":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"192.5","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3453}},"3454":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3454}},"3455":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":205,"f":27.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3455}},"3456":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3409},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":3410},"targetMethodName":"setValue","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3456}},"3457":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3457}},"3458":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3458}},"3459":{"registeredObject":{"x":203,"y":190.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3459}},"3460":{"registeredObject":{"_livelyDataWrapperId_":"96:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":3461},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"96:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3460}},"3461":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3461}},"3462":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3462}},"3463":{"registeredObject":{"x":1,"y":-549.4093126983643,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3463}},"3464":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3464}},"3465":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3465}},"3466":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":-549.4093126983643,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3466}},"3467":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":220},"__SourceModuleName__":"Global","definition":"{\"List\":\"-Pane2Content\",\"Selection\":\"Pane2Selection\",\"Menu\":\"-Pane2Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":3467}},"3468":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":3469},"__SourceModuleName__":"Global","definition":"{\"Pane3Content\":\"!List\",\"Pane3Selection\":\"!Selection\",\"Pane3Menu\":\"!Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":3468}},"3469":{"registeredObject":{"baseWidth":208,"textStyle":null,"submorphs":[{"__isSmartRef__":true,"id":3470},{"__isSmartRef__":true,"id":3485},{"__isSmartRef__":true,"id":3499},{"__isSmartRef__":true,"id":3513},{"__isSmartRef__":true,"id":3527},{"__isSmartRef__":true,"id":3541},{"__isSmartRef__":true,"id":3555},{"__isSmartRef__":true,"id":3569},{"__isSmartRef__":true,"id":3583},{"__isSmartRef__":true,"id":3597},{"__isSmartRef__":true,"id":3611},{"__isSmartRef__":true,"id":3625},{"__isSmartRef__":true,"id":3639},{"__isSmartRef__":true,"id":3653},{"__isSmartRef__":true,"id":3667},{"__isSmartRef__":true,"id":3681}],"owner":{"__isSmartRef__":true,"id":3695},"_livelyDataWrapperId_":"99:FilterableListMorph","origin":{"__isSmartRef__":true,"id":3749},"shape":{"__isSmartRef__":true,"id":3750},"priorExtent":{"__isSmartRef__":true,"id":3751},"itemList":[{"__isSmartRef__":true,"id":1384},{"__isSmartRef__":true,"id":1386},{"__isSmartRef__":true,"id":1388},{"__isSmartRef__":true,"id":1390},{"__isSmartRef__":true,"id":1392},{"__isSmartRef__":true,"id":1394},{"__isSmartRef__":true,"id":1396},{"__isSmartRef__":true,"id":1398},{"__isSmartRef__":true,"id":1400},{"__isSmartRef__":true,"id":1402},{"__isSmartRef__":true,"id":1404},{"__isSmartRef__":true,"id":1406},{"__isSmartRef__":true,"id":1408},{"__isSmartRef__":true,"id":1410},{"__isSmartRef__":true,"id":1412},{"__isSmartRef__":true,"id":1414}],"selectedLineNo":0,"selection":{"__isSmartRef__":true,"id":1385},"pvtCachedTransform":{"__isSmartRef__":true,"id":3752},"savedFill":null,"suppressHandles":true,"formalModel":{"__isSmartRef__":true,"id":3753},"savedTextColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"FilterableListMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"FilterableListMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"99:FilterableListMorph","namespaceURI":null},{"key":"transform","value":"translate(1,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3469}},"3470":{"registeredObject":{"textString":"-- all --","savedTextString":"-----","submorphs":[{"__isSmartRef__":true,"id":3471}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"100:TextMorph","origin":{"__isSmartRef__":true,"id":3476},"shape":{"__isSmartRef__":true,"id":3477},"textContent":{"__isSmartRef__":true,"id":3478},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3480},"textSelection":{"__isSmartRef__":true,"id":3471},"priorExtent":{"__isSmartRef__":true,"id":3481},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3482},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3483},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3484},"__layered_openForDragAndDrop__":false,"textColor":{"__isSmartRef__":true,"id":3479},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"100:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,4.5)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3470}},"3471":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3470},"_livelyDataWrapperId_":"102:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3472},"shape":{"__isSmartRef__":true,"id":3473},"priorExtent":{"__isSmartRef__":true,"id":3474},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3475},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"102:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3471}},"3472":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3472}},"3473":{"registeredObject":{"_livelyDataWrapperId_":"101:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"101:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3473}},"3474":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3474}},"3475":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3475}},"3476":{"registeredObject":{"x":3,"y":4.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3476}},"3477":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1811},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(83,130,161)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3477}},"3478":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":3479},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3478}},"3479":{"registeredObject":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3479}},"3480":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":4.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3480}},"3481":{"registeredObject":{"x":193,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3481}},"3482":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3482}},"3483":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3483}},"3484":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3484}},"3485":{"registeredObject":{"textString":"defaults","savedTextString":"defaults","submorphs":[{"__isSmartRef__":true,"id":3486}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3695:TextMorph","origin":{"__isSmartRef__":true,"id":3491},"shape":{"__isSmartRef__":true,"id":3492},"textContent":{"__isSmartRef__":true,"id":3493},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3494},"textSelection":{"__isSmartRef__":true,"id":3486},"priorExtent":{"__isSmartRef__":true,"id":3495},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3496},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3497},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3498},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3695:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,22.199999809265137)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3485}},"3486":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3485},"_livelyDataWrapperId_":"3697:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3487},"shape":{"__isSmartRef__":true,"id":3488},"priorExtent":{"__isSmartRef__":true,"id":3489},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3490},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3697:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3486}},"3487":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3487}},"3488":{"registeredObject":{"_livelyDataWrapperId_":"3696:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3696:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3488}},"3489":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3489}},"3490":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3490}},"3491":{"registeredObject":{"x":3,"y":22.199999809265137,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3491}},"3492":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3492}},"3493":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3493}},"3494":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":22.199999809265137,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3494}},"3495":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3495}},"3496":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3496}},"3497":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3497}},"3498":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3498}},"3499":{"registeredObject":{"textString":"initilization","savedTextString":"initilization","submorphs":[{"__isSmartRef__":true,"id":3500}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3698:TextMorph","origin":{"__isSmartRef__":true,"id":3505},"shape":{"__isSmartRef__":true,"id":3506},"textContent":{"__isSmartRef__":true,"id":3507},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3508},"textSelection":{"__isSmartRef__":true,"id":3500},"priorExtent":{"__isSmartRef__":true,"id":3509},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3510},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3511},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3512},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3698:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,39.89999961853027)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3499}},"3500":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3499},"_livelyDataWrapperId_":"3700:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3501},"shape":{"__isSmartRef__":true,"id":3502},"priorExtent":{"__isSmartRef__":true,"id":3503},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3504},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3700:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3500}},"3501":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3501}},"3502":{"registeredObject":{"_livelyDataWrapperId_":"3699:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3699:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3502}},"3503":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3503}},"3504":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3504}},"3505":{"registeredObject":{"x":3,"y":39.89999961853027,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3505}},"3506":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3506}},"3507":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3507}},"3508":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":39.89999961853027,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3508}},"3509":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3509}},"3510":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3510}},"3511":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3511}},"3512":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3512}},"3513":{"registeredObject":{"textString":"private","savedTextString":"private","submorphs":[{"__isSmartRef__":true,"id":3514}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3701:TextMorph","origin":{"__isSmartRef__":true,"id":3519},"shape":{"__isSmartRef__":true,"id":3520},"textContent":{"__isSmartRef__":true,"id":3521},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3522},"textSelection":{"__isSmartRef__":true,"id":3514},"priorExtent":{"__isSmartRef__":true,"id":3523},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3524},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3525},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3526},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3701:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,57.59999942779541)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3513}},"3514":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3513},"_livelyDataWrapperId_":"3703:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3515},"shape":{"__isSmartRef__":true,"id":3516},"priorExtent":{"__isSmartRef__":true,"id":3517},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3518},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3703:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3514}},"3515":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3515}},"3516":{"registeredObject":{"_livelyDataWrapperId_":"3702:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3702:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3516}},"3517":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3517}},"3518":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3518}},"3519":{"registeredObject":{"x":3,"y":57.59999942779541,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3519}},"3520":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3520}},"3521":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3521}},"3522":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":57.59999942779541,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3522}},"3523":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3523}},"3524":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3524}},"3525":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3525}},"3526":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3526}},"3527":{"registeredObject":{"textString":"geometry","savedTextString":"geometry","submorphs":[{"__isSmartRef__":true,"id":3528}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3704:TextMorph","origin":{"__isSmartRef__":true,"id":3533},"shape":{"__isSmartRef__":true,"id":3534},"textContent":{"__isSmartRef__":true,"id":3535},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3536},"textSelection":{"__isSmartRef__":true,"id":3528},"priorExtent":{"__isSmartRef__":true,"id":3537},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3538},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3539},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3540},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3704:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,75.29999923706055)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3527}},"3528":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3527},"_livelyDataWrapperId_":"3706:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3529},"shape":{"__isSmartRef__":true,"id":3530},"priorExtent":{"__isSmartRef__":true,"id":3531},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3532},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3706:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3528}},"3529":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3529}},"3530":{"registeredObject":{"_livelyDataWrapperId_":"3705:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3705:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3530}},"3531":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3531}},"3532":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3532}},"3533":{"registeredObject":{"x":3,"y":75.29999923706055,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3533}},"3534":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3534}},"3535":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3535}},"3536":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":75.29999923706055,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3536}},"3537":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3537}},"3538":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3538}},"3539":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3539}},"3540":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3540}},"3541":{"registeredObject":{"textString":"world","savedTextString":"world","submorphs":[{"__isSmartRef__":true,"id":3542}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3707:TextMorph","origin":{"__isSmartRef__":true,"id":3547},"shape":{"__isSmartRef__":true,"id":3548},"textContent":{"__isSmartRef__":true,"id":3549},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3550},"textSelection":{"__isSmartRef__":true,"id":3542},"priorExtent":{"__isSmartRef__":true,"id":3551},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3552},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3553},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3554},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3707:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,92.99999904632568)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3541}},"3542":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3541},"_livelyDataWrapperId_":"3709:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3543},"shape":{"__isSmartRef__":true,"id":3544},"priorExtent":{"__isSmartRef__":true,"id":3545},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3546},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3709:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3542}},"3543":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3543}},"3544":{"registeredObject":{"_livelyDataWrapperId_":"3708:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3708:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3544}},"3545":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3545}},"3546":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3546}},"3547":{"registeredObject":{"x":3,"y":92.99999904632568,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3547}},"3548":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3548}},"3549":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3549}},"3550":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":92.99999904632568,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3550}},"3551":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3551}},"3552":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3552}},"3553":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3553}},"3554":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3554}},"3555":{"registeredObject":{"textString":"stepping","savedTextString":"stepping","submorphs":[{"__isSmartRef__":true,"id":3556}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3710:TextMorph","origin":{"__isSmartRef__":true,"id":3561},"shape":{"__isSmartRef__":true,"id":3562},"textContent":{"__isSmartRef__":true,"id":3563},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3564},"textSelection":{"__isSmartRef__":true,"id":3556},"priorExtent":{"__isSmartRef__":true,"id":3565},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3566},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3567},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3568},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3710:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,110.69999885559082)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3555}},"3556":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3555},"_livelyDataWrapperId_":"3712:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3557},"shape":{"__isSmartRef__":true,"id":3558},"priorExtent":{"__isSmartRef__":true,"id":3559},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3560},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3712:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3556}},"3557":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3557}},"3558":{"registeredObject":{"_livelyDataWrapperId_":"3711:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3711:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3558}},"3559":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3559}},"3560":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3560}},"3561":{"registeredObject":{"x":3,"y":110.69999885559082,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3561}},"3562":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3562}},"3563":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3563}},"3564":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":110.69999885559082,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3564}},"3565":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3565}},"3566":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3566}},"3567":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3567}},"3568":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3568}},"3569":{"registeredObject":{"textString":"dialogs","savedTextString":"dialogs","submorphs":[{"__isSmartRef__":true,"id":3570}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3713:TextMorph","origin":{"__isSmartRef__":true,"id":3575},"shape":{"__isSmartRef__":true,"id":3576},"textContent":{"__isSmartRef__":true,"id":3577},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3578},"textSelection":{"__isSmartRef__":true,"id":3570},"priorExtent":{"__isSmartRef__":true,"id":3579},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3580},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3581},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3582},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3713:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,128.39999866485596)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3569}},"3570":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3569},"_livelyDataWrapperId_":"3715:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3571},"shape":{"__isSmartRef__":true,"id":3572},"priorExtent":{"__isSmartRef__":true,"id":3573},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3574},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3715:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3570}},"3571":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3571}},"3572":{"registeredObject":{"_livelyDataWrapperId_":"3714:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3714:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3572}},"3573":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3573}},"3574":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3574}},"3575":{"registeredObject":{"x":3,"y":128.39999866485596,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3575}},"3576":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3576}},"3577":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3577}},"3578":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":128.39999866485596,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3578}},"3579":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3579}},"3580":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3580}},"3581":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3581}},"3582":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3582}},"3583":{"registeredObject":{"textString":"new content","savedTextString":"new content","submorphs":[{"__isSmartRef__":true,"id":3584}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3716:TextMorph","origin":{"__isSmartRef__":true,"id":3589},"shape":{"__isSmartRef__":true,"id":3590},"textContent":{"__isSmartRef__":true,"id":3591},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3592},"textSelection":{"__isSmartRef__":true,"id":3584},"priorExtent":{"__isSmartRef__":true,"id":3593},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3594},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3595},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3596},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3716:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,146.0999984741211)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3583}},"3584":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3583},"_livelyDataWrapperId_":"3718:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3585},"shape":{"__isSmartRef__":true,"id":3586},"priorExtent":{"__isSmartRef__":true,"id":3587},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3588},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3718:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3584}},"3585":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3585}},"3586":{"registeredObject":{"_livelyDataWrapperId_":"3717:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3717:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3586}},"3587":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3587}},"3588":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3588}},"3589":{"registeredObject":{"x":3,"y":146.0999984741211,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3589}},"3590":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3590}},"3591":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3591}},"3592":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":146.0999984741211,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3592}},"3593":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3593}},"3594":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3594}},"3595":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3595}},"3596":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3596}},"3597":{"registeredObject":{"textString":"Requirements","savedTextString":"Requirements","submorphs":[{"__isSmartRef__":true,"id":3598}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3719:TextMorph","origin":{"__isSmartRef__":true,"id":3603},"shape":{"__isSmartRef__":true,"id":3604},"textContent":{"__isSmartRef__":true,"id":3605},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3606},"textSelection":{"__isSmartRef__":true,"id":3598},"priorExtent":{"__isSmartRef__":true,"id":3607},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3608},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3609},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3610},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3719:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,163.79999828338623)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3597}},"3598":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3597},"_livelyDataWrapperId_":"3721:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3599},"shape":{"__isSmartRef__":true,"id":3600},"priorExtent":{"__isSmartRef__":true,"id":3601},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3602},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3721:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3598}},"3599":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3599}},"3600":{"registeredObject":{"_livelyDataWrapperId_":"3720:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3720:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3600}},"3601":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3601}},"3602":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3602}},"3603":{"registeredObject":{"x":3,"y":163.79999828338623,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3603}},"3604":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3604}},"3605":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3605}},"3606":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":163.79999828338623,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3606}},"3607":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3607}},"3608":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3608}},"3609":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3609}},"3610":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3610}},"3611":{"registeredObject":{"textString":"Feedback and Saving","savedTextString":"Feedback and Saving","submorphs":[{"__isSmartRef__":true,"id":3612}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3722:TextMorph","origin":{"__isSmartRef__":true,"id":3617},"shape":{"__isSmartRef__":true,"id":3618},"textContent":{"__isSmartRef__":true,"id":3619},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3620},"textSelection":{"__isSmartRef__":true,"id":3612},"priorExtent":{"__isSmartRef__":true,"id":3621},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3622},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3623},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3624},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3722:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,181.49999809265137)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3611}},"3612":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3611},"_livelyDataWrapperId_":"3724:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3613},"shape":{"__isSmartRef__":true,"id":3614},"priorExtent":{"__isSmartRef__":true,"id":3615},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3616},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3724:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3612}},"3613":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3613}},"3614":{"registeredObject":{"_livelyDataWrapperId_":"3723:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3723:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3614}},"3615":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3615}},"3616":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3616}},"3617":{"registeredObject":{"x":3,"y":181.49999809265137,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3617}},"3618":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3618}},"3619":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3619}},"3620":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":181.49999809265137,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3620}},"3621":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3621}},"3622":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3622}},"3623":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3623}},"3624":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3624}},"3625":{"registeredObject":{"textString":"Menus ","savedTextString":"Menus ","submorphs":[{"__isSmartRef__":true,"id":3626}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3725:TextMorph","origin":{"__isSmartRef__":true,"id":3631},"shape":{"__isSmartRef__":true,"id":3632},"textContent":{"__isSmartRef__":true,"id":3633},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3634},"textSelection":{"__isSmartRef__":true,"id":3626},"priorExtent":{"__isSmartRef__":true,"id":3635},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3636},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3637},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3638},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3725:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,199.1999979019165)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3625}},"3626":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3625},"_livelyDataWrapperId_":"3727:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3627},"shape":{"__isSmartRef__":true,"id":3628},"priorExtent":{"__isSmartRef__":true,"id":3629},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3630},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3727:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3626}},"3627":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3627}},"3628":{"registeredObject":{"_livelyDataWrapperId_":"3726:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3726:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3628}},"3629":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3629}},"3630":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3630}},"3631":{"registeredObject":{"x":3,"y":199.1999979019165,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3631}},"3632":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3632}},"3633":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3633}},"3634":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":199.1999979019165,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3634}},"3635":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3635}},"3636":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3636}},"3637":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3637}},"3638":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3638}},"3639":{"registeredObject":{"textString":"Copy And Paste (Private)","savedTextString":"Copy And Paste (Private)","submorphs":[{"__isSmartRef__":true,"id":3640}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3728:TextMorph","origin":{"__isSmartRef__":true,"id":3645},"shape":{"__isSmartRef__":true,"id":3646},"textContent":{"__isSmartRef__":true,"id":3647},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3648},"textSelection":{"__isSmartRef__":true,"id":3640},"priorExtent":{"__isSmartRef__":true,"id":3649},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3650},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3651},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3652},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3728:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,216.89999771118164)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3639}},"3640":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3639},"_livelyDataWrapperId_":"3730:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3641},"shape":{"__isSmartRef__":true,"id":3642},"priorExtent":{"__isSmartRef__":true,"id":3643},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3644},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3730:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3640}},"3641":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3641}},"3642":{"registeredObject":{"_livelyDataWrapperId_":"3729:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3729:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3642}},"3643":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3643}},"3644":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3644}},"3645":{"registeredObject":{"x":3,"y":216.89999771118164,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3645}},"3646":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3646}},"3647":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3647}},"3648":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":216.89999771118164,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3648}},"3649":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3649}},"3650":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3650}},"3651":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3651}},"3652":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3652}},"3653":{"registeredObject":{"textString":"Keyboard Events","savedTextString":"Keyboard Events","submorphs":[{"__isSmartRef__":true,"id":3654}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3731:TextMorph","origin":{"__isSmartRef__":true,"id":3659},"shape":{"__isSmartRef__":true,"id":3660},"textContent":{"__isSmartRef__":true,"id":3661},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3662},"textSelection":{"__isSmartRef__":true,"id":3654},"priorExtent":{"__isSmartRef__":true,"id":3663},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3664},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3665},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3666},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3731:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,234.59999752044678)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3653}},"3654":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3653},"_livelyDataWrapperId_":"3733:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3655},"shape":{"__isSmartRef__":true,"id":3656},"priorExtent":{"__isSmartRef__":true,"id":3657},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3658},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3733:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3654}},"3655":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3655}},"3656":{"registeredObject":{"_livelyDataWrapperId_":"3732:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3732:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3656}},"3657":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3657}},"3658":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3658}},"3659":{"registeredObject":{"x":3,"y":234.59999752044678,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3659}},"3660":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3660}},"3661":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3661}},"3662":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":234.59999752044678,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3662}},"3663":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3663}},"3664":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3664}},"3665":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3665}},"3666":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3666}},"3667":{"registeredObject":{"textString":"Commands","savedTextString":"Commands","submorphs":[{"__isSmartRef__":true,"id":3668}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3734:TextMorph","origin":{"__isSmartRef__":true,"id":3673},"shape":{"__isSmartRef__":true,"id":3674},"textContent":{"__isSmartRef__":true,"id":3675},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3676},"textSelection":{"__isSmartRef__":true,"id":3668},"priorExtent":{"__isSmartRef__":true,"id":3677},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3678},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3679},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3680},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3734:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,252.2999973297119)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3667}},"3668":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3667},"_livelyDataWrapperId_":"3736:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3669},"shape":{"__isSmartRef__":true,"id":3670},"priorExtent":{"__isSmartRef__":true,"id":3671},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3672},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3736:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3668}},"3669":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3669}},"3670":{"registeredObject":{"_livelyDataWrapperId_":"3735:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3735:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3670}},"3671":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3671}},"3672":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3672}},"3673":{"registeredObject":{"x":3,"y":252.2999973297119,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3673}},"3674":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3674}},"3675":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3675}},"3676":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":252.2999973297119,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3676}},"3677":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3677}},"3678":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3678}},"3679":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3679}},"3680":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3680}},"3681":{"registeredObject":{"textString":"local code","savedTextString":"local code","submorphs":[{"__isSmartRef__":true,"id":3682}],"owner":{"__isSmartRef__":true,"id":3469},"_livelyDataWrapperId_":"3737:TextMorph","origin":{"__isSmartRef__":true,"id":3687},"shape":{"__isSmartRef__":true,"id":3688},"textContent":{"__isSmartRef__":true,"id":3689},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3690},"textSelection":{"__isSmartRef__":true,"id":3682},"priorExtent":{"__isSmartRef__":true,"id":3691},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3692},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3693},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3694},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3737:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,269.99999713897705)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3681}},"3682":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3681},"_livelyDataWrapperId_":"3739:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3683},"shape":{"__isSmartRef__":true,"id":3684},"priorExtent":{"__isSmartRef__":true,"id":3685},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3686},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3739:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3682}},"3683":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3683}},"3684":{"registeredObject":{"_livelyDataWrapperId_":"3738:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3738:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3684}},"3685":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3685}},"3686":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3686}},"3687":{"registeredObject":{"x":3,"y":269.99999713897705,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3687}},"3688":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3688}},"3689":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3689}},"3690":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":269.99999713897705,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3690}},"3691":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3691}},"3692":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3692}},"3693":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3469},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3693}},"3694":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3694}},"3695":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3469}],"owner":{"__isSmartRef__":true,"id":3696},"_livelyDataWrapperId_":"104:ClipMorph","origin":{"__isSmartRef__":true,"id":3743},"shape":{"__isSmartRef__":true,"id":3744},"priorExtent":{"__isSmartRef__":true,"id":3745},"clip":{"__isSmartRef__":true,"id":3746},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":3748},"suppressHandles":true,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"104:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#105:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3695}},"3696":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3695},{"__isSmartRef__":true,"id":3697},{"__isSmartRef__":true,"id":3711}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"103:ScrollPane","origin":{"__isSmartRef__":true,"id":3738},"shape":{"__isSmartRef__":true,"id":3739},"priorExtent":{"__isSmartRef__":true,"id":3740},"pvtCachedTransform":{"__isSmartRef__":true,"id":3741},"clipMorph":{"__isSmartRef__":true,"id":3695},"verticalScrollBar":{"__isSmartRef__":true,"id":3697},"attributeConnections":[{"__isSmartRef__":true,"id":3742}],"suppressHandles":true,"menuButton":{"__isSmartRef__":true,"id":3711},"__LivelyClassName__":"ScrollPane","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ScrollPane","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"103:ScrollPane","namespaceURI":null},{"key":"transform","value":"translate(410,27.5)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3696}},"3697":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3698}],"owner":{"__isSmartRef__":true,"id":3696},"_livelyDataWrapperId_":"106:SliderMorph","origin":{"__isSmartRef__":true,"id":3705},"shape":{"__isSmartRef__":true,"id":3706},"priorExtent":{"__isSmartRef__":true,"id":3707},"value":0,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":3708},"slider":{"__isSmartRef__":true,"id":3698},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":3709},{"__isSmartRef__":true,"id":3710}],"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"106:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(190.5,14.5)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3697}},"3698":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3697},"_livelyDataWrapperId_":"107:Morph","origin":{"__isSmartRef__":true,"id":3699},"shape":{"__isSmartRef__":true,"id":3700},"priorExtent":{"__isSmartRef__":true,"id":3701},"pvtCachedTransform":{"__isSmartRef__":true,"id":3702},"mouseHandler":{"__isSmartRef__":true,"id":3703},"styleClass":["slider"],"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"107:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3698}},"3699":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3699}},"3700":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"121.962","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3700}},"3701":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3701}},"3702":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3702}},"3703":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3697},"eventSpec":{"__isSmartRef__":true,"id":3704},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3703}},"3704":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":3704}},"3705":{"registeredObject":{"x":190.5,"y":14.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3705}},"3706":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"178.5","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3706}},"3707":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3707}},"3708":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":190.5,"f":14.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3708}},"3709":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3697},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":3696},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3709}},"3710":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3697},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":3696},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3710}},"3711":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3712},{"__isSmartRef__":true,"id":3717},{"__isSmartRef__":true,"id":3722},{"__isSmartRef__":true,"id":3727}],"owner":{"__isSmartRef__":true,"id":3696},"_livelyDataWrapperId_":"327:Morph","origin":{"__isSmartRef__":true,"id":3732},"shape":{"__isSmartRef__":true,"id":3733},"priorExtent":{"__isSmartRef__":true,"id":3734},"pvtCachedTransform":{"__isSmartRef__":true,"id":3735},"suppressHandles":true,"mouseHandler":{"__isSmartRef__":true,"id":3736},"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"327:Morph","namespaceURI":null},{"key":"transform","value":"translate(191,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3711}},"3712":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3711},"_livelyDataWrapperId_":"328:Morph","origin":{"__isSmartRef__":true,"id":3713},"shape":{"__isSmartRef__":true,"id":3714},"priorExtent":{"__isSmartRef__":true,"id":3715},"pvtCachedTransform":{"__isSmartRef__":true,"id":3716},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"328:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3712}},"3713":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3713}},"3714":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 4 8 4","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3714}},"3715":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3715}},"3716":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3716}},"3717":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3711},"_livelyDataWrapperId_":"329:Morph","origin":{"__isSmartRef__":true,"id":3718},"shape":{"__isSmartRef__":true,"id":3719},"priorExtent":{"__isSmartRef__":true,"id":3720},"pvtCachedTransform":{"__isSmartRef__":true,"id":3721},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"329:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3717}},"3718":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3718}},"3719":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 6 4 6","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3719}},"3720":{"registeredObject":{"x":2,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3720}},"3721":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3721}},"3722":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3711},"_livelyDataWrapperId_":"330:Morph","origin":{"__isSmartRef__":true,"id":3723},"shape":{"__isSmartRef__":true,"id":3724},"priorExtent":{"__isSmartRef__":true,"id":3725},"pvtCachedTransform":{"__isSmartRef__":true,"id":3726},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"330:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3722}},"3723":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3723}},"3724":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 8 6 8","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3724}},"3725":{"registeredObject":{"x":4,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3725}},"3726":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3726}},"3727":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3711},"_livelyDataWrapperId_":"331:Morph","origin":{"__isSmartRef__":true,"id":3728},"shape":{"__isSmartRef__":true,"id":3729},"priorExtent":{"__isSmartRef__":true,"id":3730},"pvtCachedTransform":{"__isSmartRef__":true,"id":3731},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"331:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3727}},"3728":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3728}},"3729":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 10 8 10","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3729}},"3730":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3730}},"3731":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3731}},"3732":{"registeredObject":{"x":191,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3732}},"3733":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"14","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3733}},"3734":{"registeredObject":{"x":14,"y":14,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3734}},"3735":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":191,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3735}},"3736":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3696},"eventSpec":{"__isSmartRef__":true,"id":3737},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3736}},"3737":{"registeredObject":{"onMouseDown":"menuButtonPressed"},"ref":{"__isSmartRef__":true,"id":3737}},"3738":{"registeredObject":{"x":410,"y":27.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3738}},"3739":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"192.5","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3739}},"3740":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3740}},"3741":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":410,"f":27.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3741}},"3742":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3696},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":3697},"targetMethodName":"setValue","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3742}},"3743":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3743}},"3744":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3744}},"3745":{"registeredObject":{"x":203,"y":190.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3745}},"3746":{"registeredObject":{"_livelyDataWrapperId_":"105:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":3747},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"105:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3746}},"3747":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3747}},"3748":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3748}},"3749":{"registeredObject":{"x":1,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3749}},"3750":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3750}},"3751":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3751}},"3752":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3752}},"3753":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":220},"__SourceModuleName__":"Global","definition":"{\"List\":\"-Pane3Content\",\"Selection\":\"Pane3Selection\",\"Menu\":\"-Pane3Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":3753}},"3754":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":3755},"__SourceModuleName__":"Global","definition":"{\"Pane4Content\":\"!List\",\"Pane4Selection\":\"!Selection\",\"Pane4Menu\":\"!Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":3754}},"3755":{"registeredObject":{"baseWidth":208,"textStyle":null,"submorphs":[{"__isSmartRef__":true,"id":3756},{"__isSmartRef__":true,"id":3771},{"__isSmartRef__":true,"id":3785}],"owner":{"__isSmartRef__":true,"id":3799},"_livelyDataWrapperId_":"108:FilterableListMorph","origin":{"__isSmartRef__":true,"id":3853},"shape":{"__isSmartRef__":true,"id":3854},"priorExtent":{"__isSmartRef__":true,"id":3855},"itemList":[{"__isSmartRef__":true,"id":1417},{"__isSmartRef__":true,"id":1419},{"__isSmartRef__":true,"id":1421},{"__isSmartRef__":true,"id":1423},{"__isSmartRef__":true,"id":1425},{"__isSmartRef__":true,"id":1427},{"__isSmartRef__":true,"id":1429},{"__isSmartRef__":true,"id":1431},{"__isSmartRef__":true,"id":1433},{"__isSmartRef__":true,"id":1435},{"__isSmartRef__":true,"id":1437},{"__isSmartRef__":true,"id":1439},{"__isSmartRef__":true,"id":1441},{"__isSmartRef__":true,"id":1443},{"__isSmartRef__":true,"id":1445},{"__isSmartRef__":true,"id":1447},{"__isSmartRef__":true,"id":1449},{"__isSmartRef__":true,"id":1451},{"__isSmartRef__":true,"id":1453},{"__isSmartRef__":true,"id":1455},{"__isSmartRef__":true,"id":1457},{"__isSmartRef__":true,"id":1459},{"__isSmartRef__":true,"id":1461},{"__isSmartRef__":true,"id":1463},{"__isSmartRef__":true,"id":1465},{"__isSmartRef__":true,"id":1467},{"__isSmartRef__":true,"id":1469},{"__isSmartRef__":true,"id":1471},{"__isSmartRef__":true,"id":1473},{"__isSmartRef__":true,"id":1475},{"__isSmartRef__":true,"id":1477},{"__isSmartRef__":true,"id":1479},{"__isSmartRef__":true,"id":1481},{"__isSmartRef__":true,"id":1483},{"__isSmartRef__":true,"id":1485},{"__isSmartRef__":true,"id":1487},{"__isSmartRef__":true,"id":1489},{"__isSmartRef__":true,"id":1491},{"__isSmartRef__":true,"id":1493},{"__isSmartRef__":true,"id":1495},{"__isSmartRef__":true,"id":1497},{"__isSmartRef__":true,"id":1499},{"__isSmartRef__":true,"id":1501},{"__isSmartRef__":true,"id":1503},{"__isSmartRef__":true,"id":1505},{"__isSmartRef__":true,"id":1507},{"__isSmartRef__":true,"id":1509},{"__isSmartRef__":true,"id":1511},{"__isSmartRef__":true,"id":1513},{"__isSmartRef__":true,"id":1515},{"__isSmartRef__":true,"id":1517},{"__isSmartRef__":true,"id":1519},{"__isSmartRef__":true,"id":1521},{"__isSmartRef__":true,"id":1523},{"__isSmartRef__":true,"id":1525},{"__isSmartRef__":true,"id":1527},{"__isSmartRef__":true,"id":1529},{"__isSmartRef__":true,"id":1531},{"__isSmartRef__":true,"id":1533},{"__isSmartRef__":true,"id":1535},{"__isSmartRef__":true,"id":1537},{"__isSmartRef__":true,"id":1539},{"__isSmartRef__":true,"id":1541},{"__isSmartRef__":true,"id":1543},{"__isSmartRef__":true,"id":1545},{"__isSmartRef__":true,"id":1547},{"__isSmartRef__":true,"id":1549},{"__isSmartRef__":true,"id":1551},{"__isSmartRef__":true,"id":1553},{"__isSmartRef__":true,"id":1555},{"__isSmartRef__":true,"id":1557},{"__isSmartRef__":true,"id":1559},{"__isSmartRef__":true,"id":1561},{"__isSmartRef__":true,"id":1563},{"__isSmartRef__":true,"id":1565},{"__isSmartRef__":true,"id":1567},{"__isSmartRef__":true,"id":1569},{"__isSmartRef__":true,"id":1571},{"__isSmartRef__":true,"id":1573},{"__isSmartRef__":true,"id":1575},{"__isSmartRef__":true,"id":1577},{"__isSmartRef__":true,"id":1579},{"__isSmartRef__":true,"id":1581},{"__isSmartRef__":true,"id":1583},{"__isSmartRef__":true,"id":1585},{"__isSmartRef__":true,"id":1587},{"__isSmartRef__":true,"id":1589},{"__isSmartRef__":true,"id":1591},{"__isSmartRef__":true,"id":1593},{"__isSmartRef__":true,"id":1595},{"__isSmartRef__":true,"id":1597},{"__isSmartRef__":true,"id":1599},{"__isSmartRef__":true,"id":1601},{"__isSmartRef__":true,"id":1603},{"__isSmartRef__":true,"id":1605}],"selectedLineNo":0,"selection":{"__isSmartRef__":true,"id":1442},"pvtCachedTransform":{"__isSmartRef__":true,"id":3856},"savedFill":null,"suppressHandles":true,"formalModel":{"__isSmartRef__":true,"id":3857},"savedTextColor":{"__isSmartRef__":true,"id":66},"hasKeyboardFocus":false,"dragItem":null,"__LivelyClassName__":"FilterableListMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"FilterableListMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"108:FilterableListMorph","namespaceURI":null},{"key":"transform","value":"translate(1,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3755}},"3756":{"registeredObject":{"textString":"displayOnCanvas (proto)","savedTextString":"-----","submorphs":[{"__isSmartRef__":true,"id":3757}],"owner":{"__isSmartRef__":true,"id":3755},"_livelyDataWrapperId_":"109:TextMorph","origin":{"__isSmartRef__":true,"id":3762},"shape":{"__isSmartRef__":true,"id":3763},"textContent":{"__isSmartRef__":true,"id":3764},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3766},"textSelection":{"__isSmartRef__":true,"id":3757},"priorExtent":{"__isSmartRef__":true,"id":3767},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3768},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3769},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3770},"__layered_openForDragAndDrop__":false,"textColor":{"__isSmartRef__":true,"id":3765},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"109:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,4.5)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3756}},"3757":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3756},"_livelyDataWrapperId_":"111:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3758},"shape":{"__isSmartRef__":true,"id":3759},"priorExtent":{"__isSmartRef__":true,"id":3760},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3761},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"111:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3757}},"3758":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3758}},"3759":{"registeredObject":{"_livelyDataWrapperId_":"110:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"110:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3759}},"3760":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3760}},"3761":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3761}},"3762":{"registeredObject":{"x":3,"y":4.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3762}},"3763":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1811},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(83,130,161)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3763}},"3764":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":3765},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3764}},"3765":{"registeredObject":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3765}},"3766":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":4.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3766}},"3767":{"registeredObject":{"x":193,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3767}},"3768":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3768}},"3769":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3755},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3769}},"3770":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3770}},"3771":{"registeredObject":{"textString":"chooseDisplayTheme (proto)","savedTextString":"fill (proto)","submorphs":[{"__isSmartRef__":true,"id":3772}],"owner":{"__isSmartRef__":true,"id":3755},"_livelyDataWrapperId_":"3740:TextMorph","origin":{"__isSmartRef__":true,"id":3777},"shape":{"__isSmartRef__":true,"id":3778},"textContent":{"__isSmartRef__":true,"id":3779},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3780},"textSelection":{"__isSmartRef__":true,"id":3772},"priorExtent":{"__isSmartRef__":true,"id":3781},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3782},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3783},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3784},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3740:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,22.199999809265137)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3771}},"3772":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3771},"_livelyDataWrapperId_":"3742:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3773},"shape":{"__isSmartRef__":true,"id":3774},"priorExtent":{"__isSmartRef__":true,"id":3775},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3776},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3742:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3772}},"3773":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3773}},"3774":{"registeredObject":{"_livelyDataWrapperId_":"3741:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3741:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3774}},"3775":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3775}},"3776":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3776}},"3777":{"registeredObject":{"x":3,"y":22.199999809265137,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3777}},"3778":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3778}},"3779":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3779}},"3780":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":22.199999809265137,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3780}},"3781":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3781}},"3782":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3782}},"3783":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3755},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3783}},"3784":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3784}},"3785":{"registeredObject":{"textString":"setDisplayTheme (proto)","savedTextString":"defaultExtent (proto)","submorphs":[{"__isSmartRef__":true,"id":3786}],"owner":{"__isSmartRef__":true,"id":3755},"_livelyDataWrapperId_":"3743:TextMorph","origin":{"__isSmartRef__":true,"id":3791},"shape":{"__isSmartRef__":true,"id":3792},"textContent":{"__isSmartRef__":true,"id":3793},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3794},"textSelection":{"__isSmartRef__":true,"id":3786},"priorExtent":{"__isSmartRef__":true,"id":3795},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3796},"wrap":"None","mouseHandler":{"__isSmartRef__":true,"id":3797},"autoAdjustPadding":false,"suppressHandles":true,"acceptInput":false,"suppressGrabbing":true,"focusHaloBorderWidth":0,"margin":{"__isSmartRef__":true,"id":3798},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3743:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(3,39.89999961853027)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3785}},"3786":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3785},"_livelyDataWrapperId_":"3745:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3787},"shape":{"__isSmartRef__":true,"id":3788},"priorExtent":{"__isSmartRef__":true,"id":3789},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3790},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"3745:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3786}},"3787":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3787}},"3788":{"registeredObject":{"_livelyDataWrapperId_":"3744:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"3744:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3788}},"3789":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3789}},"3790":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3790}},"3791":{"registeredObject":{"x":3,"y":39.89999961853027,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3791}},"3792":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"208","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3792}},"3793":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3793}},"3794":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":3,"f":39.89999961853027,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3794}},"3795":{"registeredObject":{"x":196,"y":4,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3795}},"3796":{"registeredObject":{"x":4,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3796}},"3797":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3755},"eventSpec":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3797}},"3798":{"registeredObject":{"x":0,"y":1.5,"width":0,"height":-1.5,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3798}},"3799":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3755}],"owner":{"__isSmartRef__":true,"id":3800},"_livelyDataWrapperId_":"113:ClipMorph","origin":{"__isSmartRef__":true,"id":3847},"shape":{"__isSmartRef__":true,"id":3848},"priorExtent":{"__isSmartRef__":true,"id":3849},"clip":{"__isSmartRef__":true,"id":3850},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":3852},"suppressHandles":true,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"113:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#114:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3799}},"3800":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3799},{"__isSmartRef__":true,"id":3801},{"__isSmartRef__":true,"id":3815}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"112:ScrollPane","origin":{"__isSmartRef__":true,"id":3842},"shape":{"__isSmartRef__":true,"id":3843},"priorExtent":{"__isSmartRef__":true,"id":3844},"pvtCachedTransform":{"__isSmartRef__":true,"id":3845},"clipMorph":{"__isSmartRef__":true,"id":3799},"verticalScrollBar":{"__isSmartRef__":true,"id":3801},"attributeConnections":[{"__isSmartRef__":true,"id":3846}],"suppressHandles":true,"menuButton":{"__isSmartRef__":true,"id":3815},"__LivelyClassName__":"ScrollPane","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ScrollPane","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"112:ScrollPane","namespaceURI":null},{"key":"transform","value":"translate(615,27.5)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3800}},"3801":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3802}],"owner":{"__isSmartRef__":true,"id":3800},"_livelyDataWrapperId_":"115:SliderMorph","origin":{"__isSmartRef__":true,"id":3809},"shape":{"__isSmartRef__":true,"id":3810},"priorExtent":{"__isSmartRef__":true,"id":3811},"value":0,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":3812},"slider":{"__isSmartRef__":true,"id":3802},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":3813},{"__isSmartRef__":true,"id":3814}],"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"115:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(190.5,14.5)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3801}},"3802":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3801},"_livelyDataWrapperId_":"116:Morph","origin":{"__isSmartRef__":true,"id":3803},"shape":{"__isSmartRef__":true,"id":3804},"priorExtent":{"__isSmartRef__":true,"id":3805},"pvtCachedTransform":{"__isSmartRef__":true,"id":3806},"mouseHandler":{"__isSmartRef__":true,"id":3807},"styleClass":["slider"],"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"116:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3802}},"3803":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3803}},"3804":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"178.5","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3804}},"3805":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3805}},"3806":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3806}},"3807":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3801},"eventSpec":{"__isSmartRef__":true,"id":3808},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3807}},"3808":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":3808}},"3809":{"registeredObject":{"x":190.5,"y":14.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3809}},"3810":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"15","namespaceURI":null},{"key":"height","value":"178.5","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3810}},"3811":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3811}},"3812":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":190.5,"f":14.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3812}},"3813":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3801},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":3800},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3813}},"3814":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3801},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":3800},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3814}},"3815":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":3816},{"__isSmartRef__":true,"id":3821},{"__isSmartRef__":true,"id":3826},{"__isSmartRef__":true,"id":3831}],"owner":{"__isSmartRef__":true,"id":3800},"_livelyDataWrapperId_":"332:Morph","origin":{"__isSmartRef__":true,"id":3836},"shape":{"__isSmartRef__":true,"id":3837},"priorExtent":{"__isSmartRef__":true,"id":3838},"pvtCachedTransform":{"__isSmartRef__":true,"id":3839},"suppressHandles":true,"mouseHandler":{"__isSmartRef__":true,"id":3840},"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"332:Morph","namespaceURI":null},{"key":"transform","value":"translate(191,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3815}},"3816":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3815},"_livelyDataWrapperId_":"333:Morph","origin":{"__isSmartRef__":true,"id":3817},"shape":{"__isSmartRef__":true,"id":3818},"priorExtent":{"__isSmartRef__":true,"id":3819},"pvtCachedTransform":{"__isSmartRef__":true,"id":3820},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"333:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3816}},"3817":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3817}},"3818":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 4 8 4","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3818}},"3819":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3819}},"3820":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3820}},"3821":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3815},"_livelyDataWrapperId_":"334:Morph","origin":{"__isSmartRef__":true,"id":3822},"shape":{"__isSmartRef__":true,"id":3823},"priorExtent":{"__isSmartRef__":true,"id":3824},"pvtCachedTransform":{"__isSmartRef__":true,"id":3825},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"334:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3821}},"3822":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3822}},"3823":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 6 4 6","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3823}},"3824":{"registeredObject":{"x":2,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3824}},"3825":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3825}},"3826":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3815},"_livelyDataWrapperId_":"335:Morph","origin":{"__isSmartRef__":true,"id":3827},"shape":{"__isSmartRef__":true,"id":3828},"priorExtent":{"__isSmartRef__":true,"id":3829},"pvtCachedTransform":{"__isSmartRef__":true,"id":3830},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"335:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3826}},"3827":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3827}},"3828":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 8 6 8","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3828}},"3829":{"registeredObject":{"x":4,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3829}},"3830":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3830}},"3831":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3815},"_livelyDataWrapperId_":"336:Morph","origin":{"__isSmartRef__":true,"id":3832},"shape":{"__isSmartRef__":true,"id":3833},"priorExtent":{"__isSmartRef__":true,"id":3834},"pvtCachedTransform":{"__isSmartRef__":true,"id":3835},"mouseHandler":null,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"336:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3831}},"3832":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3832}},"3833":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Polyline","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"polyline","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null},{"key":"points","value":"2 10 8 10","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3833}},"3834":{"registeredObject":{"x":6,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3834}},"3835":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3835}},"3836":{"registeredObject":{"x":191,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3836}},"3837":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"14","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3837}},"3838":{"registeredObject":{"x":14,"y":14,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3838}},"3839":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":191,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3839}},"3840":{"registeredObject":{"target":{"__isSmartRef__":true,"id":3800},"eventSpec":{"__isSmartRef__":true,"id":3841},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3840}},"3841":{"registeredObject":{"onMouseDown":"menuButtonPressed"},"ref":{"__isSmartRef__":true,"id":3841}},"3842":{"registeredObject":{"x":615,"y":27.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3842}},"3843":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"205","namespaceURI":null},{"key":"height","value":"192.5","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3843}},"3844":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3844}},"3845":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":615,"f":27.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3845}},"3846":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3800},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":3801},"targetMethodName":"setValue","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3846}},"3847":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3847}},"3848":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3848}},"3849":{"registeredObject":{"x":203,"y":190.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3849}},"3850":{"registeredObject":{"_livelyDataWrapperId_":"114:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":3851},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"114:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3850}},"3851":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3851}},"3852":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3852}},"3853":{"registeredObject":{"x":1,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3853}},"3854":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":2611},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"191","namespaceURI":null},{"key":"height","value":"190.5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3854}},"3855":{"registeredObject":{"x":205,"y":192.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3855}},"3856":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3856}},"3857":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":220},"__SourceModuleName__":"Global","definition":"{\"List\":\"-Pane4Content\",\"Selection\":\"Pane4Selection\",\"Menu\":\"-Pane4Menu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":3857}},"3858":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"button":{"__isSmartRef__":true,"id":3859},"__LivelyClassName__":"lively.ide.AddNewFileCommand","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":3858}},"3859":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":3864}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"343:ButtonMorph","origin":{"__isSmartRef__":true,"id":3876},"shape":{"__isSmartRef__":true,"id":3877},"priorExtent":{"__isSmartRef__":true,"id":3883},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3879},"lighterFill":{"__isSmartRef__":true,"id":3884},"command":{"__isSmartRef__":true,"id":3858},"label":{"__isSmartRef__":true,"id":3864},"pvtCachedTransform":{"__isSmartRef__":true,"id":3887},"attributeConnections":[{"__isSmartRef__":true,"id":3888},{"__isSmartRef__":true,"id":3889}],"modelPlug":{"__isSmartRef__":true,"id":3890},"nextNavigableSibling":{"__isSmartRef__":true,"id":3892},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"343:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(0,220)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3859}},"3860":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":93},"stops":[{"__isSmartRef__":true,"id":3861},{"__isSmartRef__":true,"id":3862},{"__isSmartRef__":true,"id":3863}],"refcount":0,"_livelyDataWrapperId_":"17:lively.paint.LinearGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.LinearGradient","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"17:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3860}},"3861":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3861}},"3862":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.5","namespaceURI":null},{"key":"stop-color","value":"rgb(230,230,230)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3862}},"3863":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3863}},"3864":{"registeredObject":{"textString":"Add module","savedTextString":"Add module","submorphs":[{"__isSmartRef__":true,"id":3865}],"owner":{"__isSmartRef__":true,"id":3859},"_livelyDataWrapperId_":"346:TextMorph","origin":{"__isSmartRef__":true,"id":3870},"shape":{"__isSmartRef__":true,"id":3871},"textContent":{"__isSmartRef__":true,"id":3872},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3873},"textSelection":{"__isSmartRef__":true,"id":3865},"priorExtent":{"__isSmartRef__":true,"id":3874},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3875},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"346:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(27.071430206298828,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3864}},"3865":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3864},"_livelyDataWrapperId_":"348:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3866},"shape":{"__isSmartRef__":true,"id":3867},"priorExtent":{"__isSmartRef__":true,"id":3868},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3869},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"348:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3865}},"3866":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3866}},"3867":{"registeredObject":{"_livelyDataWrapperId_":"347:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"347:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3867}},"3868":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3868}},"3869":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3869}},"3870":{"registeredObject":{"x":27.071430206298828,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3870}},"3871":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"66","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3871}},"3872":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3872}},"3873":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":27.071430206298828,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3873}},"3874":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3874}},"3875":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3875}},"3876":{"registeredObject":{"x":0,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3876}},"3877":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":3879},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"117.143","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#344:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3877}},"3878":{"registeredObject":{"r":0.5019607843137255,"g":0.4470588235294118,"b":0.4666666666666667,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":3878}},"3879":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3881},{"__isSmartRef__":true,"id":3882}],"refcount":1,"_livelyDataWrapperId_":"344:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"344:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3879}},"3880":{"registeredObject":{"x":0,"y":1,"width":0,"height":-1,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3880}},"3881":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3881}},"3882":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3882}},"3883":{"registeredObject":{"x":117.14286041259766,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3883}},"3884":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3885},{"__isSmartRef__":true,"id":3886}],"refcount":0,"_livelyDataWrapperId_":"345:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"345:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3884}},"3885":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3885}},"3886":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3886}},"3887":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":220,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3887}},"3888":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3859},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3858},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3888}},"3889":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3859},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3859},"targetMethodName":"setLabel","converterString":"function () { return this.getSourceObj().command.asString() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3889}},"3890":{"registeredObject":{"model":{"__isSmartRef__":true,"id":3891},"setIsActive":"setIsActive","getIsActive":"getIsActive","__LivelyClassName__":"ModelPlug","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3890}},"3891":{"registeredObject":{},"ref":{"__isSmartRef__":true,"id":3891}},"3892":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":3893}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"349:ButtonMorph","origin":{"__isSmartRef__":true,"id":3905},"shape":{"__isSmartRef__":true,"id":3906},"priorExtent":{"__isSmartRef__":true,"id":3910},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3907},"lighterFill":{"__isSmartRef__":true,"id":3911},"command":{"__isSmartRef__":true,"id":3914},"label":{"__isSmartRef__":true,"id":3893},"pvtCachedTransform":{"__isSmartRef__":true,"id":3915},"attributeConnections":[{"__isSmartRef__":true,"id":3916},{"__isSmartRef__":true,"id":3917}],"modelPlug":{"__isSmartRef__":true,"id":3918},"nextNavigableSibling":{"__isSmartRef__":true,"id":3920},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"349:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(117.14286041259766,220)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3892}},"3893":{"registeredObject":{"textString":"Load all","savedTextString":"Load all","submorphs":[{"__isSmartRef__":true,"id":3894}],"owner":{"__isSmartRef__":true,"id":3892},"_livelyDataWrapperId_":"352:TextMorph","origin":{"__isSmartRef__":true,"id":3899},"shape":{"__isSmartRef__":true,"id":3900},"textContent":{"__isSmartRef__":true,"id":3901},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3902},"textSelection":{"__isSmartRef__":true,"id":3894},"priorExtent":{"__isSmartRef__":true,"id":3903},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3904},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"352:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(38.07156979369756,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3893}},"3894":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3893},"_livelyDataWrapperId_":"354:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3895},"shape":{"__isSmartRef__":true,"id":3896},"priorExtent":{"__isSmartRef__":true,"id":3897},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3898},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"354:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3894}},"3895":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3895}},"3896":{"registeredObject":{"_livelyDataWrapperId_":"353:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"353:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3896}},"3897":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3897}},"3898":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3898}},"3899":{"registeredObject":{"x":38.07156979369756,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3899}},"3900":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"44","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3900}},"3901":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3901}},"3902":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":38.07156979369756,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3902}},"3903":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3903}},"3904":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3904}},"3905":{"registeredObject":{"x":117.14286041259766,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3905}},"3906":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":3907},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0.000139587","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"117.143","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#350:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3906}},"3907":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3908},{"__isSmartRef__":true,"id":3909}],"refcount":1,"_livelyDataWrapperId_":"350:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"350:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3907}},"3908":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3908}},"3909":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3909}},"3910":{"registeredObject":{"x":117.14286041259766,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3910}},"3911":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3912},{"__isSmartRef__":true,"id":3913}],"refcount":0,"_livelyDataWrapperId_":"351:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"351:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3911}},"3912":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3912}},"3913":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3913}},"3914":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"button":{"__isSmartRef__":true,"id":3892},"__LivelyClassName__":"lively.ide.AllModulesLoadCommand","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":3914}},"3915":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":117.14286041259766,"f":220,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3915}},"3916":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3892},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3914},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3916}},"3917":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3892},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3892},"targetMethodName":"setLabel","converterString":"function () { return this.getSourceObj().command.asString() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3917}},"3918":{"registeredObject":{"model":{"__isSmartRef__":true,"id":3919},"setIsActive":"setIsActive","getIsActive":"getIsActive","__LivelyClassName__":"ModelPlug","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3918}},"3919":{"registeredObject":{},"ref":{"__isSmartRef__":true,"id":3919}},"3920":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":3921}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"355:ButtonMorph","origin":{"__isSmartRef__":true,"id":3933},"shape":{"__isSmartRef__":true,"id":3934},"priorExtent":{"__isSmartRef__":true,"id":3938},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3935},"lighterFill":{"__isSmartRef__":true,"id":3939},"command":{"__isSmartRef__":true,"id":3942},"label":{"__isSmartRef__":true,"id":3921},"pvtCachedTransform":{"__isSmartRef__":true,"id":3943},"attributeConnections":[{"__isSmartRef__":true,"id":3944},{"__isSmartRef__":true,"id":3945}],"modelPlug":{"__isSmartRef__":true,"id":3946},"nextNavigableSibling":{"__isSmartRef__":true,"id":3948},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"355:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(234.2857208251953,220)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3920}},"3921":{"registeredObject":{"textString":"LineNo","savedTextString":"LineNo","submorphs":[{"__isSmartRef__":true,"id":3922}],"owner":{"__isSmartRef__":true,"id":3920},"_livelyDataWrapperId_":"358:TextMorph","origin":{"__isSmartRef__":true,"id":3927},"shape":{"__isSmartRef__":true,"id":3928},"textContent":{"__isSmartRef__":true,"id":3929},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3930},"textSelection":{"__isSmartRef__":true,"id":3922},"priorExtent":{"__isSmartRef__":true,"id":3931},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3932},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"358:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(40.0717093810963,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3921}},"3922":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3921},"_livelyDataWrapperId_":"360:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3923},"shape":{"__isSmartRef__":true,"id":3924},"priorExtent":{"__isSmartRef__":true,"id":3925},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3926},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"360:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3922}},"3923":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3923}},"3924":{"registeredObject":{"_livelyDataWrapperId_":"359:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"359:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3924}},"3925":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3925}},"3926":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3926}},"3927":{"registeredObject":{"x":40.0717093810963,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3927}},"3928":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"40","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3928}},"3929":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3929}},"3930":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":40.0717093810963,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3930}},"3931":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3931}},"3932":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3932}},"3933":{"registeredObject":{"x":234.2857208251953,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3933}},"3934":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":3935},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0.000279175","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"117.143","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#356:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3934}},"3935":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3936},{"__isSmartRef__":true,"id":3937}],"refcount":1,"_livelyDataWrapperId_":"356:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"356:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3935}},"3936":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3936}},"3937":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3937}},"3938":{"registeredObject":{"x":117.14286041259766,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3938}},"3939":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3940},{"__isSmartRef__":true,"id":3941}],"refcount":0,"_livelyDataWrapperId_":"357:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"357:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3939}},"3940":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3940}},"3941":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3941}},"3942":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"button":{"__isSmartRef__":true,"id":3920},"__LivelyClassName__":"lively.ide.ShowLineNumbersCommand","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":3942}},"3943":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":234.2857208251953,"f":220,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3943}},"3944":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3920},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3942},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3944}},"3945":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3920},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3920},"targetMethodName":"setLabel","converterString":"function () { return this.getSourceObj().command.asString() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3945}},"3946":{"registeredObject":{"model":{"__isSmartRef__":true,"id":3947},"setIsActive":"setIsActive","getIsActive":"getIsActive","__LivelyClassName__":"ModelPlug","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3946}},"3947":{"registeredObject":{},"ref":{"__isSmartRef__":true,"id":3947}},"3948":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":3949}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"361:ButtonMorph","origin":{"__isSmartRef__":true,"id":3961},"shape":{"__isSmartRef__":true,"id":3962},"priorExtent":{"__isSmartRef__":true,"id":3966},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3963},"lighterFill":{"__isSmartRef__":true,"id":3967},"command":{"__isSmartRef__":true,"id":3970},"label":{"__isSmartRef__":true,"id":3949},"pvtCachedTransform":{"__isSmartRef__":true,"id":3971},"attributeConnections":[{"__isSmartRef__":true,"id":3972},{"__isSmartRef__":true,"id":3973}],"modelPlug":{"__isSmartRef__":true,"id":3974},"nextNavigableSibling":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"361:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(351.4285583496094,220)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3948}},"3949":{"registeredObject":{"textString":"Refresh","savedTextString":"Refresh","submorphs":[{"__isSmartRef__":true,"id":3950}],"owner":{"__isSmartRef__":true,"id":3948},"_livelyDataWrapperId_":"364:TextMorph","origin":{"__isSmartRef__":true,"id":3955},"shape":{"__isSmartRef__":true,"id":3956},"textContent":{"__isSmartRef__":true,"id":3957},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3958},"textSelection":{"__isSmartRef__":true,"id":3950},"priorExtent":{"__isSmartRef__":true,"id":3959},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3960},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"364:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(38.57187185672228,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3949}},"3950":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3949},"_livelyDataWrapperId_":"366:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3951},"shape":{"__isSmartRef__":true,"id":3952},"priorExtent":{"__isSmartRef__":true,"id":3953},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3954},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"366:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3950}},"3951":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3951}},"3952":{"registeredObject":{"_livelyDataWrapperId_":"365:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"365:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3952}},"3953":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3953}},"3954":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3954}},"3955":{"registeredObject":{"x":38.57187185672228,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3955}},"3956":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"43","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3956}},"3957":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3957}},"3958":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":38.57187185672228,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3958}},"3959":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3959}},"3960":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3960}},"3961":{"registeredObject":{"x":351.4285583496094,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3961}},"3962":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":3963},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0.00044165","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"117.143","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#362:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3962}},"3963":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3964},{"__isSmartRef__":true,"id":3965}],"refcount":1,"_livelyDataWrapperId_":"362:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"362:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3963}},"3964":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3964}},"3965":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3965}},"3966":{"registeredObject":{"x":117.14286041259766,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3966}},"3967":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3968},{"__isSmartRef__":true,"id":3969}],"refcount":0,"_livelyDataWrapperId_":"363:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"363:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3967}},"3968":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3968}},"3969":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3969}},"3970":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"button":{"__isSmartRef__":true,"id":3948},"__LivelyClassName__":"lively.ide.RefreshCommand","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":3970}},"3971":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":351.4285583496094,"f":220,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3971}},"3972":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3948},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3970},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3972}},"3973":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3948},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3948},"targetMethodName":"setLabel","converterString":"function () { return this.getSourceObj().command.asString() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":3973}},"3974":{"registeredObject":{"model":{"__isSmartRef__":true,"id":3975},"setIsActive":"setIsActive","getIsActive":"getIsActive","__LivelyClassName__":"ModelPlug","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":3974}},"3975":{"registeredObject":{},"ref":{"__isSmartRef__":true,"id":3975}},"3976":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":3977}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"367:ButtonMorph","origin":{"__isSmartRef__":true,"id":3989},"shape":{"__isSmartRef__":true,"id":3990},"priorExtent":{"__isSmartRef__":true,"id":3994},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3991},"lighterFill":{"__isSmartRef__":true,"id":3995},"command":{"__isSmartRef__":true,"id":3998},"label":{"__isSmartRef__":true,"id":3977},"pvtCachedTransform":{"__isSmartRef__":true,"id":3999},"attributeConnections":[{"__isSmartRef__":true,"id":4000},{"__isSmartRef__":true,"id":4001}],"modelPlug":{"__isSmartRef__":true,"id":4002},"nextNavigableSibling":{"__isSmartRef__":true,"id":4004},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"367:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(468.5714416503906,220)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3976}},"3977":{"registeredObject":{"textString":"Eval on","savedTextString":"Eval on","submorphs":[{"__isSmartRef__":true,"id":3978}],"owner":{"__isSmartRef__":true,"id":3976},"_livelyDataWrapperId_":"370:TextMorph","origin":{"__isSmartRef__":true,"id":3983},"shape":{"__isSmartRef__":true,"id":3984},"textContent":{"__isSmartRef__":true,"id":3985},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":3986},"textSelection":{"__isSmartRef__":true,"id":3978},"priorExtent":{"__isSmartRef__":true,"id":3987},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":3988},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"370:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(39.570988555875374,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3977}},"3978":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":3977},"_livelyDataWrapperId_":"372:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":3979},"shape":{"__isSmartRef__":true,"id":3980},"priorExtent":{"__isSmartRef__":true,"id":3981},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":3982},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"372:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3978}},"3979":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3979}},"3980":{"registeredObject":{"_livelyDataWrapperId_":"371:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"371:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3980}},"3981":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3981}},"3982":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3982}},"3983":{"registeredObject":{"x":39.570988555875374,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3983}},"3984":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"41","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3984}},"3985":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3985}},"3986":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":39.570988555875374,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3986}},"3987":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3987}},"3988":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3988}},"3989":{"registeredObject":{"x":468.5714416503906,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3989}},"3990":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":3991},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"-0.00044165","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"117.143","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#368:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3990}},"3991":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3992},{"__isSmartRef__":true,"id":3993}],"refcount":1,"_livelyDataWrapperId_":"368:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"368:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3991}},"3992":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3992}},"3993":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3993}},"3994":{"registeredObject":{"x":117.14286041259766,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3994}},"3995":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":3996},{"__isSmartRef__":true,"id":3997}],"refcount":0,"_livelyDataWrapperId_":"369:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"369:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3995}},"3996":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3996}},"3997":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":3997}},"3998":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"button":{"__isSmartRef__":true,"id":3976},"__LivelyClassName__":"lively.ide.EvaluateCommand","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":3998}},"3999":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":468.5714416503906,"f":220,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":3999}},"4000":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3976},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3998},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4000}},"4001":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":3976},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3976},"targetMethodName":"setLabel","converterString":"function () { return this.getSourceObj().command.asString() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4001}},"4002":{"registeredObject":{"model":{"__isSmartRef__":true,"id":4003},"setIsActive":"setIsActive","getIsActive":"getIsActive","__LivelyClassName__":"ModelPlug","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":4002}},"4003":{"registeredObject":{},"ref":{"__isSmartRef__":true,"id":4003}},"4004":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":4005}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"373:ButtonMorph","origin":{"__isSmartRef__":true,"id":4017},"shape":{"__isSmartRef__":true,"id":4018},"priorExtent":{"__isSmartRef__":true,"id":4022},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4019},"lighterFill":{"__isSmartRef__":true,"id":4023},"command":{"__isSmartRef__":true,"id":4026},"label":{"__isSmartRef__":true,"id":4005},"pvtCachedTransform":{"__isSmartRef__":true,"id":4027},"attributeConnections":[{"__isSmartRef__":true,"id":4028},{"__isSmartRef__":true,"id":4029}],"modelPlug":{"__isSmartRef__":true,"id":4030},"nextNavigableSibling":{"__isSmartRef__":true,"id":4032},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"373:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(585.7142944335938,220)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4004}},"4005":{"registeredObject":{"textString":"Sort","savedTextString":"Sort","submorphs":[{"__isSmartRef__":true,"id":4006}],"owner":{"__isSmartRef__":true,"id":4004},"_livelyDataWrapperId_":"376:TextMorph","origin":{"__isSmartRef__":true,"id":4011},"shape":{"__isSmartRef__":true,"id":4012},"textContent":{"__isSmartRef__":true,"id":4013},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4014},"textSelection":{"__isSmartRef__":true,"id":4006},"priorExtent":{"__isSmartRef__":true,"id":4015},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4016},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"376:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(49.07113577268319,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4005}},"4006":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4005},"_livelyDataWrapperId_":"378:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4007},"shape":{"__isSmartRef__":true,"id":4008},"priorExtent":{"__isSmartRef__":true,"id":4009},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4010},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"378:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4006}},"4007":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4007}},"4008":{"registeredObject":{"_livelyDataWrapperId_":"377:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"377:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4008}},"4009":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4009}},"4010":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4010}},"4011":{"registeredObject":{"x":49.07113577268319,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4011}},"4012":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"22","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4012}},"4013":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4013}},"4014":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":49.07113577268319,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4014}},"4015":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4015}},"4016":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4016}},"4017":{"registeredObject":{"x":585.7142944335938,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4017}},"4018":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":4019},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"-0.000294434","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"117.143","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#374:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4018}},"4019":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4020},{"__isSmartRef__":true,"id":4021}],"refcount":1,"_livelyDataWrapperId_":"374:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"374:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4019}},"4020":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4020}},"4021":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4021}},"4022":{"registeredObject":{"x":117.14286041259766,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4022}},"4023":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4024},{"__isSmartRef__":true,"id":4025}],"refcount":0,"_livelyDataWrapperId_":"375:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"375:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4023}},"4024":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4024}},"4025":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4025}},"4026":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"button":{"__isSmartRef__":true,"id":4004},"__LivelyClassName__":"lively.ide.SortCommand","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":4026}},"4027":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":585.7142944335938,"f":220,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4027}},"4028":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4004},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4026},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4028}},"4029":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4004},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4004},"targetMethodName":"setLabel","converterString":"function () { return this.getSourceObj().command.asString() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4029}},"4030":{"registeredObject":{"model":{"__isSmartRef__":true,"id":4031},"setIsActive":"setIsActive","getIsActive":"getIsActive","__LivelyClassName__":"ModelPlug","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":4030}},"4031":{"registeredObject":{},"ref":{"__isSmartRef__":true,"id":4031}},"4032":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":4033}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"379:ButtonMorph","origin":{"__isSmartRef__":true,"id":4045},"shape":{"__isSmartRef__":true,"id":4046},"priorExtent":{"__isSmartRef__":true,"id":4050},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4047},"lighterFill":{"__isSmartRef__":true,"id":4051},"command":{"__isSmartRef__":true,"id":4054},"label":{"__isSmartRef__":true,"id":4033},"pvtCachedTransform":{"__isSmartRef__":true,"id":4055},"attributeConnections":[{"__isSmartRef__":true,"id":4056},{"__isSmartRef__":true,"id":4057}],"modelPlug":{"__isSmartRef__":true,"id":4058},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"379:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(702.8571166992188,220)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4032}},"4033":{"registeredObject":{"textString":"View as...","savedTextString":"View as...","submorphs":[{"__isSmartRef__":true,"id":4034}],"owner":{"__isSmartRef__":true,"id":4032},"_livelyDataWrapperId_":"382:TextMorph","origin":{"__isSmartRef__":true,"id":4039},"shape":{"__isSmartRef__":true,"id":4040},"textContent":{"__isSmartRef__":true,"id":4041},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4042},"textSelection":{"__isSmartRef__":true,"id":4034},"priorExtent":{"__isSmartRef__":true,"id":4043},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4044},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"textColor":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"382:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(34.07131350707641,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4033}},"4034":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4033},"_livelyDataWrapperId_":"384:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4035},"shape":{"__isSmartRef__":true,"id":4036},"priorExtent":{"__isSmartRef__":true,"id":4037},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4038},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"384:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4034}},"4035":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4035}},"4036":{"registeredObject":{"_livelyDataWrapperId_":"383:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"383:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4036}},"4037":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4037}},"4038":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4038}},"4039":{"registeredObject":{"x":34.07131350707641,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4039}},"4040":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"52","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4040}},"4041":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4041}},"4042":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":34.07131350707641,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4042}},"4043":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4043}},"4044":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4044}},"4045":{"registeredObject":{"x":702.8571166992188,"y":220,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4045}},"4046":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":4047},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"-0.000116699","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"117.143","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#380:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4046}},"4047":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4048},{"__isSmartRef__":true,"id":4049}],"refcount":1,"_livelyDataWrapperId_":"380:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"380:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4047}},"4048":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4048}},"4049":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4049}},"4050":{"registeredObject":{"x":117.14286041259766,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4050}},"4051":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4052},{"__isSmartRef__":true,"id":4053}],"refcount":0,"_livelyDataWrapperId_":"381:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"381:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4051}},"4052":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4052}},"4053":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4053}},"4054":{"registeredObject":{"browser":{"__isSmartRef__":true,"id":218},"button":{"__isSmartRef__":true,"id":4032},"__LivelyClassName__":"lively.ide.ViewSourceCommand","__SourceModuleName__":"Global.lively.ide"},"ref":{"__isSmartRef__":true,"id":4054}},"4055":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":702.8571166992188,"f":220,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4055}},"4056":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4032},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4054},"targetMethodName":"trigger","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4056}},"4057":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4032},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4032},"targetMethodName":"setLabel","converterString":"function () { return this.getSourceObj().command.asString() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4057}},"4058":{"registeredObject":{"model":{"__isSmartRef__":true,"id":4059},"setIsActive":"setIsActive","getIsActive":"getIsActive","__LivelyClassName__":"ModelPlug","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":4058}},"4059":{"registeredObject":{},"ref":{"__isSmartRef__":true,"id":4059}},"4060":{"registeredObject":{"protocol":"http:","hostname":"www.lively-kernel.org","pathname":"/repository/webwerkstatt/lively/","__SourceModuleName__":"Global.lively.Network","__LivelyClassName__":"URL"},"ref":{"__isSmartRef__":true,"id":4060}},"4061":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":218},"sourceAttrName":"targetURL","targetObj":{"__isSmartRef__":true,"id":200},"targetMethodName":"setTextString","converterString":"function (value) { return value.toString() }","updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4061}},"4062":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4062}},"4063":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"642","namespaceURI":null},{"key":"height","value":"20","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4063}},"4064":{"registeredObject":{"x":654,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4064}},"4065":{"registeredObject":{"_livelyDataWrapperId_":"72:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":4066},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"72:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4065}},"4066":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"642","namespaceURI":null},{"key":"height","value":"20","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4066}},"4067":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4067}},"4068":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4069}],"owner":{"__isSmartRef__":true,"id":198},"_livelyDataWrapperId_":"73:SliderMorph","origin":{"__isSmartRef__":true,"id":4076},"shape":{"__isSmartRef__":true,"id":4077},"priorExtent":{"__isSmartRef__":true,"id":4078},"value":0,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":4079},"slider":{"__isSmartRef__":true,"id":4069},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":4080},{"__isSmartRef__":true,"id":4081}],"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"73:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(642,1)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4068}},"4069":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4068},"_livelyDataWrapperId_":"74:Morph","origin":{"__isSmartRef__":true,"id":4070},"shape":{"__isSmartRef__":true,"id":4071},"priorExtent":{"__isSmartRef__":true,"id":4072},"pvtCachedTransform":{"__isSmartRef__":true,"id":4073},"mouseHandler":{"__isSmartRef__":true,"id":4074},"styleClass":["slider"],"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"74:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4069}},"4070":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4070}},"4071":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"21","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4071}},"4072":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4072}},"4073":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4073}},"4074":{"registeredObject":{"target":{"__isSmartRef__":true,"id":4068},"eventSpec":{"__isSmartRef__":true,"id":4075},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":4074}},"4075":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":4075}},"4076":{"registeredObject":{"x":642,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4076}},"4077":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"21","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4077}},"4078":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4078}},"4079":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":642,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4079}},"4080":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4068},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":198},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4080}},"4081":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4068},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":198},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4081}},"4082":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4082}},"4083":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"656","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4083}},"4084":{"registeredObject":{"x":656,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4084}},"4085":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4085}},"4086":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":198},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":4068},"targetMethodName":"setValue","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4086}},"4087":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":4088}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"75:ButtonMorph","origin":{"__isSmartRef__":true,"id":4100},"shape":{"__isSmartRef__":true,"id":4101},"priorExtent":{"__isSmartRef__":true,"id":4105},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4102},"lighterFill":{"__isSmartRef__":true,"id":4106},"pvtCachedTransform":{"__isSmartRef__":true,"id":4109},"nextNavigableSibling":{"__isSmartRef__":true,"id":4110},"label":{"__isSmartRef__":true,"id":4088},"attributeConnections":[{"__isSmartRef__":true,"id":4134}],"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"75:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(656,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4087}},"4088":{"registeredObject":{"textString":"codebase","savedTextString":"codebase","submorphs":[{"__isSmartRef__":true,"id":4089}],"owner":{"__isSmartRef__":true,"id":4087},"_livelyDataWrapperId_":"337:TextMorph","origin":{"__isSmartRef__":true,"id":4094},"shape":{"__isSmartRef__":true,"id":4095},"textContent":{"__isSmartRef__":true,"id":4096},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4097},"textSelection":{"__isSmartRef__":true,"id":4089},"priorExtent":{"__isSmartRef__":true,"id":4098},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4099},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"337:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(23.700000762939453,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4088}},"4089":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4088},"_livelyDataWrapperId_":"339:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4090},"shape":{"__isSmartRef__":true,"id":4091},"priorExtent":{"__isSmartRef__":true,"id":4092},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4093},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"339:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4089}},"4090":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4090}},"4091":{"registeredObject":{"_livelyDataWrapperId_":"338:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"338:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4091}},"4092":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4092}},"4093":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4093}},"4094":{"registeredObject":{"x":23.700000762939453,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4094}},"4095":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"54","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4095}},"4096":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4096}},"4097":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":23.700000762939453,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4097}},"4098":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4098}},"4099":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4099}},"4100":{"registeredObject":{"x":656,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4100}},"4101":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":4102},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"98.4","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#76:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4101}},"4102":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4103},{"__isSmartRef__":true,"id":4104}],"refcount":1,"_livelyDataWrapperId_":"76:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"76:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4102}},"4103":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4103}},"4104":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4104}},"4105":{"registeredObject":{"x":98.4000015258789,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4105}},"4106":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4107},{"__isSmartRef__":true,"id":4108}],"refcount":0,"_livelyDataWrapperId_":"77:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"77:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4106}},"4107":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4107}},"4108":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4108}},"4109":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":656,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4109}},"4110":{"registeredObject":{"baseFill":{"__isSmartRef__":true,"id":3860},"submorphs":[{"__isSmartRef__":true,"id":4111}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"78:ButtonMorph","origin":{"__isSmartRef__":true,"id":4123},"shape":{"__isSmartRef__":true,"id":4124},"priorExtent":{"__isSmartRef__":true,"id":4128},"value":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":4125},"lighterFill":{"__isSmartRef__":true,"id":4129},"pvtCachedTransform":{"__isSmartRef__":true,"id":4132},"label":{"__isSmartRef__":true,"id":4111},"attributeConnections":[{"__isSmartRef__":true,"id":4133}],"nextNavigableSibling":{"__isSmartRef__":true,"id":3859},"__LivelyClassName__":"ButtonMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ButtonMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"78:ButtonMorph","namespaceURI":null},{"key":"class","value":"button","namespaceURI":null},{"key":"transform","value":"translate(754.4000244140625,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4110}},"4111":{"registeredObject":{"textString":"local","savedTextString":"local","submorphs":[{"__isSmartRef__":true,"id":4112}],"owner":{"__isSmartRef__":true,"id":4110},"_livelyDataWrapperId_":"340:TextMorph","origin":{"__isSmartRef__":true,"id":4117},"shape":{"__isSmartRef__":true,"id":4118},"textContent":{"__isSmartRef__":true,"id":4119},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4120},"textSelection":{"__isSmartRef__":true,"id":4112},"priorExtent":{"__isSmartRef__":true,"id":4121},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4122},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"340:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(21.299974822997683,5.900000095367432)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4111}},"4112":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4111},"_livelyDataWrapperId_":"342:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4113},"shape":{"__isSmartRef__":true,"id":4114},"priorExtent":{"__isSmartRef__":true,"id":4115},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4116},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"342:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4112}},"4113":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4113}},"4114":{"registeredObject":{"_livelyDataWrapperId_":"341:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"341:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4114}},"4115":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4115}},"4116":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4116}},"4117":{"registeredObject":{"x":21.299974822997683,"y":5.900000095367432,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4117}},"4118":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"26","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4118}},"4119":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4119}},"4120":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":21.299974822997683,"f":5.900000095367432,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4120}},"4121":{"registeredObject":{"x":188,"y":92,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4121}},"4122":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4122}},"4123":{"registeredObject":{"x":754.4000244140625,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4123}},"4124":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":3878},"_fill":{"__isSmartRef__":true,"id":4125},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"-2.44141e-05","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"65.6","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0.6","namespaceURI":null},{"key":"stroke","value":"rgb(128,114,119)","namespaceURI":null},{"key":"fill","value":"url(#79:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"5","namespaceURI":null},{"key":"ry","value":"5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4124}},"4125":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4126},{"__isSmartRef__":true,"id":4127}],"refcount":1,"_livelyDataWrapperId_":"79:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"79:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4125}},"4126":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(209,209,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4126}},"4127":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4127}},"4128":{"registeredObject":{"x":65.5999984741211,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4128}},"4129":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":3880},"stops":[{"__isSmartRef__":true,"id":4130},{"__isSmartRef__":true,"id":4131}],"refcount":0,"_livelyDataWrapperId_":"80:lively.paint.LinearGradient","__LivelyClassName__":"lively.paint.LinearGradient","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"1","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"0","namespaceURI":null},{"key":"id","value":"80:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4129}},"4130":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(232,232,232)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4130}},"4131":{"registeredObject":{"__LivelyClassName__":"lively.paint.Stop","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(244,244,244)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4131}},"4132":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":754.4000244140625,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4132}},"4133":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4110},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":218},"targetMethodName":"setTargetURL","converterString":"function () { return URL.source.getDirectory() }","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4133}},"4134":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4087},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":218},"targetMethodName":"setTargetURL","converterString":"function () { return URL.codeBase.withFilename('lively/')}","updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4134}},"4135":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"117:HorizontalDivider","origin":{"__isSmartRef__":true,"id":4136},"shape":{"__isSmartRef__":true,"id":4137},"priorExtent":{"__isSmartRef__":true,"id":4139},"fixed":[{"__isSmartRef__":true,"id":3859},{"__isSmartRef__":true,"id":3892},{"__isSmartRef__":true,"id":3920},{"__isSmartRef__":true,"id":3948},{"__isSmartRef__":true,"id":3976},{"__isSmartRef__":true,"id":4004},{"__isSmartRef__":true,"id":4032}],"scalingBelow":[{"__isSmartRef__":true,"id":1619}],"scalingAbove":[{"__isSmartRef__":true,"id":2562},{"__isSmartRef__":true,"id":3409},{"__isSmartRef__":true,"id":3696},{"__isSmartRef__":true,"id":3800}],"minHeight":20,"pointerConnection":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4140},"styleClass":["Browser_resizer"],"__LivelyClassName__":"HorizontalDivider","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"HorizontalDivider","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"117:HorizontalDivider","namespaceURI":null},{"key":"transform","value":"translate(0,242)","namespaceURI":null},{"key":"class","value":"Browser_resizer","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4135}},"4136":{"registeredObject":{"x":0,"y":242,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4136}},"4137":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":4138},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"820","namespaceURI":null},{"key":"height","value":"5.5","namespaceURI":null},{"key":"fill","value":"rgb(204,204,204)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4137}},"4138":{"registeredObject":{"r":0.8,"g":0.8,"b":0.8,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4138}},"4139":{"registeredObject":{"x":820,"y":5.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4139}},"4140":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":242,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4140}},"4141":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"127:HorizontalDivider","origin":{"__isSmartRef__":true,"id":4142},"shape":{"__isSmartRef__":true,"id":4143},"priorExtent":{"__isSmartRef__":true,"id":4144},"fixed":[],"scalingBelow":[{"__isSmartRef__":true,"id":4145}],"scalingAbove":[{"__isSmartRef__":true,"id":1619}],"minHeight":20,"pointerConnection":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4187},"styleClass":["Browser_resizer"],"__LivelyClassName__":"HorizontalDivider","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"HorizontalDivider","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"127:HorizontalDivider","namespaceURI":null},{"key":"transform","value":"translate(0,517)","namespaceURI":null},{"key":"class","value":"Browser_resizer","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4141}},"4142":{"registeredObject":{"x":0,"y":517,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4142}},"4143":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":4138},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"820","namespaceURI":null},{"key":"height","value":"5.5","namespaceURI":null},{"key":"fill","value":"rgb(204,204,204)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4143}},"4144":{"registeredObject":{"x":820,"y":5.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4144}},"4145":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4146},{"__isSmartRef__":true,"id":4168}],"owner":{"__isSmartRef__":true,"id":197},"_livelyDataWrapperId_":"132:ScrollPane","origin":{"__isSmartRef__":true,"id":4182},"shape":{"__isSmartRef__":true,"id":4183},"priorExtent":{"__isSmartRef__":true,"id":4184},"pvtCachedTransform":{"__isSmartRef__":true,"id":4185},"clipMorph":{"__isSmartRef__":true,"id":4146},"verticalScrollBar":{"__isSmartRef__":true,"id":4168},"attributeConnections":[{"__isSmartRef__":true,"id":4186}],"suppressHandles":true,"styleClass":["Browser_commentPane"],"__LivelyClassName__":"ScrollPane","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ScrollPane","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"132:ScrollPane","namespaceURI":null},{"key":"transform","value":"translate(0,522.5)","namespaceURI":null},{"key":"class","value":"Browser_commentPane","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4145}},"4146":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4147}],"owner":{"__isSmartRef__":true,"id":4145},"_livelyDataWrapperId_":"133:ClipMorph","origin":{"__isSmartRef__":true,"id":4162},"shape":{"__isSmartRef__":true,"id":4163},"priorExtent":{"__isSmartRef__":true,"id":4164},"clip":{"__isSmartRef__":true,"id":4165},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":4167},"suppressHandles":true,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"133:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#134:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4146}},"4147":{"registeredObject":{"textString":"","savedTextString":"","submorphs":[{"__isSmartRef__":true,"id":4148}],"owner":{"__isSmartRef__":true,"id":4146},"_livelyDataWrapperId_":"128:TextMorph","origin":{"__isSmartRef__":true,"id":4153},"shape":{"__isSmartRef__":true,"id":4154},"textContent":{"__isSmartRef__":true,"id":4155},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4156},"textSelection":{"__isSmartRef__":true,"id":4148},"priorExtent":{"__isSmartRef__":true,"id":4157},"useChangeClue":true,"changeClue":{"__isSmartRef__":true,"id":4158},"suppressHandles":true,"styleClass":["Browser_commentPaneText"],"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"128:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null},{"key":"class","value":"Browser_commentPaneText","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4147}},"4148":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4147},"_livelyDataWrapperId_":"130:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4149},"shape":{"__isSmartRef__":true,"id":4150},"priorExtent":{"__isSmartRef__":true,"id":4151},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4152},"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"130:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4148}},"4149":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4149}},"4150":{"registeredObject":{"_livelyDataWrapperId_":"129:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"129:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4150}},"4151":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4151}},"4152":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4152}},"4153":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4153}},"4154":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"806","namespaceURI":null},{"key":"height","value":"25.5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4154}},"4155":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4155}},"4156":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4156}},"4157":{"registeredObject":{"x":808,"y":19.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4157}},"4158":{"registeredObject":{"submorphs":[],"owner":null,"_livelyDataWrapperId_":"131:Morph","origin":{"__isSmartRef__":true,"id":4159},"shape":{"__isSmartRef__":true,"id":4160},"priorExtent":{"__isSmartRef__":true,"id":4161},"mouseHandler":null,"ignoreWhenCopying":true,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"131:Morph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4158}},"4159":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4159}},"4160":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":215},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"5","namespaceURI":null},{"key":"height","value":"5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(204,0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4160}},"4161":{"registeredObject":{"x":5,"y":5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4161}},"4162":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4162}},"4163":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"806","namespaceURI":null},{"key":"height","value":"25.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4163}},"4164":{"registeredObject":{"x":818,"y":25.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4164}},"4165":{"registeredObject":{"_livelyDataWrapperId_":"134:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":4166},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"134:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4165}},"4166":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"806","namespaceURI":null},{"key":"height","value":"25.5","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4166}},"4167":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4167}},"4168":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4169}],"owner":{"__isSmartRef__":true,"id":4145},"_livelyDataWrapperId_":"135:SliderMorph","origin":{"__isSmartRef__":true,"id":4176},"shape":{"__isSmartRef__":true,"id":4177},"priorExtent":{"__isSmartRef__":true,"id":4178},"value":0,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":4179},"slider":{"__isSmartRef__":true,"id":4169},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":4180},{"__isSmartRef__":true,"id":4181}],"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"135:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(806,1)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4168}},"4169":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4168},"_livelyDataWrapperId_":"136:Morph","origin":{"__isSmartRef__":true,"id":4170},"shape":{"__isSmartRef__":true,"id":4171},"priorExtent":{"__isSmartRef__":true,"id":4172},"pvtCachedTransform":{"__isSmartRef__":true,"id":4173},"mouseHandler":{"__isSmartRef__":true,"id":4174},"styleClass":["slider"],"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"136:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4169}},"4170":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4170}},"4171":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"26.5","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4171}},"4172":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4172}},"4173":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4173}},"4174":{"registeredObject":{"target":{"__isSmartRef__":true,"id":4168},"eventSpec":{"__isSmartRef__":true,"id":4175},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":4174}},"4175":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":4175}},"4176":{"registeredObject":{"x":806,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4176}},"4177":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"26.5","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4177}},"4178":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4178}},"4179":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":806,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4179}},"4180":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4168},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":4145},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4180}},"4181":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4168},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":4145},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4181}},"4182":{"registeredObject":{"x":0,"y":522.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4182}},"4183":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"820","namespaceURI":null},{"key":"height","value":"27.5","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4183}},"4184":{"registeredObject":{"x":820,"y":27.5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4184}},"4185":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":522.5,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4185}},"4186":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4145},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":4168},"targetMethodName":"setValue","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4186}},"4187":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":517,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4187}},"4188":{"registeredObject":{"x":0,"y":23,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4188}},"4189":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":4190},"_fill":{"__isSmartRef__":true,"id":4191},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"820","namespaceURI":null},{"key":"height","value":"550","namespaceURI":null},{"key":"stroke-width","value":"2","namespaceURI":null},{"key":"stroke","value":"rgb(51,51,51)","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4189}},"4190":{"registeredObject":{"r":0.2,"g":0.2,"b":0.2,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4190}},"4191":{"registeredObject":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4191}},"4192":{"registeredObject":{"x":820,"y":550,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4192}},"4193":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":23,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4193}},"4194":{"registeredObject":{"x":30,"y":428,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4194}},"4195":{"registeredObject":{"_fill":null,"__SourceModuleName__":"Global","__LivelyClassName__":"lively.scene.Rectangle","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"822","namespaceURI":null},{"key":"height","value":"575","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4195}},"4196":{"registeredObject":{"x":822,"y":552,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4196}},"4197":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":30,"f":428,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4197}},"4198":{"registeredObject":{"x":0,"y":23,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4198}},"4199":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4199}},"4200":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4201},{"__isSmartRef__":true,"id":4245}],"owner":{"__isSmartRef__":true,"id":0},"_livelyDataWrapperId_":"4288:WindowMorph","origin":{"__isSmartRef__":true,"id":4350},"shape":{"__isSmartRef__":true,"id":4351},"priorExtent":{"__isSmartRef__":true,"id":4352},"pvtCachedTransform":{"__isSmartRef__":true,"id":4353},"targetMorph":{"__isSmartRef__":true,"id":4201},"titleBar":{"__isSmartRef__":true,"id":4245},"contentOffset":{"__isSmartRef__":true,"id":4354},"__layered_openForDragAndDrop__":false,"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"rotation":0,"scalePoint":{"__isSmartRef__":true,"id":4355},"__LivelyClassName__":"WindowMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"WindowMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4288:WindowMorph","namespaceURI":null},{"key":"transform","value":"translate(863,62)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4200}},"4201":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4202},{"__isSmartRef__":true,"id":4226}],"owner":{"__isSmartRef__":true,"id":4200},"_livelyDataWrapperId_":"4283:ScrollPane","origin":{"__isSmartRef__":true,"id":4240},"shape":{"__isSmartRef__":true,"id":4241},"priorExtent":{"__isSmartRef__":true,"id":4242},"pvtCachedTransform":{"__isSmartRef__":true,"id":4243},"clipMorph":{"__isSmartRef__":true,"id":4202},"verticalScrollBar":{"__isSmartRef__":true,"id":4226},"attributeConnections":[{"__isSmartRef__":true,"id":4244}],"suppressHandles":true,"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"ScrollPane","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ScrollPane","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4283:ScrollPane","namespaceURI":null},{"key":"transform","value":"translate(0,23)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4201}},"4202":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4203}],"owner":{"__isSmartRef__":true,"id":4201},"_livelyDataWrapperId_":"4284:ClipMorph","origin":{"__isSmartRef__":true,"id":4220},"shape":{"__isSmartRef__":true,"id":4221},"priorExtent":{"__isSmartRef__":true,"id":4222},"clip":{"__isSmartRef__":true,"id":4223},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":4225},"suppressHandles":true,"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4284:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#4285:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4202}},"4203":{"registeredObject":{"textString":"c = this.canvas()\nw = new WorldMorph()\nw.setBounds(new Rectangle(900, 500, 300, 300))\nw.bounds()\nw.setPosition(pt(900,500))\nw.setFill(Color.red)\nc.appendChild(w.rawNode)\n// w.rawNode.parentNode.removeChild(w.rawNode)","savedTextString":"Editable text","submorphs":[{"__isSmartRef__":true,"id":4204},{"__isSmartRef__":true,"id":4209}],"owner":{"__isSmartRef__":true,"id":4202},"_livelyDataWrapperId_":"4279:TextMorph","origin":{"__isSmartRef__":true,"id":4215},"shape":{"__isSmartRef__":true,"id":4216},"textContent":{"__isSmartRef__":true,"id":4217},"lineNumberHint":7,"pvtCachedTransform":{"__isSmartRef__":true,"id":4218},"textSelection":{"__isSmartRef__":true,"id":4204},"priorExtent":{"__isSmartRef__":true,"id":4219},"useChangeClue":true,"changeClue":{"__isSmartRef__":true,"id":4209},"suppressHandles":true,"__layered_openForDragAndDrop__":false,"fontFamily":"Courier","hasKeyboardFocus":false,"isSelecting":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4279:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(1,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4203}},"4204":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4203},"_livelyDataWrapperId_":"4281:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4205},"shape":{"__isSmartRef__":true,"id":4206},"priorExtent":{"__isSmartRef__":true,"id":4207},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4208},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4281:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4204}},"4205":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4205}},"4206":{"registeredObject":{"_livelyDataWrapperId_":"4280:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"4280:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4206}},"4207":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4207}},"4208":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4208}},"4209":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4203},"_livelyDataWrapperId_":"4282:Morph","origin":{"__isSmartRef__":true,"id":4210},"shape":{"__isSmartRef__":true,"id":4211},"priorExtent":{"__isSmartRef__":true,"id":4212},"mouseHandler":null,"ignoreWhenCopying":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":4213},"rotation":0,"scalePoint":{"__isSmartRef__":true,"id":4214},"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4282:Morph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4209}},"4210":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4210}},"4211":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":215},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"5","namespaceURI":null},{"key":"height","value":"5","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(204,0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4211}},"4212":{"registeredObject":{"x":5,"y":5,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4212}},"4213":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4213}},"4214":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4214}},"4215":{"registeredObject":{"x":1,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4215}},"4216":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"486","namespaceURI":null},{"key":"height","value":"122","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4216}},"4217":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Courier","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4217}},"4218":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4218}},"4219":{"registeredObject":{"x":488,"y":192,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4219}},"4220":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4220}},"4221":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"486","namespaceURI":null},{"key":"height","value":"198","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4221}},"4222":{"registeredObject":{"x":498,"y":198,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4222}},"4223":{"registeredObject":{"_livelyDataWrapperId_":"4285:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":4224},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"4285:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4223}},"4224":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":208},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"486","namespaceURI":null},{"key":"height","value":"198","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4224}},"4225":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4225}},"4226":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4227}],"owner":{"__isSmartRef__":true,"id":4201},"_livelyDataWrapperId_":"4286:SliderMorph","origin":{"__isSmartRef__":true,"id":4234},"shape":{"__isSmartRef__":true,"id":4235},"priorExtent":{"__isSmartRef__":true,"id":4236},"value":0,"sliderExtent":0.1,"valueScale":1,"pvtCachedTransform":{"__isSmartRef__":true,"id":4237},"slider":{"__isSmartRef__":true,"id":4227},"styleClass":["slider_background"],"suppressHandles":true,"attributeConnections":[{"__isSmartRef__":true,"id":4238},{"__isSmartRef__":true,"id":4239}],"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"SliderMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"SliderMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4286:SliderMorph","namespaceURI":null},{"key":"transform","value":"translate(486,1)","namespaceURI":null},{"key":"class","value":"slider_background","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4226}},"4227":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4226},"_livelyDataWrapperId_":"4287:Morph","origin":{"__isSmartRef__":true,"id":4228},"shape":{"__isSmartRef__":true,"id":4229},"priorExtent":{"__isSmartRef__":true,"id":4230},"pvtCachedTransform":{"__isSmartRef__":true,"id":4231},"mouseHandler":{"__isSmartRef__":true,"id":4232},"styleClass":["slider"],"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4287:Morph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"class","value":"slider","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4227}},"4228":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4228}},"4229":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1624},"_fill":{"__isSmartRef__":true,"id":1625},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"199","namespaceURI":null},{"key":"stroke","value":"rgb(102,102,102)","namespaceURI":null},{"key":"fill","value":"url(#18:lively.paint.LinearGradient)","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4229}},"4230":{"registeredObject":{"x":12,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4230}},"4231":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4231}},"4232":{"registeredObject":{"target":{"__isSmartRef__":true,"id":4226},"eventSpec":{"__isSmartRef__":true,"id":4233},"__LivelyClassName__":"MouseHandlerForRelay","__SourceModuleName__":"Global.lively.Core"},"ref":{"__isSmartRef__":true,"id":4232}},"4233":{"registeredObject":{"onMouseDown":"sliderPressed","onMouseMove":"sliderMoved","onMouseUp":"sliderReleased"},"ref":{"__isSmartRef__":true,"id":4233}},"4234":{"registeredObject":{"x":486,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4234}},"4235":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":1636},"_fill":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"14","namespaceURI":null},{"key":"height","value":"199","namespaceURI":null},{"key":"stroke","value":"rgb(204,204,204)","namespaceURI":null},{"key":"fill","value":"url(#19:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-opacity","value":"1","namespaceURI":null},{"key":"rx","value":"6","namespaceURI":null},{"key":"ry","value":"6","namespaceURI":null},{"key":"stroke-width","value":"1","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4235}},"4236":{"registeredObject":{"x":5,"y":10,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4236}},"4237":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":486,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4237}},"4238":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4226},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":4201},"targetMethodName":"setVerticalScrollPosition","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4238}},"4239":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4226},"sourceAttrName":"getSliderExtent","targetObj":{"__isSmartRef__":true,"id":4201},"targetMethodName":"getVerticalVisibleExtent","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4239}},"4240":{"registeredObject":{"x":0,"y":23,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4240}},"4241":{"registeredObject":{"_fill":null,"_stroke":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"500","namespaceURI":null},{"key":"height","value":"200","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4241}},"4242":{"registeredObject":{"x":500,"y":200,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4242}},"4243":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":23,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4243}},"4244":{"registeredObject":{"sourceObj":{"__isSmartRef__":true,"id":4201},"sourceAttrName":"setVerticalScrollPosition","targetObj":{"__isSmartRef__":true,"id":4226},"targetMethodName":"setValue","converterString":null,"updaterString":null,"isActive":false,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings"},"ref":{"__isSmartRef__":true,"id":4244}},"4245":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4246},{"__isSmartRef__":true,"id":4258},{"__isSmartRef__":true,"id":4271},{"__isSmartRef__":true,"id":4296},{"__isSmartRef__":true,"id":4321}],"owner":{"__isSmartRef__":true,"id":4200},"_livelyDataWrapperId_":"4289:TitleBarMorph","origin":{"__isSmartRef__":true,"id":4346},"shape":{"__isSmartRef__":true,"id":4347},"priorExtent":{"__isSmartRef__":true,"id":4348},"pvtCachedTransform":{"__isSmartRef__":true,"id":4349},"mouseHandler":null,"contentMorph":{"__isSmartRef__":true,"id":4247},"windowMorph":{"__isSmartRef__":true,"id":4200},"label":{"__isSmartRef__":true,"id":4258},"closeButton":{"__isSmartRef__":true,"id":4271},"menuButton":{"__isSmartRef__":true,"id":4296},"collapseButton":{"__isSmartRef__":true,"id":4321},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TitleBarMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TitleBarMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4289:TitleBarMorph","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4245}},"4246":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4247}],"owner":{"__isSmartRef__":true,"id":4245},"_livelyDataWrapperId_":"4291:ClipMorph","origin":{"__isSmartRef__":true,"id":4252},"shape":{"__isSmartRef__":true,"id":4253},"priorExtent":{"__isSmartRef__":true,"id":4254},"clip":{"__isSmartRef__":true,"id":4255},"isClipMorph":true,"pvtCachedTransform":{"__isSmartRef__":true,"id":4257},"mouseHandler":null,"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"ClipMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"ClipMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4291:ClipMorph","namespaceURI":null},{"key":"clip-path","value":"url(#4292:lively.scene.Clip)","namespaceURI":null},{"key":"transform","value":"translate(-1,-1)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4246}},"4247":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4246},"_livelyDataWrapperId_":"4290:Morph","origin":{"__isSmartRef__":true,"id":4248},"shape":{"__isSmartRef__":true,"id":4249},"priorExtent":{"__isSmartRef__":true,"id":4250},"pvtCachedTransform":{"__isSmartRef__":true,"id":4251},"styleClass":["titleBar"],"mouseHandler":null,"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"Morph","__SourceModuleName__":"Global.lively.Core","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"Morph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4290:Morph","namespaceURI":null},{"key":"transform","value":"translate(1,1)","namespaceURI":null},{"key":"class","value":"titleBar","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4247}},"4248":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4248}},"4249":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":92},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"501","namespaceURI":null},{"key":"height","value":"30","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"url(#22:lively.paint.LinearGradient)","namespaceURI":null},{"key":"stroke-width","value":"2","namespaceURI":null},{"key":"rx","value":"8","namespaceURI":null},{"key":"ry","value":"8","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4249}},"4250":{"registeredObject":{"x":501,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4250}},"4251":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":1,"f":1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4251}},"4252":{"registeredObject":{"x":-1,"y":-1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4252}},"4253":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"503","namespaceURI":null},{"key":"height","value":"23","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4253}},"4254":{"registeredObject":{"x":501,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4254}},"4255":{"registeredObject":{"_livelyDataWrapperId_":"4292:lively.scene.Clip","shape":{"__isSmartRef__":true,"id":4256},"__LivelyClassName__":"lively.scene.Clip","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"clipPath","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"4292:lively.scene.Clip","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4255}},"4256":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"503","namespaceURI":null},{"key":"height","value":"23","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4256}},"4257":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":-1,"f":-1,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4257}},"4258":{"registeredObject":{"textString":"Workspace","savedTextString":"","submorphs":[{"__isSmartRef__":true,"id":4259}],"owner":{"__isSmartRef__":true,"id":4245},"_livelyDataWrapperId_":"4293:TextMorph","origin":{"__isSmartRef__":true,"id":4264},"shape":{"__isSmartRef__":true,"id":4265},"textContent":{"__isSmartRef__":true,"id":4267},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4268},"textSelection":{"__isSmartRef__":true,"id":4259},"priorExtent":{"__isSmartRef__":true,"id":4269},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4270},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"__layered_openForDragAndDrop__":false,"styleClass":["titleBar_label_highlight"],"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4293:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(250.5,3)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"class","value":"titleBar_label_highlight","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4258}},"4259":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4258},"_livelyDataWrapperId_":"4295:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4260},"shape":{"__isSmartRef__":true,"id":4261},"priorExtent":{"__isSmartRef__":true,"id":4262},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4263},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4295:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4259}},"4260":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4260}},"4261":{"registeredObject":{"_livelyDataWrapperId_":"4294:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"4294:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4261}},"4262":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4262}},"4263":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4263}},"4264":{"registeredObject":{"x":250.5,"y":3,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4264}},"4265":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":{"__isSmartRef__":true,"id":4266},"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"73","namespaceURI":null},{"key":"height","value":"17.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"rx","value":"8","namespaceURI":null},{"key":"ry","value":"8","namespaceURI":null},{"key":"fill-opacity","value":"0.5","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4265}},"4266":{"registeredObject":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4266}},"4267":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(0,0,0)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4267}},"4268":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":250.5,"f":3,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4268}},"4269":{"registeredObject":{"x":-12,"y":14,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4269}},"4270":{"registeredObject":{"x":6,"y":2,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4270}},"4271":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4272}],"owner":{"__isSmartRef__":true,"id":4245},"_livelyDataWrapperId_":"4296:WindowControlMorph","origin":{"__isSmartRef__":true,"id":4286},"shape":{"__isSmartRef__":true,"id":4287},"priorExtent":{"__isSmartRef__":true,"id":4293},"label":{"__isSmartRef__":true,"id":4272},"pvtCachedTransform":{"__isSmartRef__":true,"id":4294},"styleClass":["titleBar_closeButton_highlight"],"formalModel":{"__isSmartRef__":true,"id":4295},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"WindowControlMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"WindowControlMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4296:WindowControlMorph","namespaceURI":null},{"key":"transform","value":"translate(490,11)","namespaceURI":null},{"key":"class","value":"titleBar_closeButton_highlight","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4271}},"4272":{"registeredObject":{"textString":"X","savedTextString":"X","submorphs":[{"__isSmartRef__":true,"id":4273}],"owner":{"__isSmartRef__":true,"id":4271},"_livelyDataWrapperId_":"4297:TextMorph","origin":{"__isSmartRef__":true,"id":4278},"shape":{"__isSmartRef__":true,"id":4279},"textContent":{"__isSmartRef__":true,"id":4280},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4281},"textSelection":{"__isSmartRef__":true,"id":4273},"priorExtent":{"__isSmartRef__":true,"id":4282},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4283},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"styleClass":["titleBar_button_label"],"textColor":{"__isSmartRef__":true,"id":127},"textStyle":{"__isSmartRef__":true,"id":4284},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4297:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(-4,-6)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"class","value":"titleBar_button_label","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4272}},"4273":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4272},"_livelyDataWrapperId_":"4299:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4274},"shape":{"__isSmartRef__":true,"id":4275},"priorExtent":{"__isSmartRef__":true,"id":4276},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4277},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4299:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4273}},"4274":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4274}},"4275":{"registeredObject":{"_livelyDataWrapperId_":"4298:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"4298:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4275}},"4276":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4276}},"4277":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4277}},"4278":{"registeredObject":{"x":-4,"y":-6,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4278}},"4279":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"8","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4279}},"4280":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(127,127,127)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4280}},"4281":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":-4,"f":-6,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4281}},"4282":{"registeredObject":{"x":8,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4282}},"4283":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4283}},"4284":{"registeredObject":{"runs":[2],"values":[{"__isSmartRef__":true,"id":4285}],"lastIndex":0,"lastRunIndex":0,"__LivelyClassName__":"RunArray","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":4284}},"4285":{"registeredObject":{"style":"bold","__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":4285}},"4286":{"registeredObject":{"x":490,"y":11,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4286}},"4287":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":4288},"__LivelyClassName__":"lively.scene.Ellipse","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"ellipse","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"cx","value":"0","namespaceURI":null},{"key":"cy","value":"0","namespaceURI":null},{"key":"rx","value":"8","namespaceURI":null},{"key":"ry","value":"8","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"url(#26:lively.paint.RadialGradient)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4287}},"4288":{"registeredObject":{"stops":[{"__isSmartRef__":true,"id":4289},{"__isSmartRef__":true,"id":4290},{"__isSmartRef__":true,"id":4291}],"f":{"__isSmartRef__":true,"id":4292},"refcount":1,"_livelyDataWrapperId_":"26:lively.paint.RadialGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.RadialGradient","__rawNodeInfo__":{"tagName":"radialGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"26:lively.paint.RadialGradient","namespaceURI":null},{"key":"fx","value":"0.4","namespaceURI":null},{"key":"fy","value":"0.2","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4288}},"4289":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(226,179,179)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4289}},"4290":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.5","namespaceURI":null},{"key":"stop-color","value":"rgb(158,0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4290}},"4291":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(95,0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4291}},"4292":{"registeredObject":{"x":0.4,"y":0.2,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4292}},"4293":{"registeredObject":{"x":16,"y":16,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4293}},"4294":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":490,"f":11,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4294}},"4295":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":4200},"__SourceModuleName__":"Global","definition":"{\"HelpText\":\"-CloseHelp\",\"Trigger\":\"=initiateShutdown\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":4295}},"4296":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4297}],"owner":{"__isSmartRef__":true,"id":4245},"_livelyDataWrapperId_":"4300:WindowControlMorph","origin":{"__isSmartRef__":true,"id":4311},"shape":{"__isSmartRef__":true,"id":4312},"priorExtent":{"__isSmartRef__":true,"id":4318},"label":{"__isSmartRef__":true,"id":4297},"pvtCachedTransform":{"__isSmartRef__":true,"id":4319},"styleClass":["titleBar_menuButton_highlight"],"formalModel":{"__isSmartRef__":true,"id":4320},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"WindowControlMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"WindowControlMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4300:WindowControlMorph","namespaceURI":null},{"key":"transform","value":"translate(11,11)","namespaceURI":null},{"key":"class","value":"titleBar_menuButton_highlight","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4296}},"4297":{"registeredObject":{"textString":"M","savedTextString":"M","submorphs":[{"__isSmartRef__":true,"id":4298}],"owner":{"__isSmartRef__":true,"id":4296},"_livelyDataWrapperId_":"4301:TextMorph","origin":{"__isSmartRef__":true,"id":4303},"shape":{"__isSmartRef__":true,"id":4304},"textContent":{"__isSmartRef__":true,"id":4305},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4306},"textSelection":{"__isSmartRef__":true,"id":4298},"priorExtent":{"__isSmartRef__":true,"id":4307},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4308},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"styleClass":["titleBar_button_label"],"textColor":{"__isSmartRef__":true,"id":127},"textStyle":{"__isSmartRef__":true,"id":4309},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4301:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(-5,-6)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"class","value":"titleBar_button_label","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4297}},"4298":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4297},"_livelyDataWrapperId_":"4303:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4299},"shape":{"__isSmartRef__":true,"id":4300},"priorExtent":{"__isSmartRef__":true,"id":4301},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4302},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4303:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4298}},"4299":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4299}},"4300":{"registeredObject":{"_livelyDataWrapperId_":"4302:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"4302:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4300}},"4301":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4301}},"4302":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4302}},"4303":{"registeredObject":{"x":-5,"y":-6,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4303}},"4304":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"10","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4304}},"4305":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(127,127,127)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4305}},"4306":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":-5,"f":-6,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4306}},"4307":{"registeredObject":{"x":8,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4307}},"4308":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4308}},"4309":{"registeredObject":{"runs":[2],"values":[{"__isSmartRef__":true,"id":4310}],"lastIndex":0,"lastRunIndex":0,"__LivelyClassName__":"RunArray","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":4309}},"4310":{"registeredObject":{"style":"bold","__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":4310}},"4311":{"registeredObject":{"x":11,"y":11,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4311}},"4312":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":4313},"__LivelyClassName__":"lively.scene.Ellipse","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"ellipse","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"cx","value":"0","namespaceURI":null},{"key":"cy","value":"0","namespaceURI":null},{"key":"rx","value":"8","namespaceURI":null},{"key":"ry","value":"8","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"url(#27:lively.paint.RadialGradient)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4312}},"4313":{"registeredObject":{"stops":[{"__isSmartRef__":true,"id":4314},{"__isSmartRef__":true,"id":4315},{"__isSmartRef__":true,"id":4316}],"f":{"__isSmartRef__":true,"id":4317},"refcount":1,"_livelyDataWrapperId_":"27:lively.paint.RadialGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.RadialGradient","__rawNodeInfo__":{"tagName":"radialGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"27:lively.paint.RadialGradient","namespaceURI":null},{"key":"fx","value":"0.4","namespaceURI":null},{"key":"fy","value":"0.2","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4313}},"4314":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(179,219,179)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4314}},"4315":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.5","namespaceURI":null},{"key":"stop-color","value":"rgb(0,133,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4315}},"4316":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(0,79,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4316}},"4317":{"registeredObject":{"x":0.4,"y":0.2,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4317}},"4318":{"registeredObject":{"x":16,"y":16,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4318}},"4319":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":11,"f":11,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4319}},"4320":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":4200},"__SourceModuleName__":"Global","definition":"{\"HelpText\":\"-MenuHelp\",\"Trigger\":\"=showTargetMorphMenu\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":4320}},"4321":{"registeredObject":{"submorphs":[{"__isSmartRef__":true,"id":4322}],"owner":{"__isSmartRef__":true,"id":4245},"_livelyDataWrapperId_":"4304:WindowControlMorph","origin":{"__isSmartRef__":true,"id":4336},"shape":{"__isSmartRef__":true,"id":4337},"priorExtent":{"__isSmartRef__":true,"id":4343},"label":{"__isSmartRef__":true,"id":4322},"pvtCachedTransform":{"__isSmartRef__":true,"id":4344},"styleClass":["titleBar_collapseButton_highlight"],"formalModel":{"__isSmartRef__":true,"id":4345},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"WindowControlMorph","__SourceModuleName__":"Global.lively.Widgets","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"WindowControlMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4304:WindowControlMorph","namespaceURI":null},{"key":"transform","value":"translate(471,11)","namespaceURI":null},{"key":"class","value":"titleBar_collapseButton_highlight","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4321}},"4322":{"registeredObject":{"textString":"–","savedTextString":"–","submorphs":[{"__isSmartRef__":true,"id":4323}],"owner":{"__isSmartRef__":true,"id":4321},"_livelyDataWrapperId_":"4305:TextMorph","origin":{"__isSmartRef__":true,"id":4328},"shape":{"__isSmartRef__":true,"id":4329},"textContent":{"__isSmartRef__":true,"id":4330},"lineNumberHint":0,"pvtCachedTransform":{"__isSmartRef__":true,"id":4331},"textSelection":{"__isSmartRef__":true,"id":4323},"priorExtent":{"__isSmartRef__":true,"id":4332},"useChangeClue":false,"shouldNotRender":false,"padding":{"__isSmartRef__":true,"id":4333},"wrap":"Shrink","mouseHandler":null,"suppressGrabbing":true,"styleClass":["titleBar_button_label"],"textColor":{"__isSmartRef__":true,"id":127},"textStyle":{"__isSmartRef__":true,"id":4334},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4305:TextMorph","namespaceURI":null},{"key":"transform","value":"translate(-3,-6)","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"class","value":"titleBar_button_label","namespaceURI":null},{"key":"display","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4322}},"4323":{"registeredObject":{"submorphs":[],"owner":{"__isSmartRef__":true,"id":4322},"_livelyDataWrapperId_":"4307:TextSelectionMorph","origin":{"__isSmartRef__":true,"id":4324},"shape":{"__isSmartRef__":true,"id":4325},"priorExtent":{"__isSmartRef__":true,"id":4326},"mouseHandler":null,"pvtCachedTransform":{"__isSmartRef__":true,"id":4327},"__layered_openForDragAndDrop__":false,"__LivelyClassName__":"TextSelectionMorph","__SourceModuleName__":"Global.lively.Text","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"lively:type","value":"TextSelectionMorph","namespaceURI":"http://www.experimentalstuff.com/Lively"},{"key":"id","value":"4307:TextSelectionMorph","namespaceURI":null},{"key":"pointer-events","value":"none","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4323}},"4324":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4324}},"4325":{"registeredObject":{"_livelyDataWrapperId_":"4306:lively.scene.Group","content":[],"_fill":null,"__LivelyClassName__":"lively.scene.Group","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"g","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"4306:lively.scene.Group","namespaceURI":null},{"key":"transform","value":"translate(0,0)","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4325}},"4326":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4326}},"4327":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4327}},"4328":{"registeredObject":{"x":-3,"y":-6,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4328}},"4329":{"registeredObject":{"_stroke":{"__isSmartRef__":true,"id":66},"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"4","namespaceURI":null},{"key":"height","value":"13.2","namespaceURI":null},{"key":"stroke","value":"rgb(0,0,0)","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4329}},"4330":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.scene.Text","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"text","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"kerning","value":"0","namespaceURI":null},{"key":"fill","value":"rgb(127,127,127)","namespaceURI":null},{"key":"font-size","value":"12","namespaceURI":null},{"key":"font-family","value":"Helvetica","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4330}},"4331":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":-3,"f":-6,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4331}},"4332":{"registeredObject":{"x":8,"y":12,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4332}},"4333":{"registeredObject":{"x":0,"y":0,"width":0,"height":0,"__LivelyClassName__":"Rectangle","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4333}},"4334":{"registeredObject":{"runs":[2],"values":[{"__isSmartRef__":true,"id":4335}],"lastIndex":0,"lastRunIndex":0,"__LivelyClassName__":"RunArray","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":4334}},"4335":{"registeredObject":{"style":"bold","__LivelyClassName__":"TextEmphasis","__SourceModuleName__":"Global.lively.Text"},"ref":{"__isSmartRef__":true,"id":4335}},"4336":{"registeredObject":{"x":471,"y":11,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4336}},"4337":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":4338},"__LivelyClassName__":"lively.scene.Ellipse","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"ellipse","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"cx","value":"0","namespaceURI":null},{"key":"cy","value":"0","namespaceURI":null},{"key":"rx","value":"8","namespaceURI":null},{"key":"ry","value":"8","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"url(#28:lively.paint.RadialGradient)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4337}},"4338":{"registeredObject":{"stops":[{"__isSmartRef__":true,"id":4339},{"__isSmartRef__":true,"id":4340},{"__isSmartRef__":true,"id":4341}],"f":{"__isSmartRef__":true,"id":4342},"refcount":1,"_livelyDataWrapperId_":"28:lively.paint.RadialGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.RadialGradient","__rawNodeInfo__":{"tagName":"radialGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"28:lively.paint.RadialGradient","namespaceURI":null},{"key":"fx","value":"0.4","namespaceURI":null},{"key":"fy","value":"0.2","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4338}},"4339":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(255,243,209)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4339}},"4340":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.5","namespaceURI":null},{"key":"stop-color","value":"rgb(255,215,102)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4340}},"4341":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(153,129,61)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4341}},"4342":{"registeredObject":{"x":0.4,"y":0.2,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4342}},"4343":{"registeredObject":{"x":16,"y":16,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4343}},"4344":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":471,"f":11,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4344}},"4345":{"registeredObject":{"delegate":{"__isSmartRef__":true,"id":4200},"__SourceModuleName__":"Global","definition":"{\"HelpText\":\"-CollapseHelp\",\"Trigger\":\"=toggleCollapse\"}","isInstanceOfAnonymousClass":true,"isRelay":true},"ref":{"__isSmartRef__":true,"id":4345}},"4346":{"registeredObject":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4346}},"4347":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"501","namespaceURI":null},{"key":"height","value":"22","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4347}},"4348":{"registeredObject":{"x":501,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4348}},"4349":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4349}},"4350":{"registeredObject":{"x":863,"y":62,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4350}},"4351":{"registeredObject":{"_fill":null,"__LivelyClassName__":"lively.scene.Rectangle","__SourceModuleName__":"Global","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"501","namespaceURI":null},{"key":"height","value":"224","namespaceURI":null},{"key":"stroke-width","value":"0","namespaceURI":null},{"key":"fill","value":"none","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4351}},"4352":{"registeredObject":{"x":501,"y":201,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4352}},"4353":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":863,"f":62,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4353}},"4354":{"registeredObject":{"x":0,"y":23,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4354}},"4355":{"registeredObject":{"x":1,"y":1,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4355}},"4356":{"registeredObject":{"a":1,"b":0,"c":0,"d":1,"e":0,"f":0,"__LivelyClassName__":"lively.scene.Similitude","__SourceModuleName__":"Global"},"ref":{"__isSmartRef__":true,"id":4356}},"4357":{"registeredObject":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4357}},"4358":{"registeredObject":{"x":1,"y":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4358}},"4359":{"registeredObject":{"_fill":{"__isSmartRef__":true,"id":4360},"_stroke":null,"__SourceModuleName__":"Global","__LivelyClassName__":"lively.scene.Rectangle","__rawNodeInfo__":{"tagName":"rect","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x","value":"0","namespaceURI":null},{"key":"y","value":"0","namespaceURI":null},{"key":"width","value":"2000.5","namespaceURI":null},{"key":"height","value":"2200.5","namespaceURI":null},{"key":"fill","value":"rgb(255,255,255)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4359}},"4360":{"registeredObject":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4360}},"4361":{"registeredObject":{"x":2000.5,"y":2200.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"ref":{"__isSmartRef__":true,"id":4361}},"4362":{"registeredObject":{"styleName":"hpi","raisedBorder":{"__isSmartRef__":true,"id":4363},"button":{"__isSmartRef__":true,"id":4368},"widgetPanel":{"__isSmartRef__":true,"id":4369},"focusHalo":{"__isSmartRef__":true,"id":4372},"panel":{"__isSmartRef__":true,"id":4374},"link":{"__isSmartRef__":true,"id":4375},"helpText":{"__isSmartRef__":true,"id":4377},"menu_items":{"__isSmartRef__":true,"id":4379},"menu_list":{"__isSmartRef__":true,"id":4381},"slider":{"__isSmartRef__":true,"id":4383},"slider_background":{"__isSmartRef__":true,"id":4384},"slider_horizontal":{"__isSmartRef__":true,"id":4385},"slider_background_horizontal":{"__isSmartRef__":true,"id":4392},"titleBar":{"__isSmartRef__":true,"id":4397},"titleBar_label":{"__isSmartRef__":true,"id":4398},"titleBar_label_highlight":{"__isSmartRef__":true,"id":4399},"titleBar_button_label":{"__isSmartRef__":true,"id":4400},"titleBar_closeButton":{"__isSmartRef__":true,"id":4401},"titleBar_menuButton":{"__isSmartRef__":true,"id":4402},"titleBar_collapseButton":{"__isSmartRef__":true,"id":4403},"titleBar_closeButton_highlight":{"__isSmartRef__":true,"id":4404},"titleBar_menuButton_highlight":{"__isSmartRef__":true,"id":4405},"titleBar_collapseButton_highlight":{"__isSmartRef__":true,"id":4406},"clock":{"__isSmartRef__":true,"id":4407},"fabrik":{"__isSmartRef__":true,"id":4412},"world":{"__isSmartRef__":true,"id":4414}},"ref":{"__isSmartRef__":true,"id":4362}},"4363":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":4364}},"ref":{"__isSmartRef__":true,"id":4363}},"4364":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":4365},"stops":[{"__isSmartRef__":true,"id":4366},{"__isSmartRef__":true,"id":4367}],"refcount":0,"_livelyDataWrapperId_":"16:lively.paint.LinearGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.LinearGradient","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"0","namespaceURI":null},{"key":"x2","value":"1","namespaceURI":null},{"key":"y2","value":"1","namespaceURI":null},{"key":"id","value":"16:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4364}},"4365":{"registeredObject":{"x":0,"y":0,"width":1,"height":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"ref":{"__isSmartRef__":true,"id":4365}},"4366":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(230,230,230)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4366}},"4367":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(12,12,12)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4367}},"4368":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":3878},"borderWidth":0.6,"borderRadius":5,"fill":{"__isSmartRef__":true,"id":3860}},"ref":{"__isSmartRef__":true,"id":4368}},"4369":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":4370},"borderWidth":4,"borderRadius":16,"fill":{"__isSmartRef__":true,"id":4371},"opacity":0.4},"ref":{"__isSmartRef__":true,"id":4369}},"4370":{"registeredObject":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4370}},"4371":{"registeredObject":{"r":0.9,"g":0.9,"b":0.9,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4371}},"4372":{"registeredObject":{"fill":null,"borderColor":{"__isSmartRef__":true,"id":4373},"strokeOpacity":0.5},"ref":{"__isSmartRef__":true,"id":4372}},"4373":{"registeredObject":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4373}},"4374":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":4191},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":4190}},"ref":{"__isSmartRef__":true,"id":4374}},"4375":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":4376},"borderWidth":1,"fill":{"__isSmartRef__":true,"id":1636}},"ref":{"__isSmartRef__":true,"id":4375}},"4376":{"registeredObject":{"r":0,"g":0.8,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4376}},"4377":{"registeredObject":{"borderRadius":15,"fill":{"__isSmartRef__":true,"id":4378},"fillOpacity":0.8},"ref":{"__isSmartRef__":true,"id":4377}},"4378":{"registeredObject":{"r":1,"g":0.9725490196078431,"b":0.8936274509803921,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4378}},"4379":{"registeredObject":{"fontSize":14,"textColor":{"__isSmartRef__":true,"id":4380}},"ref":{"__isSmartRef__":true,"id":4379}},"4380":{"registeredObject":{"r":0.129,"g":0.129,"b":0.129,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4380}},"4381":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":4382}},"ref":{"__isSmartRef__":true,"id":4381}},"4382":{"registeredObject":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4382}},"4383":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":1624},"borderOpacity":1,"borderWidth":1,"borderRadius":6,"fill":{"__isSmartRef__":true,"id":1625}},"ref":{"__isSmartRef__":true,"id":4383}},"4384":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":1636},"borderWidth":1,"strokeOpacity":1,"borderRadius":6,"fill":{"__isSmartRef__":true,"id":1637}},"ref":{"__isSmartRef__":true,"id":4384}},"4385":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":4386},"borderWidth":1,"borderRadius":6,"fill":{"__isSmartRef__":true,"id":4387}},"ref":{"__isSmartRef__":true,"id":4385}},"4386":{"registeredObject":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4386}},"4387":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":4388},"stops":[{"__isSmartRef__":true,"id":4389},{"__isSmartRef__":true,"id":4390},{"__isSmartRef__":true,"id":4391}],"refcount":0,"_livelyDataWrapperId_":"20:lively.paint.LinearGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.LinearGradient","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"0","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"1","namespaceURI":null},{"key":"id","value":"20:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4387}},"4388":{"registeredObject":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"ref":{"__isSmartRef__":true,"id":4388}},"4389":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(196,211,221)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4389}},"4390":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.5","namespaceURI":null},{"key":"stop-color","value":"rgb(137,167,187)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4390}},"4391":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(96,130,153)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4391}},"4392":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":4386},"borderWidth":1,"borderRadius":6,"fill":{"__isSmartRef__":true,"id":4393}},"ref":{"__isSmartRef__":true,"id":4392}},"4393":{"registeredObject":{"vector":{"__isSmartRef__":true,"id":4388},"stops":[{"__isSmartRef__":true,"id":4394},{"__isSmartRef__":true,"id":4395},{"__isSmartRef__":true,"id":4396}],"refcount":0,"_livelyDataWrapperId_":"21:lively.paint.LinearGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.LinearGradient","__rawNodeInfo__":{"tagName":"linearGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"x1","value":"0","namespaceURI":null},{"key":"y1","value":"0","namespaceURI":null},{"key":"x2","value":"0","namespaceURI":null},{"key":"y2","value":"1","namespaceURI":null},{"key":"id","value":"21:lively.paint.LinearGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4393}},"4394":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(204,204,204)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4394}},"4395":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0.4","namespaceURI":null},{"key":"stop-color","value":"rgb(240,240,240)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4395}},"4396":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(245,245,245)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4396}},"4397":{"registeredObject":{"borderRadius":8,"borderWidth":2,"bordercolor":{"__isSmartRef__":true,"id":4386},"fill":{"__isSmartRef__":true,"id":92}},"ref":{"__isSmartRef__":true,"id":4397}},"4398":{"registeredObject":{"fill":null},"ref":{"__isSmartRef__":true,"id":4398}},"4399":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":4266},"fillOpacity":0.5},"ref":{"__isSmartRef__":true,"id":4399}},"4400":{"registeredObject":{"textColor":{"__isSmartRef__":true,"id":127},"fontStyle":"bold"},"ref":{"__isSmartRef__":true,"id":4400}},"4401":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":135}},"ref":{"__isSmartRef__":true,"id":4401}},"4402":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":160}},"ref":{"__isSmartRef__":true,"id":4402}},"4403":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":185}},"ref":{"__isSmartRef__":true,"id":4403}},"4404":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":4288}},"ref":{"__isSmartRef__":true,"id":4404}},"4405":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":4313}},"ref":{"__isSmartRef__":true,"id":4405}},"4406":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":4338}},"ref":{"__isSmartRef__":true,"id":4406}},"4407":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":4408},"borderWidth":4,"fill":{"__isSmartRef__":true,"id":4409}},"ref":{"__isSmartRef__":true,"id":4407}},"4408":{"registeredObject":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4408}},"4409":{"registeredObject":{"stops":[{"__isSmartRef__":true,"id":4410},{"__isSmartRef__":true,"id":4411}],"refcount":0,"_livelyDataWrapperId_":"29:lively.paint.RadialGradient","__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.RadialGradient","__rawNodeInfo__":{"tagName":"radialGradient","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"id","value":"29:lively.paint.RadialGradient","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4409}},"4410":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"0","namespaceURI":null},{"key":"stop-color","value":"rgb(243,243,243)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4410}},"4411":{"registeredObject":{"__SourceModuleName__":"Global","__LivelyClassName__":"lively.paint.Stop","__rawNodeInfo__":{"tagName":"stop","namespaceURI":"http://www.w3.org/2000/svg","attributes":[{"key":"offset","value":"1","namespaceURI":null},{"key":"stop-color","value":"rgb(230,230,230)","namespaceURI":null}]}},"ref":{"__isSmartRef__":true,"id":4411}},"4412":{"registeredObject":{"borderColor":{"__isSmartRef__":true,"id":4413},"borderWidth":1,"borderRadius":2,"fill":{"__isSmartRef__":true,"id":1636},"opacity":1},"ref":{"__isSmartRef__":true,"id":4412}},"4413":{"registeredObject":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"ref":{"__isSmartRef__":true,"id":4413}},"4414":{"registeredObject":{"fill":{"__isSmartRef__":true,"id":4266}},"ref":{"__isSmartRef__":true,"id":4414}}}}]]>