{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1},{"__isSmartRef__":true,"id":24},{"__isSmartRef__":true,"id":47},{"__isSmartRef__":true,"id":74},{"__isSmartRef__":true,"id":88},{"__isSmartRef__":true,"id":173},{"__isSmartRef__":true,"id":179},{"__isSmartRef__":true,"id":202},{"__isSmartRef__":true,"id":225},{"__isSmartRef__":true,"id":248},{"__isSmartRef__":true,"id":271},{"__isSmartRef__":true,"id":294},{"__isSmartRef__":true,"id":300},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":409},{"__isSmartRef__":true,"id":492}],"scripts":[],"id":"60EA3EE0-BA5E-4C13-8D22-E452FDBC9885","shape":{"__isSmartRef__":true,"id":498},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":499},"eventHandler":{"__isSmartRef__":true,"id":565},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","1C17567C-751A-447E-A93C-0CE8CAEEF262","C31986AF-AB07-427F-BD76-E0F3859AC975","F87F62CA-008C-4350-991E-36654C4F7BEC","8DE713C5-3EBF-4159-AF06-09D4B6AA9C36","24AC0038-85E0-4D63-9875-96E99B0AD3D0","D675BE8D-6147-462A-96CE-45BADEFCE8EA","5F94E72D-FAC9-47C0-B9AE-00ABD15832D0","E9CA6A95-0EFD-4892-A664-EE9FC4A461DC","838D25A0-5B12-4FCD-A628-AAA596A8FDB4"],"partTests":{"__isSmartRef__":true,"id":566},"_ClipMode":"visible","moved":true,"droppingEnabled":true,"peer":{"__isSmartRef__":true,"id":571},"peerID":"4FADAE6D-479B-4D05-801E-8C886F2FC5B7","connection":null,"isBeingDragged":false,"usesCam":true,"connections":{"__isSmartRef__":true,"id":619},"screenStats":{"__isSmartRef__":true,"id":620},"webcamStream":{"__isSmartRef__":true,"id":56},"name":"PeerJSVideoClient_multi","userName":"Felix","currentRoom":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":621},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"1":{"submorphs":[{"__isSmartRef__":true,"id":2}],"scripts":[],"shape":{"__isSmartRef__":true,"id":7},"eventHandler":{"__isSmartRef__":true,"id":8},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","61E16BF4-5AFC-47CA-99BC-2B3D531F30CB","91F6238C-7D9E-4EDA-B72F-30DCF3EF020C","3E338D1B-0CEB-4F88-AA1B-60A2C731BA6A","BE40F02E-1204-40B9-9434-EC2DD38FBD9B","E034DFF0-C0EA-42F8-929F-B73F6397986D","F7E849EB-0431-4AA8-99E8-67A5B41845C8","FF3811E4-DBA3-47C2-9FD2-7278D536C5E1"],"id":"26E762D5-CCF7-41CE-82F6-78373F9330E6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":9}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button","partsBinMetaInfo":{"__isSmartRef__":true,"id":11},"pinSpecs":[{"__isSmartRef__":true,"id":19}],"owner":{"__isSmartRef__":true,"id":0},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":20},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(13.0,58.0)","distanceToDragEvent":"lively.pt(67.0,-5.0)"},"2":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4}],"eventHandler":{"__isSmartRef__":true,"id":6},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","3ACE6391-F951-459D-B616-8A0306376F0E","6E790D6C-5A85-461F-A8F9-72DD7AA34D73","DDFB7834-59F2-4DA3-8F35-E0A2433B6CF3","4FCF24CC-892D-457A-8221-7FB980C05E10","9027C7AB-2128-4968-B6D4-5E28B4227F21","5CEBEF62-D052-4DD2-B494-FC94B0B69281","88238B97-29AE-4DE7-924A-B4957FBED668"],"id":"302987B0-474F-4887-8DF2-20B3DC31E322","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":1},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"3":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4":{"style":{"__isSmartRef__":true,"id":5},"chunkOwner":{"__isSmartRef__":true,"id":2},"_id":"_6867","storedString":"Open Peer","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"6":{"morph":{"__isSmartRef__":true,"id":2},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"7":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"8":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"9":{"sourceObj":{"__isSmartRef__":true,"id":1},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":10},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"10":{"source":{"__isSmartRef__":true,"id":1},"target":{"__isSmartRef__":true,"id":1}},"11":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":13},{"__isSmartRef__":true,"id":14},{"__isSmartRef__":true,"id":15},{"__isSmartRef__":true,"id":16},{"__isSmartRef__":true,"id":17},{"__isSmartRef__":true,"id":18}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"12":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"13":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"14":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"15":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"16":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"17":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"18":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"19":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"20":{"doAction":{"__isSmartRef__":true,"id":21}},"21":{"varMapping":{"__isSmartRef__":true,"id":22},"source":"function doAction() {\n    this.owner.openPeer()\n}","funcProperties":{"__isSmartRef__":true,"id":23},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"22":{"this":{"__isSmartRef__":true,"id":1}},"23":{"user":"unknown_user","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Sep 06 2014 14:21:52 GMT-0700 (PDT)\")"},"24":{"submorphs":[{"__isSmartRef__":true,"id":25}],"scripts":[],"shape":{"__isSmartRef__":true,"id":30},"eventHandler":{"__isSmartRef__":true,"id":31},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","45C4275E-BE9E-450B-9940-10D5957676BA","D83F94CD-4E4E-41C1-93BD-16780174BE8D","248F9186-D364-477A-BDAF-93013800F8C0","B44412DC-249E-4C14-A91B-8228B16633E6","0E217468-60C0-4BF7-B83B-17250F847B24","8F50FCC6-4A3B-4AE3-B65B-B1247F6B534F","CEE06834-82ED-423C-ADB9-D1F9173BD668"],"id":"E4C9D2E4-52D5-4A43-B3B6-2F7D44C8E9E0","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":25},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":32}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button3","partsBinMetaInfo":{"__isSmartRef__":true,"id":34},"pinSpecs":[{"__isSmartRef__":true,"id":42}],"owner":{"__isSmartRef__":true,"id":0},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":43},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(127.0,58.0)","distanceToDragEvent":"lively.pt(71.0,-5.0)"},"25":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":26},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":27}],"eventHandler":{"__isSmartRef__":true,"id":29},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","2B0ADFD3-7893-4D83-8810-66D73F0B6341","57D12599-6BCD-4C0C-AFFE-CFAE9D60E746","E0BD2448-5F39-4DA4-A809-56A1F349B726","5A6BFA05-B214-4E99-8541-3B6AAF2230AF","638BFDC8-30D3-4FA4-8E4F-E0D36FBEC46D","3C65AD08-90F3-4812-B9F9-2A43AD381444","06D1E426-9357-4788-BCFE-AB9AC3AE51C7"],"id":"408D81A9-956A-4ED9-8CC5-29400EB98A80","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":24},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"26":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"27":{"style":{"__isSmartRef__":true,"id":28},"chunkOwner":{"__isSmartRef__":true,"id":25},"_id":"_5318","storedString":"Close Peer","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"28":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"29":{"morph":{"__isSmartRef__":true,"id":25},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"30":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"31":{"morph":{"__isSmartRef__":true,"id":24},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"32":{"sourceObj":{"__isSmartRef__":true,"id":24},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":24},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":33},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"33":{"source":{"__isSmartRef__":true,"id":24},"target":{"__isSmartRef__":true,"id":24}},"34":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":35},{"__isSmartRef__":true,"id":36},{"__isSmartRef__":true,"id":37},{"__isSmartRef__":true,"id":38},{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":40},{"__isSmartRef__":true,"id":41}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"35":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"36":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"37":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"38":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"39":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"40":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"41":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"42":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"43":{"doAction":{"__isSmartRef__":true,"id":44}},"44":{"varMapping":{"__isSmartRef__":true,"id":45},"source":"function doAction() {\n    this.owner.closePeer();\n}","funcProperties":{"__isSmartRef__":true,"id":46},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"45":{"this":{"__isSmartRef__":true,"id":24}},"46":{"user":"unknown_user","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Sep 06 2014 14:22:07 GMT-0700 (PDT)\")"},"47":{"shape":{"__isSmartRef__":true,"id":48},"submorphs":[],"scripts":[],"_ClipMode":"auto","derivationIds":["3ABFAB66-3E1D-4B57-B4D3-DBF0D37DCE60","D3CB6A05-D42B-419A-992D-1DDF9DDED959","034779AD-D220-487C-A85D-C8C72ED576E0","334AD1D8-40EC-4B9C-818C-37699FB7674D","84D78072-9CDC-4D7A-9F75-56681F89DF7E","F19DA916-0485-4B6D-B336-3B804252F0AB","524F6B82-3EE0-4368-AA37-DC9BF0AC187E","EAFA5923-8B15-4F15-A967-226837C3BDBA","99ED38FB-9C21-41DD-8581-73A789669C26","81068089-A7B6-4BEB-8E85-4A7070EA22C8","AB93C360-B9ED-4A90-B0E9-3E5469C2F26D","8B008F9B-5D19-4999-A9A3-EA30224B1868","55C275B7-725E-4C53-84A5-E88471272887","B1FADC9D-16A2-4753-971C-1F34A53B376E"],"id":"D81B6404-04CF-4E9A-95FF-FE2F23B0ECC8","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["Morph","HtmlWrapperMorph","selectable"],"eventHandler":{"__isSmartRef__":true,"id":49},"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":50},"name":"OwnVideoScreen","prevScroll":[0,0],"isBeingDragged":false,"videoStream":{"__isSmartRef__":true,"id":56},"owner":{"__isSmartRef__":true,"id":0},"connections":{"__isSmartRef__":true,"id":57},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":58},"__LivelyClassName__":"lively.morphic.HtmlWrapperMorph","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(447.0,3.4)","distanceToDragEvent":"lively.pt(437.0,-11.0)"},"48":{"_BorderWidth":2,"stringifiedShapeNode":"<div xmlns=\"http://www.w3.org/1999/xhtml\" data-lively-morphid=\"D81B6404-04CF-4E9A-95FF-FE2F23B0ECC8\" class=\"Morph HtmlWrapperMorph selectable\" id=\"null\" style=\"overflow: auto; border: 2px solid rgb(0, 0, 0); padding: 0px; width: 190px; height: 109px; position: absolute; left: 0px; top: 0px; background: rgb(255, 255, 255);\"><video width=\"0\" height=\"0\" id=\"video\"></video></div>","_BorderRadius":0,"__serializedExpressions__":["_Padding","_Position","_Extent","_Fill","extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.External","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(190.0,109.0)","_Fill":"Color.rgb(255,255,255)","extent":"lively.pt(194.0,113.0)","_BorderColor":"Color.rgb(0,0,0)"},"49":{"morph":{"__isSmartRef__":true,"id":47},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"50":{"partName":"HTMLWrapperMorph","requiredModules":[],"partsSpaceName":"PartsBin/HTML/","comment":"A morph that renders arbitrary HTML. Makes integrations of non-morphic content straightforward. Look inside the menu to open an HTML editor or export the content as an HTML document.","changes":[{"__isSmartRef__":true,"id":51},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":53},{"__isSmartRef__":true,"id":54},{"__isSmartRef__":true,"id":55}],"migrationLevel":8,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Jul 17 2014 12:02:11 GMT-0700 (PDT)\")"},"51":{"author":"robertkrahn","message":"Fixed reset as suggested by Rick. Thanks Rick!","id":"C9389773-D839-4E3C-AF10-28F6282541BB","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jul 17 2014 12:02:10 GMT-0700 (PDT)\")"},"52":{"author":"robertkrahn","message":"no comment","id":"4B305BE4-1B35-4BBB-ABCE-D255D563CBD9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:34:42 GMT-0800 (PST)\")"},"53":{"author":"robertkrahn","message":"no comment","id":"FC45EDD5-3632-41E9-8CCF-1E7BF0F5B7FA","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:35:06 GMT-0800 (PST)\")"},"54":{"author":"robertkrahn","message":"clipped","id":"D4A9A56A-16E6-4D3D-9B42-425F9CE8E8B6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:30 GMT-0800 (PST)\")"},"55":{"author":"robertkrahn","message":"clipped","id":"287FA9C0-4815-46CD-B588-28102199A3F0","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:38 GMT-0800 (PST)\")"},"56":{"onremovetrack":null,"onaddtrack":null,"onended":null,"ended":true,"id":"StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X","label":"StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X"},"57":{},"58":{"isPlaying":{"__isSmartRef__":true,"id":59},"reset":{"__isSmartRef__":true,"id":62},"startVideo":{"__isSmartRef__":true,"id":65},"stopVideo":{"__isSmartRef__":true,"id":68},"playStream":{"__isSmartRef__":true,"id":71}},"59":{"varMapping":{"__isSmartRef__":true,"id":60},"source":"function isPlaying() {\n    var video = this.jQuery().children('video').get(0);\n    \n    // when the video element has no source attribute, it is \n    // not playing any stream\n    return !!video.src;\n}","funcProperties":{"__isSmartRef__":true,"id":61},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"60":{"this":{"__isSmartRef__":true,"id":47}},"61":{"__serializedExpressions__":["timestamp"],"user":"Felix","tags":[],"timestamp":"new Date(\"Fri Sep 19 2014 11:53:07 GMT-0700 (PDT)\")"},"62":{"varMapping":{"__isSmartRef__":true,"id":63},"source":"function reset() {\n    this.setClipMode(\"auto\");\n    this.jQuery().html(\"<video width=0 height=0 id='video'></video>\");\n}","funcProperties":{"__isSmartRef__":true,"id":64},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"63":{"this":{"__isSmartRef__":true,"id":47}},"64":{"user":"unknown_user","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Sep 06 2014 22:34:16 GMT-0700 (PDT)\")"},"65":{"varMapping":{"__isSmartRef__":true,"id":66},"source":"function startVideo(mediaStream, callback) {\n    // if no stream provided, use webcam instead\n    if (mediaStream) {\n        this.playStream(mediaStream);\n        if (callback) callback(null, mediaStream);\n    } else {\n        navigator.getUserMedia = \n        navigator.getUserMedia || \n        navigator.webkitGetUserMedia || \n        navigator.mozGetUserMedia;\n\n        var constraints = {video: true, audio: true};\n        var panel = this;\n        \n        function sucCallback(localMediaStream) {\n            panel.playStream(localMediaStream);\n            if (callback) callback(null, localMediaStream);\n        }\n        \n        function errCallback(err) {\n            console.error('VideoScreen Error: ', err);\n            if (callback) callback(err);\n        }\n        \n        navigator.getUserMedia(constraints, sucCallback, errCallback);\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":67},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"66":{"this":{"__isSmartRef__":true,"id":47}},"67":{"user":"unknown_user","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Sep 08 2014 12:18:29 GMT-0700 (PDT)\")"},"68":{"varMapping":{"__isSmartRef__":true,"id":69},"source":"function stopVideo() {\n    if (!this.videoStream || !this.isPlaying()) return;\n    \n    this.videoStream.stop();\n    this.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":70},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"69":{"this":{"__isSmartRef__":true,"id":47}},"70":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:52:54 GMT-0700 (PDT)\")"},"71":{"varMapping":{"__isSmartRef__":true,"id":72},"source":"function playStream(mediaStream) {\n    this.videoStream = mediaStream;\n    var video = this.jQuery().children('video').get(0);\n    var extent = this.getExtent();\n    video.height = extent.y - 20;\n    video.width = extent.x - 20;\n    video.muted = true;\n    video.src = window.URL.createObjectURL(mediaStream);\n    video.play();\n}","funcProperties":{"__isSmartRef__":true,"id":73},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"72":{"this":{"__isSmartRef__":true,"id":47}},"73":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:52:08 GMT-0700 (PDT)\")"},"74":{"submorphs":[{"__isSmartRef__":true,"id":75}],"scripts":[],"id":"33C2B539-898F-4E74-AF9C-FA40DD242576","shape":{"__isSmartRef__":true,"id":79},"droppingEnabled":true,"halosEnabled":true,"itemList":[],"selectedIndexes":[],"showsHalos":false,"name":"ClientsList","partsBinMetaInfo":{"__isSmartRef__":true,"id":80},"_ClipMode":{"__isSmartRef__":true,"id":85},"eventHandler":{"__isSmartRef__":true,"id":86},"derivationIds":[2860,"30186701-49A1-49AD-A42F-27F425D92029","ADD09343-51ED-44F6-85F3-257C9A52C897","C1C00AC4-F3E1-44E1-8973-0E9903EFE3B9","2B85E408-84FC-4316-BD59-0C77BB49E637","6CE6A7BB-6705-43E9-9DB7-A9B499A0017C","5C102A64-C165-4994-A3EF-1A3D036013E7","53389334-0338-4164-B9D6-D296DA52B3EE","62852677-80D0-4599-8BB1-4BDC8E13248B"],"isBeingDragged":false,"changeTriggered":true,"grabbingEnabled":false,"_FontSize":10,"moved":true,"itemMorphs":[],"layout":{"__isSmartRef__":true,"id":87},"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(832.0,10.0)","distanceToDragEvent":"lively.pt(70.0,-18.0)"},"75":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":76},"_ClipMode":"visible","derivationIds":["5B4469C4-350D-4551-89E3-0CCAA4874419","99AE6204-7A5A-47D1-AE7C-1B39DB42669D","F64CD827-F2C5-4AA9-9BB4-3144BDFC362C","41A8541B-FB09-4552-9E91-55C6D403674C","3C579E4F-F09A-4747-8B69-693340E0CEB4","04C09F54-ECA3-4AD3-9A39-CE292DD97C5A"],"id":"055DEEBF-B603-4B6F-A039-34071C6C0FD8","droppingEnabled":true,"halosEnabled":false,"owner":{"__isSmartRef__":true,"id":74},"eventHandler":{"__isSmartRef__":true,"id":77},"showsHalos":false,"layout":{"__isSmartRef__":true,"id":78},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"76":{"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,4.0)","_Padding":"lively.rect(0,0,0,0)"},"77":{"morph":{"__isSmartRef__":true,"id":75},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"78":{"resizeWidth":true,"adjustForNewBounds":true},"79":{"_BorderWidth":0,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"80":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":8,"partName":"List","comment":"a list morph","changes":[{"__isSmartRef__":true,"id":81},{"__isSmartRef__":true,"id":82},{"__isSmartRef__":true,"id":83},{"__isSmartRef__":true,"id":84}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 27 2014 02:53:08 GMT-0700 (PDT)\")"},"81":{"author":"undefined","message":"Click on scrollbar does not grab list","id":"16AABF98-2E7D-4875-9E66-CF86EB74AF93","__serializedExpressions__":["date"],"date":"new Date(\"Thu Mar 29 2012 05:39:24 GMT-0700 (PDT)\")"},"82":{"author":"robertkrahn","message":"new morphic lists","id":"ACF81045-E200-4DA6-B0C6-B9AB94590E84","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 30 2013 14:32:00 GMT-0700 (PDT)\")"},"83":{"author":"robertkrahn","message":"no comment","id":"3D0531CA-D241-4692-89F0-2FCC7621B8DE","__serializedExpressions__":["date"],"date":"new Date(\"Tue Oct 01 2013 15:29:07 GMT-0700 (PDT)\")"},"84":{"author":"robertkrahn","message":"Fixed onMouseDown handler of text item morphs","id":"860182BB-590A-4CD9-AAB6-2F87F9BDF9B6","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jun 27 2014 02:53:07 GMT-0700 (PDT)\")"},"85":{"x":"hidden","y":"scroll"},"86":{"morph":{"__isSmartRef__":true,"id":74},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"87":{"listItemHeight":19,"padding":0,"maxListItems":6,"noOfCandidatesShown":1,"adjustForNewBounds":true,"__serializedExpressions__":["extent","maxExtent"],"extent":"lively.pt(100.0,100.0)","maxExtent":"lively.pt(100.0,100.0)"},"88":{"submorphs":[{"__isSmartRef__":true,"id":89}],"scripts":[],"id":"AC0D98B0-C847-40DD-8B2B-764B42639A2A","shape":{"__isSmartRef__":true,"id":164},"droppingEnabled":true,"halosEnabled":true,"itemList":["all","test room","test"],"showsHalos":false,"name":"RoomsList","partsBinMetaInfo":{"__isSmartRef__":true,"id":165},"_ClipMode":{"__isSmartRef__":true,"id":170},"eventHandler":{"__isSmartRef__":true,"id":171},"derivationIds":[2860,"30186701-49A1-49AD-A42F-27F425D92029","ADD09343-51ED-44F6-85F3-257C9A52C897","C1C00AC4-F3E1-44E1-8973-0E9903EFE3B9","2B85E408-84FC-4316-BD59-0C77BB49E637","6CE6A7BB-6705-43E9-9DB7-A9B499A0017C","5740DBD4-159B-4FAA-B08F-7B434FF75FB3","F1422BFE-CAC9-491B-BE8B-DC3BA743BB86","E5784D41-2FA8-4ED1-B2E7-6AB9117AEF78"],"isBeingDragged":false,"changeTriggered":true,"grabbingEnabled":false,"_FontSize":10,"moved":true,"itemMorphs":[],"layout":{"__isSmartRef__":true,"id":172},"owner":{"__isSmartRef__":true,"id":0},"prevScroll":[0,4],"selectedIndexes":[2],"eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","eventsAreIgnored":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(705.0,10.0)","distanceToDragEvent":"lively.pt(72.0,-18.0)"},"89":{"submorphs":[{"__isSmartRef__":true,"id":90},{"__isSmartRef__":true,"id":109},{"__isSmartRef__":true,"id":135}],"scripts":[],"shape":{"__isSmartRef__":true,"id":161},"_ClipMode":"visible","derivationIds":["5B4469C4-350D-4551-89E3-0CCAA4874419","99AE6204-7A5A-47D1-AE7C-1B39DB42669D","F64CD827-F2C5-4AA9-9BB4-3144BDFC362C","E46BFAF9-C192-4F5E-BD37-55D3D26CD808","E4BDC8DE-DFDD-41AE-BE8A-FE073DE3A173","CA6C7A1B-55E5-4BFE-8E6E-99154D8CA17D"],"id":"BD9A404C-97AB-4F19-ABDC-D93648CD30D7","droppingEnabled":true,"halosEnabled":false,"owner":{"__isSmartRef__":true,"id":88},"eventHandler":{"__isSmartRef__":true,"id":162},"showsHalos":false,"layout":{"__isSmartRef__":true,"id":163},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"90":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":91},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":92}],"_ClipMode":"hidden","derivationIds":["9A37AD81-3A45-4A4E-BBA0-94828A0FFDE1","6FEB36EA-ED44-45E1-830B-5BCC5808F38E","C1C4B72F-D9E8-4D86-B1FB-03344E1F5C81","2C900178-636F-4B1F-8E22-1559564B5D1B"],"id":"D304262B-60A4-4E88-8398-C7CFA702E424","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":false,"draggingEnabled":true,"fixedWidth":true,"fixedHeight":true,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"eventsAreIgnored":false,"layout":{"__isSmartRef__":true,"id":94},"_StyleClassNames":["Morph","Text","list-item"],"_TextStylingMode":true,"isListItemMorph":true,"name":"0","index":0,"attributeConnections":[{"__isSmartRef__":true,"id":95}],"doNotSerialize":["$$selected"],"doNotCopyProperties":["$$selected"],"selected":false,"owner":{"__isSmartRef__":true,"id":89},"eventHandler":{"__isSmartRef__":true,"id":97},"_PointerEvents":"auto","__serializedExpressions__":["_TextColor","_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":98},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"91":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,19.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"92":{"style":{"__isSmartRef__":true,"id":93},"chunkOwner":{"__isSmartRef__":true,"id":90},"_id":"_4362","storedString":"all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"93":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"94":{"resizeWidth":true},"95":{"sourceObj":{"__isSmartRef__":true,"id":90},"sourceAttrName":"selected","targetObj":{"__isSmartRef__":true,"id":88},"targetMethodName":"selectionChanged","varMapping":{"__isSmartRef__":true,"id":96},"updaterString":"function ($upd, selected) { $upd(this.sourceObj.index, selected); }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"96":{"source":{"__isSmartRef__":true,"id":90},"target":{"__isSmartRef__":true,"id":88}},"97":{"morph":{"__isSmartRef__":true,"id":90},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"98":{"setIsSelected":{"__isSmartRef__":true,"id":99},"onMouseDown":{"__isSmartRef__":true,"id":102}},"99":{"varMapping":{"__isSmartRef__":true,"id":100},"source":"function setIsSelected(bool, suppressUpdate) {\n            if (!bool && this.selected) {\n                this.removeStyleClassName('selected');\n            } else if (bool && !this.selected){\n                this.addStyleClassName('selected');\n            }\n            var self = this;\n            function setState() { self.selected = bool; }\n            if (suppressUpdate) lively.bindings.noUpdate(setState); else setState();\n        }","funcProperties":{"__isSmartRef__":true,"id":101},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"100":{"this":{"__isSmartRef__":true,"id":90}},"101":{"user":"robertkrahn","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Jun 27 2014 02:52:41 GMT-0700 (PDT)\")"},"102":{"varMapping":{"__isSmartRef__":true,"id":103},"source":"function onMouseDown(evt) {\n        // NOTE! This method is attached to all the list item morphs, so this\n        // in here is NOT the list but each individual list item morph\n        var list = this.owner.owner, // FIXME\n            isMultiSelect = !!list.isMultipleSelectionList;\n        if (!isMultiSelect) {\n            this.setIsSelected(list.allowDeselectClick ? !this.selected : true);\n        } else {\n            var multiSelectWithShift = list.multipleSelectionMode === 'multiSelectWithShift',\n                hasSelection = !!list.getSelectedIndexes().length,\n                shiftPressed = evt.isShiftDown();\n            if (multiSelectWithShift && !shiftPressed) {\n                var selected = this.selected;\n                list.deselectAll();\n                this.setIsSelected(!selected || !list.allowDeselectClick);\n            } else {\n                this.setIsSelected(!this.selected);\n            }\n        }\n        evt.stop(); return true;\n    }","funcProperties":{"__isSmartRef__":true,"id":108},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"103":{"this":{"__isSmartRef__":true,"id":90},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":104}},"104":{"$super":{"__isSmartRef__":true,"id":105}},"105":{"varMapping":{"__isSmartRef__":true,"id":106},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":107},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"106":{"obj":{"__isSmartRef__":true,"id":90},"name":"onMouseDown"},"107":{},"108":{"user":"robertkrahn","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Jun 27 2014 02:52:41 GMT-0700 (PDT)\")"},"109":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":110},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":111}],"_ClipMode":"hidden","derivationIds":[],"id":"1A9E3848-8FBA-4143-8CA1-1B60128A2346","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":false,"draggingEnabled":true,"fixedWidth":false,"fixedHeight":true,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"eventsAreIgnored":false,"layout":{"__isSmartRef__":true,"id":113},"_StyleClassNames":["Morph","Text","list-item"],"_TextStylingMode":true,"isListItemMorph":true,"name":"1","index":1,"attributeConnections":[{"__isSmartRef__":true,"id":114}],"doNotSerialize":["$$selected"],"doNotCopyProperties":["$$selected"],"selected":false,"owner":{"__isSmartRef__":true,"id":89},"eventHandler":{"__isSmartRef__":true,"id":116},"_PointerEvents":"auto","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":117},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,19.0)"},"110":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,19.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"111":{"style":{"__isSmartRef__":true,"id":112},"chunkOwner":{"__isSmartRef__":true,"id":109},"_id":"_4363","storedString":"test room","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"112":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"113":{"resizeWidth":true},"114":{"sourceObj":{"__isSmartRef__":true,"id":109},"sourceAttrName":"selected","targetObj":{"__isSmartRef__":true,"id":88},"targetMethodName":"selectionChanged","varMapping":{"__isSmartRef__":true,"id":115},"updaterString":"function ($upd, selected) { $upd(this.sourceObj.index, selected); }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"115":{"source":{"__isSmartRef__":true,"id":109},"target":{"__isSmartRef__":true,"id":88}},"116":{"morph":{"__isSmartRef__":true,"id":109},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"117":{"setIsSelected":{"__isSmartRef__":true,"id":118},"onDrag":{"__isSmartRef__":true,"id":121},"onMouseDown":{"__isSmartRef__":true,"id":128}},"118":{"varMapping":{"__isSmartRef__":true,"id":119},"source":"function setIsSelected(bool, suppressUpdate) {\n            if (!bool && this.selected) {\n                this.removeStyleClassName('selected');\n            } else if (bool && !this.selected){\n                this.addStyleClassName('selected');\n            }\n            var self = this;\n            function setState() { self.selected = bool; }\n            if (suppressUpdate) lively.bindings.noUpdate(setState); else setState();\n        }","funcProperties":{"__isSmartRef__":true,"id":120},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"119":{"this":{"__isSmartRef__":true,"id":109}},"120":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:42:57 GMT-0700 (PDT)\")"},"121":{"varMapping":{"__isSmartRef__":true,"id":122},"source":"function onDrag(evt) {\n            if (!evt.hand.eventStartPos) return;\n            var list = this.owner.owner,\n                scrollByY = evt.hand.eventStartPos.subPt(evt.getPosition()).y / 4\n            list.setScroll(0, list.getScroll()[1]+scrollByY);\n        }","funcProperties":{"__isSmartRef__":true,"id":127},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"122":{"this":{"__isSmartRef__":true,"id":109},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":123}},"123":{"$super":{"__isSmartRef__":true,"id":124}},"124":{"varMapping":{"__isSmartRef__":true,"id":125},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":126},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"125":{"obj":{"__isSmartRef__":true,"id":109},"name":"onDrag"},"126":{},"127":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:42:57 GMT-0700 (PDT)\")"},"128":{"varMapping":{"__isSmartRef__":true,"id":129},"source":"function onMouseDown(evt) {\n        // NOTE! This method is attached to all the list item morphs, so this\n        // in here is NOT the list but each individual list item morph\n        var list = this.owner.owner, // FIXME\n            isMultiSelect = !!list.isMultipleSelectionList;\n        if (!isMultiSelect) {\n            this.setIsSelected(list.allowDeselectClick ? !this.selected : true);\n        } else {\n            var multiSelectWithShift = list.multipleSelectionMode === 'multiSelectWithShift',\n                hasSelection = !!list.getSelectedIndexes().length,\n                shiftPressed = evt.isShiftDown();\n            if (multiSelectWithShift && !shiftPressed) {\n                var selected = this.selected;\n                list.deselectAll();\n                this.setIsSelected(!selected || !list.allowDeselectClick);\n            } else {\n                this.setIsSelected(!this.selected);\n            }\n        }\n        evt.stop(); return true;\n    }","funcProperties":{"__isSmartRef__":true,"id":134},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"129":{"this":{"__isSmartRef__":true,"id":109},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":130}},"130":{"$super":{"__isSmartRef__":true,"id":131}},"131":{"varMapping":{"__isSmartRef__":true,"id":132},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":133},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"132":{"obj":{"__isSmartRef__":true,"id":109},"name":"onMouseDown"},"133":{},"134":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:42:57 GMT-0700 (PDT)\")"},"135":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":136},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":137}],"_ClipMode":"hidden","derivationIds":[],"id":"4474F23E-7D4C-466C-BA42-50E27EFCEDBB","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":false,"draggingEnabled":true,"fixedWidth":false,"fixedHeight":true,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"eventsAreIgnored":false,"layout":{"__isSmartRef__":true,"id":139},"_StyleClassNames":["Morph","Text","list-item","selected"],"_TextStylingMode":true,"isListItemMorph":true,"name":"2","index":2,"attributeConnections":[{"__isSmartRef__":true,"id":140}],"doNotSerialize":["$$selected"],"doNotCopyProperties":["$$selected"],"selected":true,"owner":{"__isSmartRef__":true,"id":89},"eventHandler":{"__isSmartRef__":true,"id":142},"_PointerEvents":"auto","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":143},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,38.0)"},"136":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,19.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"137":{"style":{"__isSmartRef__":true,"id":138},"chunkOwner":{"__isSmartRef__":true,"id":135},"_id":"_4364","storedString":"test","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"138":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"139":{"resizeWidth":true},"140":{"sourceObj":{"__isSmartRef__":true,"id":135},"sourceAttrName":"selected","targetObj":{"__isSmartRef__":true,"id":88},"targetMethodName":"selectionChanged","varMapping":{"__isSmartRef__":true,"id":141},"updaterString":"function ($upd, selected) { $upd(this.sourceObj.index, selected); }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"141":{"source":{"__isSmartRef__":true,"id":135},"target":{"__isSmartRef__":true,"id":88}},"142":{"morph":{"__isSmartRef__":true,"id":135},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"143":{"setIsSelected":{"__isSmartRef__":true,"id":144},"onDrag":{"__isSmartRef__":true,"id":147},"onMouseDown":{"__isSmartRef__":true,"id":154}},"144":{"varMapping":{"__isSmartRef__":true,"id":145},"source":"function setIsSelected(bool, suppressUpdate) {\n            if (!bool && this.selected) {\n                this.removeStyleClassName('selected');\n            } else if (bool && !this.selected){\n                this.addStyleClassName('selected');\n            }\n            var self = this;\n            function setState() { self.selected = bool; }\n            if (suppressUpdate) lively.bindings.noUpdate(setState); else setState();\n        }","funcProperties":{"__isSmartRef__":true,"id":146},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"145":{"this":{"__isSmartRef__":true,"id":135}},"146":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:42:57 GMT-0700 (PDT)\")"},"147":{"varMapping":{"__isSmartRef__":true,"id":148},"source":"function onDrag(evt) {\n            if (!evt.hand.eventStartPos) return;\n            var list = this.owner.owner,\n                scrollByY = evt.hand.eventStartPos.subPt(evt.getPosition()).y / 4\n            list.setScroll(0, list.getScroll()[1]+scrollByY);\n        }","funcProperties":{"__isSmartRef__":true,"id":153},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"148":{"this":{"__isSmartRef__":true,"id":135},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":149}},"149":{"$super":{"__isSmartRef__":true,"id":150}},"150":{"varMapping":{"__isSmartRef__":true,"id":151},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":152},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"151":{"obj":{"__isSmartRef__":true,"id":135},"name":"onDrag"},"152":{},"153":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:42:57 GMT-0700 (PDT)\")"},"154":{"varMapping":{"__isSmartRef__":true,"id":155},"source":"function onMouseDown(evt) {\n        // NOTE! This method is attached to all the list item morphs, so this\n        // in here is NOT the list but each individual list item morph\n        var list = this.owner.owner, // FIXME\n            isMultiSelect = !!list.isMultipleSelectionList;\n        if (!isMultiSelect) {\n            this.setIsSelected(list.allowDeselectClick ? !this.selected : true);\n        } else {\n            var multiSelectWithShift = list.multipleSelectionMode === 'multiSelectWithShift',\n                hasSelection = !!list.getSelectedIndexes().length,\n                shiftPressed = evt.isShiftDown();\n            if (multiSelectWithShift && !shiftPressed) {\n                var selected = this.selected;\n                list.deselectAll();\n                this.setIsSelected(!selected || !list.allowDeselectClick);\n            } else {\n                this.setIsSelected(!this.selected);\n            }\n        }\n        evt.stop(); return true;\n    }","funcProperties":{"__isSmartRef__":true,"id":160},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"155":{"this":{"__isSmartRef__":true,"id":135},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":156}},"156":{"$super":{"__isSmartRef__":true,"id":157}},"157":{"varMapping":{"__isSmartRef__":true,"id":158},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":159},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"158":{"obj":{"__isSmartRef__":true,"id":135},"name":"onMouseDown"},"159":{},"160":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:42:57 GMT-0700 (PDT)\")"},"161":{"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,61.0)","_Padding":"lively.rect(0,0,0,0)"},"162":{"morph":{"__isSmartRef__":true,"id":89},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"163":{"resizeWidth":true,"adjustForNewBounds":true},"164":{"_BorderWidth":0,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"165":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":8,"partName":"List","comment":"a list morph","changes":[{"__isSmartRef__":true,"id":166},{"__isSmartRef__":true,"id":167},{"__isSmartRef__":true,"id":168},{"__isSmartRef__":true,"id":169}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 27 2014 02:53:08 GMT-0700 (PDT)\")"},"166":{"author":"undefined","message":"Click on scrollbar does not grab list","id":"16AABF98-2E7D-4875-9E66-CF86EB74AF93","__serializedExpressions__":["date"],"date":"new Date(\"Thu Mar 29 2012 05:39:24 GMT-0700 (PDT)\")"},"167":{"author":"robertkrahn","message":"new morphic lists","id":"ACF81045-E200-4DA6-B0C6-B9AB94590E84","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 30 2013 14:32:00 GMT-0700 (PDT)\")"},"168":{"author":"robertkrahn","message":"no comment","id":"3D0531CA-D241-4692-89F0-2FCC7621B8DE","__serializedExpressions__":["date"],"date":"new Date(\"Tue Oct 01 2013 15:29:07 GMT-0700 (PDT)\")"},"169":{"author":"robertkrahn","message":"Fixed onMouseDown handler of text item morphs","id":"860182BB-590A-4CD9-AAB6-2F87F9BDF9B6","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jun 27 2014 02:53:07 GMT-0700 (PDT)\")"},"170":{"x":"hidden","y":"scroll"},"171":{"morph":{"__isSmartRef__":true,"id":88},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"172":{"listItemHeight":19,"padding":0,"maxListItems":6,"noOfCandidatesShown":4,"adjustForNewBounds":true,"__serializedExpressions__":["extent","maxExtent"],"extent":"lively.pt(100.0,100.0)","maxExtent":"lively.pt(100.0,100.0)"},"173":{"submorphs":[],"scripts":[],"id":"20578589-05E7-4203-8605-B245E81F9E75","shape":{"__isSmartRef__":true,"id":174},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":168.00000000000017,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"NewRoomName","partsBinMetaInfo":{"__isSmartRef__":true,"id":175},"textChunks":[{"__isSmartRef__":true,"id":176}],"charsReplaced":"Street-number","lastFindLoc":0,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":178},"derivationIds":[1958,"C61FE389-C2D3-45A4-A001-68DE006696CD","3D3B2CFA-B1F8-491E-927A-601C0EDA5FB4","5EF7F0E4-EFE3-43A0-8978-D36D4958D31E"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(705.0,145.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(99.0,-11.0)"},"174":{"fill":null,"_BorderWidth":1.1840000000000002,"_BorderRadius":6.660000000000001,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(151.0,26.4)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)"},"175":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple input field for Forms demo","partName":"InputField","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"176":{"style":{"__isSmartRef__":true,"id":177},"chunkOwner":{"__isSmartRef__":true,"id":173},"_id":"_4291","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"177":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"178":{"morph":{"__isSmartRef__":true,"id":173},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"179":{"submorphs":[{"__isSmartRef__":true,"id":180}],"scripts":[],"shape":{"__isSmartRef__":true,"id":185},"eventHandler":{"__isSmartRef__":true,"id":186},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","80CD0BC3-E29C-48A3-BF49-DD263A016B3E","38A4DD0C-47C0-446E-94F1-FC38F66E6235","5107EBFB-684D-4BA5-A31E-58AED6A301B1"],"id":"4C1ADC00-9C8C-4B8D-9FD9-7DBC381B6081","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":180},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":187}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button2","partsBinMetaInfo":{"__isSmartRef__":true,"id":189},"pinSpecs":[{"__isSmartRef__":true,"id":197}],"owner":{"__isSmartRef__":true,"id":0},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":198},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(861.0,147.0)","distanceToDragEvent":"lively.pt(54.0,-14.0)"},"180":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":181},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":182}],"eventHandler":{"__isSmartRef__":true,"id":184},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","3BF8DAEC-4FDB-4BA3-9739-1C5166D1952D","D7DBE818-2B6A-4427-87AE-934FCA09EC63","4B16C692-786F-406C-9D4B-E846F8DBF134"],"id":"CC194CF0-1680-4C54-B815-436EBCBB2480","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":179},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"181":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(71.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"182":{"style":{"__isSmartRef__":true,"id":183},"chunkOwner":{"__isSmartRef__":true,"id":180},"_id":"_5710","storedString":"Create room","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"183":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"184":{"morph":{"__isSmartRef__":true,"id":180},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"185":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(71.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"186":{"morph":{"__isSmartRef__":true,"id":179},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"187":{"sourceObj":{"__isSmartRef__":true,"id":179},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":179},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":188},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"188":{"source":{"__isSmartRef__":true,"id":179},"target":{"__isSmartRef__":true,"id":179}},"189":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":190},{"__isSmartRef__":true,"id":191},{"__isSmartRef__":true,"id":192},{"__isSmartRef__":true,"id":193},{"__isSmartRef__":true,"id":194},{"__isSmartRef__":true,"id":195},{"__isSmartRef__":true,"id":196}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"190":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"191":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"192":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"193":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"194":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"195":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"196":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"197":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"198":{"doAction":{"__isSmartRef__":true,"id":199}},"199":{"varMapping":{"__isSmartRef__":true,"id":200},"source":"function doAction() {\n    this.owner.createRoom();\n}","funcProperties":{"__isSmartRef__":true,"id":201},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"200":{"this":{"__isSmartRef__":true,"id":179}},"201":{"user":"robin","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 10 2014 17:37:01 GMT-0700 (PDT)\")"},"202":{"submorphs":[{"__isSmartRef__":true,"id":203}],"scripts":[],"shape":{"__isSmartRef__":true,"id":208},"eventHandler":{"__isSmartRef__":true,"id":209},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","66BFE30B-6EEB-476D-8C80-5858AF1DBB5C","DEAC39D5-3DC4-47A6-BC22-F380411EC1E5","E55E7FE2-6F81-4FDC-8C38-C37B058CFCCB"],"id":"E0FF4B3C-EED4-4081-A261-3F73CFF7C989","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":203},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":210}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button6","partsBinMetaInfo":{"__isSmartRef__":true,"id":212},"pinSpecs":[{"__isSmartRef__":true,"id":220}],"owner":{"__isSmartRef__":true,"id":0},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":221},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(912.0,115.0)","distanceToDragEvent":"lively.pt(34.0,-14.0)"},"203":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":204},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":205}],"eventHandler":{"__isSmartRef__":true,"id":207},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","F9E32F4E-451C-4DF9-9897-C7C088AF997E","8B5D2258-4F80-40A0-9C36-7456A91E2610","EDA86155-9E6A-40C3-A255-2D53FEE62706"],"id":"9D1D3F69-0F40-4B2F-BF1F-EEFF69ECDE4B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":202},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"204":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"205":{"style":{"__isSmartRef__":true,"id":206},"chunkOwner":{"__isSmartRef__":true,"id":203},"_id":"_4338","storedString":"↻","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"206":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"207":{"morph":{"__isSmartRef__":true,"id":203},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"208":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"209":{"morph":{"__isSmartRef__":true,"id":202},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"210":{"sourceObj":{"__isSmartRef__":true,"id":202},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":202},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":211},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"211":{"source":{"__isSmartRef__":true,"id":202},"target":{"__isSmartRef__":true,"id":202}},"212":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":213},{"__isSmartRef__":true,"id":214},{"__isSmartRef__":true,"id":215},{"__isSmartRef__":true,"id":216},{"__isSmartRef__":true,"id":217},{"__isSmartRef__":true,"id":218},{"__isSmartRef__":true,"id":219}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"213":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"214":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"215":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"216":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"217":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"218":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"219":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"220":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"221":{"doAction":{"__isSmartRef__":true,"id":222}},"222":{"varMapping":{"__isSmartRef__":true,"id":223},"source":"function doAction() {\n    this.owner.listClients();\n}","funcProperties":{"__isSmartRef__":true,"id":224},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"223":{"this":{"__isSmartRef__":true,"id":202}},"224":{"user":"robin","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 11 2014 11:16:50 GMT-0700 (PDT)\")"},"225":{"submorphs":[{"__isSmartRef__":true,"id":226}],"scripts":[],"shape":{"__isSmartRef__":true,"id":231},"eventHandler":{"__isSmartRef__":true,"id":232},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","C1FD5554-7CE3-4CEE-9FC6-BFC00857C835","08876EDC-403A-4073-9170-1A760D7E9DFC","D4811AF9-3364-4C4C-91E9-A4243A1ACBD6"],"id":"A6B91A9F-867B-41D5-BD10-E873F66D3402","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":226},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":233}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button5","partsBinMetaInfo":{"__isSmartRef__":true,"id":235},"pinSpecs":[{"__isSmartRef__":true,"id":243}],"owner":{"__isSmartRef__":true,"id":0},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":244},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(785.0,115.0)","distanceToDragEvent":"lively.pt(34.0,-17.0)"},"226":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":227},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":228}],"eventHandler":{"__isSmartRef__":true,"id":230},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","C1137437-AF6F-4368-81B4-C0C7F7482980","BA2A9654-4910-4C29-B1D6-EB3AC1873764","D8C08A25-D704-407F-A5FF-715AA8EA2E17"],"id":"61DB4CAB-65FA-427D-8E7F-9F697F8E8DC5","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":225},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"227":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"228":{"style":{"__isSmartRef__":true,"id":229},"chunkOwner":{"__isSmartRef__":true,"id":226},"_id":"_4246","storedString":"↻","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"229":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"230":{"morph":{"__isSmartRef__":true,"id":226},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"231":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"232":{"morph":{"__isSmartRef__":true,"id":225},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"233":{"sourceObj":{"__isSmartRef__":true,"id":225},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":225},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":234},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"234":{"source":{"__isSmartRef__":true,"id":225},"target":{"__isSmartRef__":true,"id":225}},"235":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":236},{"__isSmartRef__":true,"id":237},{"__isSmartRef__":true,"id":238},{"__isSmartRef__":true,"id":239},{"__isSmartRef__":true,"id":240},{"__isSmartRef__":true,"id":241},{"__isSmartRef__":true,"id":242}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"236":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"237":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"238":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"239":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"240":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"241":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"242":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"243":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"244":{"doAction":{"__isSmartRef__":true,"id":245}},"245":{"varMapping":{"__isSmartRef__":true,"id":246},"source":"function doAction() {\n    this.owner.listRooms();\n}","funcProperties":{"__isSmartRef__":true,"id":247},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"246":{"this":{"__isSmartRef__":true,"id":225}},"247":{"user":"robin","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 11 2014 11:02:24 GMT-0700 (PDT)\")"},"248":{"submorphs":[{"__isSmartRef__":true,"id":249}],"scripts":[],"shape":{"__isSmartRef__":true,"id":254},"eventHandler":{"__isSmartRef__":true,"id":255},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","A24308D1-DB89-4C84-BFEB-5BAD35E00201","D6FBB1A6-9F6D-4D0E-96EF-4E6A4382DE90","61D825C6-2FA5-4C5C-9EAA-801D7D8CEC0B"],"id":"54E043B4-B668-43F8-A7A1-5377C2D51C9F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":249},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":256}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button7","partsBinMetaInfo":{"__isSmartRef__":true,"id":258},"pinSpecs":[{"__isSmartRef__":true,"id":266}],"owner":{"__isSmartRef__":true,"id":0},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":267},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(810.0,49.0)","distanceToDragEvent":"lively.pt(42.0,-11.0)"},"249":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":250},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":251}],"eventHandler":{"__isSmartRef__":true,"id":253},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","BE2CE570-9CEA-4A03-81CC-D62FF15FEA4F","284DAEF9-32F1-4976-AEC8-B05BE90F1F00","902C174E-E19E-45B0-90EF-6CC4F9DCE622"],"id":"35C4BF49-0DA7-40FD-81F2-545EFB9D1B8D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":248},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"250":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"251":{"style":{"__isSmartRef__":true,"id":252},"chunkOwner":{"__isSmartRef__":true,"id":249},"_id":"_4365","storedString":"←","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"252":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"253":{"morph":{"__isSmartRef__":true,"id":249},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"254":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"255":{"morph":{"__isSmartRef__":true,"id":248},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"256":{"sourceObj":{"__isSmartRef__":true,"id":248},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":248},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":257},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"257":{"source":{"__isSmartRef__":true,"id":248},"target":{"__isSmartRef__":true,"id":248}},"258":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":259},{"__isSmartRef__":true,"id":260},{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":262},{"__isSmartRef__":true,"id":263},{"__isSmartRef__":true,"id":264},{"__isSmartRef__":true,"id":265}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"259":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"260":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"261":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"262":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"263":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"264":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"265":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"266":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"267":{"doAction":{"__isSmartRef__":true,"id":268}},"268":{"varMapping":{"__isSmartRef__":true,"id":269},"source":"function doAction() {\n    var client = this.owner;\n    var _this = this;debugger;\n    if (client.currentRoom) {\n        client.leaveRoom(function() {\n            _this.setLabel('→');\n        });\n    } else {\n        client.enterRoom(function() {\n            _this.setLabel('←')\n        });\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":270},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"269":{"this":{"__isSmartRef__":true,"id":248}},"270":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 14:06:43 GMT-0700 (PDT)\")"},"271":{"submorphs":[{"__isSmartRef__":true,"id":272}],"scripts":[],"shape":{"__isSmartRef__":true,"id":277},"eventHandler":{"__isSmartRef__":true,"id":278},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","8724F2FB-7769-4F72-8F25-BF8BF319FB13","09D1D5CE-7B29-4D46-AEFF-B3D05792D219","FA24A192-189B-4BA5-987E-4DBBB1B0D3D5"],"id":"FD8A0BC0-CE3F-40B2-8EE9-39E3980280BE","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":272},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":279}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button9","partsBinMetaInfo":{"__isSmartRef__":true,"id":281},"pinSpecs":[{"__isSmartRef__":true,"id":289}],"owner":{"__isSmartRef__":true,"id":0},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":290},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(705.0,115.0)","distanceToDragEvent":"lively.pt(55.0,-13.0)"},"272":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":273},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":274}],"eventHandler":{"__isSmartRef__":true,"id":276},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","72641797-2F14-4585-82AA-D0BCD806040F","3068CF06-35B5-4C19-8653-A8EB29939230","0EC2F040-5E11-41F5-9801-3E0AB4195366"],"id":"4E6D5EC6-71A7-451F-B455-E221A34CD5AD","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":271},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"273":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(75.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"274":{"style":{"__isSmartRef__":true,"id":275},"chunkOwner":{"__isSmartRef__":true,"id":272},"_id":"_19849","storedString":"Delete room","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"275":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"276":{"morph":{"__isSmartRef__":true,"id":272},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"277":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(75.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"278":{"morph":{"__isSmartRef__":true,"id":271},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"279":{"sourceObj":{"__isSmartRef__":true,"id":271},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":271},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":280},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"280":{"source":{"__isSmartRef__":true,"id":271},"target":{"__isSmartRef__":true,"id":271}},"281":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":282},{"__isSmartRef__":true,"id":283},{"__isSmartRef__":true,"id":284},{"__isSmartRef__":true,"id":285},{"__isSmartRef__":true,"id":286},{"__isSmartRef__":true,"id":287},{"__isSmartRef__":true,"id":288}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"282":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"283":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"284":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"285":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"286":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"287":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"288":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"289":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"290":{"doAction":{"__isSmartRef__":true,"id":291}},"291":{"varMapping":{"__isSmartRef__":true,"id":292},"source":"function doAction() {\n    this.owner.deleteRoom();\n}","funcProperties":{"__isSmartRef__":true,"id":293},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"292":{"this":{"__isSmartRef__":true,"id":271}},"293":{"user":"robin","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 11 2014 12:35:01 GMT-0700 (PDT)\")"},"294":{"submorphs":[],"scripts":[],"id":"BC3EF5EB-A00B-47D8-8338-8C66133C8B7B","shape":{"__isSmartRef__":true,"id":295},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":null,"_MaxTextHeight":22,"showsHalos":false,"_FontSize":14,"name":"Label","partsBinMetaInfo":{"__isSmartRef__":true,"id":296},"textChunks":[{"__isSmartRef__":true,"id":297}],"charsReplaced":"some text","lastFindLoc":-9,"prevScroll":[0,0],"isLabel":true,"_ClipMode":"hidden","_WhiteSpaceHandling":"pre","allowInput":false,"eventsAreIgnored":false,"eventHandler":{"__isSmartRef__":true,"id":299},"derivationIds":[2033,"3632AF8D-69A2-465E-A015-2E14ECA39EE0","4D1DF4FF-354D-41B7-8F2D-AA3E2681D713","87E75DB0-8747-4569-9470-9A54BCE0DC2B"],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(7.0,7.0)","textColor":"Color.rgb(0,0,0)"},"295":{"fill":null,"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(27.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"296":{"partsSpaceName":"PartsBin/Text/","migrationLevel":2,"partName":"Label","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"297":{"style":{"__isSmartRef__":true,"id":298},"chunkOwner":{"__isSmartRef__":true,"id":294},"_id":"_3523","storedString":"ID:","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"298":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"299":{"morph":{"__isSmartRef__":true,"id":294},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"300":{"submorphs":[],"scripts":[],"id":"F580E168-2701-4363-97CF-AD72CE5F6DA8","shape":{"__isSmartRef__":true,"id":301},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":null,"_MaxTextHeight":22,"showsHalos":false,"_FontSize":14,"name":"IDField","partsBinMetaInfo":{"__isSmartRef__":true,"id":302},"textChunks":[{"__isSmartRef__":true,"id":303}],"charsReplaced":"some text","lastFindLoc":-9,"prevScroll":[0,0],"isLabel":true,"_ClipMode":"hidden","_WhiteSpaceHandling":"pre","allowInput":false,"eventsAreIgnored":false,"eventHandler":{"__isSmartRef__":true,"id":305},"derivationIds":[2033,"1CBDE6DA-9FEB-4F62-BB2C-7532308CC9CC","A764FD64-010F-421F-930E-7D46955D202E","EA94D959-8C33-415E-8CB2-19B3A8B1EAFD"],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(33.0,7.0)","textColor":"Color.rgb(0,0,0)"},"301":{"fill":null,"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(218.0,23.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"302":{"partsSpaceName":"PartsBin/Text/","migrationLevel":2,"partName":"Label","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"303":{"style":{"__isSmartRef__":true,"id":304},"chunkOwner":{"__isSmartRef__":true,"id":300},"_id":"_5823","storedString":"Closed","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"304":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"305":{"morph":{"__isSmartRef__":true,"id":300},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"306":{"submorphs":[{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":341}],"scripts":[],"id":"FA26261A-6C45-4663-B506-0F208331BEBE","shape":{"__isSmartRef__":true,"id":369},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ScreenContainer","partsBinMetaInfo":{"__isSmartRef__":true,"id":370},"eventHandler":{"__isSmartRef__":true,"id":390},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","1C17567C-751A-447E-A93C-0CE8CAEEF262","C31986AF-AB07-427F-BD76-E0F3859AC975","CBDDB177-615A-4B52-85D1-2CCAD979ECBF","CFB3B845-E82A-4912-94BA-D59ED7F935B0","780A2425-5533-4BFA-91FB-E9758F1E0445"],"partTests":{"__isSmartRef__":true,"id":391},"_ClipMode":"hidden","moved":true,"droppingEnabled":true,"owner":{"__isSmartRef__":true,"id":0},"isBeingDragged":false,"prevScroll":[347,321],"videoStreams":0,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":396},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(14.0,141.0)","distanceToDragEvent":"lively.pt(422.0,-17.0)"},"307":{"shape":{"__isSmartRef__":true,"id":308},"submorphs":[],"scripts":[],"_ClipMode":"auto","derivationIds":["3ABFAB66-3E1D-4B57-B4D3-DBF0D37DCE60","D3CB6A05-D42B-419A-992D-1DDF9DDED959","034779AD-D220-487C-A85D-C8C72ED576E0","334AD1D8-40EC-4B9C-818C-37699FB7674D","84D78072-9CDC-4D7A-9F75-56681F89DF7E","F19DA916-0485-4B6D-B336-3B804252F0AB","524F6B82-3EE0-4368-AA37-DC9BF0AC187E","EAFA5923-8B15-4F15-A967-226837C3BDBA","99ED38FB-9C21-41DD-8581-73A789669C26","6C11A546-5CEC-41C7-84AD-EAF8CC247F04","7311C32A-91AB-422C-B6F8-68F2C979BD99","519ABD29-7315-4089-A746-0DE8361DCECC","7DCB436E-5813-403A-9FA4-D35D94B6E546","A277934D-3BC2-4781-BBAF-0C3000B912D9","7122EA98-A4AE-4FFA-88E6-CF38EC6A006A","1FF3C0A9-EF9C-4D33-8963-374FB6259136","840A05A0-52F3-4AB6-ABAC-9402F93E4E2E"],"id":"7B587B33-1321-4753-AEEB-6A10013DEF3A","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["Morph","HtmlWrapperMorph","selectable"],"eventHandler":{"__isSmartRef__":true,"id":309},"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":310},"name":"MainRemoteVideoScreen","prevScroll":[0,0],"isBeingDragged":false,"videoStream":{"__isSmartRef__":true,"id":321},"owner":{"__isSmartRef__":true,"id":306},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":322},"__LivelyClassName__":"lively.morphic.HtmlWrapperMorph","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(109.0,0.0)","distanceToDragEvent":"lively.pt(437.0,-11.0)"},"308":{"_BorderWidth":1.704,"stringifiedShapeNode":"<div xmlns=\"http://www.w3.org/1999/xhtml\" data-lively-morphid=\"7B587B33-1321-4753-AEEB-6A10013DEF3A\" class=\"Morph HtmlWrapperMorph selectable\" id=\"null\" style=\"overflow: auto; border: 1.704px solid rgb(0, 0, 0); padding: 0px; width: 414.408px; height: 341.408px; position: absolute; left: 0px; top: 0px; background: rgb(255, 255, 255);\"><video width=\"0\" height=\"0\" id=\"video\"></video></div>","_BorderRadius":0,"__serializedExpressions__":["_Padding","_Position","_Extent","_Fill","extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.External","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(414.4,341.4)","_Fill":"Color.rgb(255,255,255)","extent":"lively.pt(417.4,344.4)","_BorderColor":"Color.rgb(0,0,0)"},"309":{"morph":{"__isSmartRef__":true,"id":307},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"310":{"partName":"RemoteVideoScreen","requiredModules":[],"partsSpaceName":"PartsBin/Felix/","comment":"Video screen to show the remote video during video calls","changes":[{"__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":318},{"__isSmartRef__":true,"id":319},{"__isSmartRef__":true,"id":320}],"migrationLevel":8,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 17 2014 11:38:13 GMT-0700 (PDT)\")"},"311":{"author":"Felix","message":"no comment","id":"09F25D55-CBC2-4571-BA3B-C753B9A3DA76","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:38:12 GMT-0700 (PDT)\")"},"312":{"author":"Felix","message":"no comment","id":"0857F38C-AA5A-4BC1-93B9-DF50D54978BA","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 17:13:36 GMT-0700 (PDT)\")"},"313":{"author":"Felix","message":"no comment","id":"88D77A70-F30A-4F5E-9428-7B3A223A612C","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:59:24 GMT-0700 (PDT)\")"},"314":{"author":"Felix","message":"no comment","id":"3AF61770-FDB7-47F7-8A96-9F72BEF4B07A","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 09:57:39 GMT-0700 (PDT)\")"},"315":{"author":"robertkrahn","message":"clipped","id":"287FA9C0-4815-46CD-B588-28102199A3F0","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:38 GMT-0800 (PST)\")"},"316":{"author":"robertkrahn","message":"clipped","id":"D4A9A56A-16E6-4D3D-9B42-425F9CE8E8B6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:30 GMT-0800 (PST)\")"},"317":{"author":"robertkrahn","message":"no comment","id":"FC45EDD5-3632-41E9-8CCF-1E7BF0F5B7FA","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:35:06 GMT-0800 (PST)\")"},"318":{"author":"robertkrahn","message":"no comment","id":"4B305BE4-1B35-4BBB-ABCE-D255D563CBD9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:34:42 GMT-0800 (PST)\")"},"319":{"author":"robertkrahn","message":"Fixed reset as suggested by Rick. Thanks Rick!","id":"C9389773-D839-4E3C-AF10-28F6282541BB","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jul 17 2014 12:02:10 GMT-0700 (PDT)\")"},"320":{"author":"Felix","message":"no comment","id":"DA5F2553-C571-4C5F-BE03-F34BFE597DCB","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:57:32 GMT-0700 (PDT)\")"},"321":{"onremovetrack":null,"onaddtrack":null,"onended":null,"ended":true,"id":"aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ","label":"aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ"},"322":{"isPlaying":{"__isSmartRef__":true,"id":323},"reset":{"__isSmartRef__":true,"id":326},"startVideo":{"__isSmartRef__":true,"id":329},"stopVideo":{"__isSmartRef__":true,"id":332},"playStream":{"__isSmartRef__":true,"id":335},"registerEventOnScreen":{"__isSmartRef__":true,"id":338}},"323":{"varMapping":{"__isSmartRef__":true,"id":324},"source":"function isPlaying() {\n    var video = this.jQuery().children('video').get(0);\n    \n    // when the video element has no source attribute, it is \n    // not playing any stream\n    return !!video.src;\n}","funcProperties":{"__isSmartRef__":true,"id":325},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"324":{"this":{"__isSmartRef__":true,"id":307}},"325":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:57:09 GMT-0700 (PDT)\")"},"326":{"varMapping":{"__isSmartRef__":true,"id":327},"source":"function reset() {\n    this.setClipMode(\"auto\");\n    this.jQuery().html(\"<video width=0 height=0 id='video'></video>\");\n}","funcProperties":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"327":{"this":{"__isSmartRef__":true,"id":307}},"328":{"__serializedExpressions__":["timestamp"],"user":"unknown_user","timestamp":"new Date(\"Sat Sep 06 2014 22:34:16 GMT-0700 (PDT)\")"},"329":{"varMapping":{"__isSmartRef__":true,"id":330},"source":"function startVideo(mediaStream, callback) {\n    // if no stream provided, use webcam instead\n    if (mediaStream) {\n        this.playStream(mediaStream);\n        if (callback) callback(null, mediaStream);\n    } else {\n        navigator.getUserMedia = \n        navigator.getUserMedia || \n        navigator.webkitGetUserMedia || \n        navigator.mozGetUserMedia;\n\n        var constraints = {video: true, audio: true};\n        var panel = this;\n        \n        function sucCallback(localMediaStream) {\n            panel.playStream(localMediaStream);\n            if (callback) callback(null, localMediaStream);\n        }\n        \n        function errCallback(err) {\n            console.error('VideoScreen Error: ', err);\n            if (callback) callback(err);\n        }\n        \n        navigator.getUserMedia(constraints, sucCallback, errCallback);\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":331},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"330":{"this":{"__isSmartRef__":true,"id":307}},"331":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:56:10 GMT-0700 (PDT)\")"},"332":{"varMapping":{"__isSmartRef__":true,"id":333},"source":"function stopVideo() {\n    if (!this.videoStream || !this.isPlaying) return;\n    \n    this.videoStream.stop();\n    this.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":334},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"333":{"this":{"__isSmartRef__":true,"id":307}},"334":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:55:47 GMT-0700 (PDT)\")"},"335":{"varMapping":{"__isSmartRef__":true,"id":336},"source":"function playStream(mediaStream) {\n    this.videoStream = mediaStream;\n    var video = this.jQuery().children('video').get(0);\n    var extent = this.getExtent();\n    video.height = extent.y - 20;\n    video.width = extent.x - 20;\n    video.src = window.URL.createObjectURL(mediaStream);\n    video.play();\n}","funcProperties":{"__isSmartRef__":true,"id":337},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"336":{"this":{"__isSmartRef__":true,"id":307}},"337":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Wed Sep 17 2014 13:41:03 GMT-0700 (PDT)\")"},"338":{"varMapping":{"__isSmartRef__":true,"id":339},"source":"function registerEventOnScreen(event, callback) {\n    var video = this.jQuery().children('video').get(0);\n    video.addEventListener(event, callback);\n}","funcProperties":{"__isSmartRef__":true,"id":340},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"339":{"this":{"__isSmartRef__":true,"id":307}},"340":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Mon Sep 15 2014 17:12:59 GMT-0700 (PDT)\")"},"341":{"submorphs":[],"scripts":[],"id":"00FDF7E0-C389-4AEA-B874-744D43FBACBB","shape":{"__isSmartRef__":true,"id":342},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"SmallScreensContainer","partsBinMetaInfo":{"__isSmartRef__":true,"id":343},"eventHandler":{"__isSmartRef__":true,"id":363},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","1C17567C-751A-447E-A93C-0CE8CAEEF262","C31986AF-AB07-427F-BD76-E0F3859AC975","16DB7548-D858-45CC-896C-34484A398F7C","F599A934-2921-4567-A420-A5AF1BA61442","90F316FC-B02C-445C-9C37-D52ACFFBFF49"],"partTests":{"__isSmartRef__":true,"id":364},"_ClipMode":"auto","moved":true,"droppingEnabled":true,"owner":{"__isSmartRef__":true,"id":306},"isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(1.0,342.0)"},"342":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(625.0,148.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"343":{"partsSpaceName":"PartsBin/Basic","comment":"A plain simple rectangle","migrationLevel":8,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":344},{"__isSmartRef__":true,"id":345},{"__isSmartRef__":true,"id":346},{"__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}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"344":{"author":"jenslincke","message":"no comment","id":"ADFBF069-513C-4DE6-95A9-8AD4985C6508","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:23:53 GMT-0800 (PST)\")"},"345":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"346":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"347":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"348":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"349":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"350":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"351":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"352":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"353":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"354":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"355":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"356":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"357":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"358":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"359":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"360":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"361":{"author":"jenslincke","message":"no comment","id":"ECD12BFF-E872-4918-8341-C6571E72F36D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:24:27 GMT-0800 (PST)\")"},"362":{"author":"lauritz","message":"dropping enabled for the blue rectangle","id":"81D350CB-D926-491F-8FF3-A6C9C831BDF2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"363":{"morph":{"__isSmartRef__":true,"id":341},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"364":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":365}},"365":{"test01IsMorph":{"__isSmartRef__":true,"id":366}},"366":{"varMapping":{"__isSmartRef__":true,"id":367},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":368},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"367":{"this":{"__isSmartRef__":true,"id":364}},"368":{},"369":{"_BorderWidth":2.24,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(627.0,491.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"370":{"partsSpaceName":"PartsBin/Basic/","comment":"A plain simple rectangle","migrationLevel":8,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":371},{"__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}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"371":{"author":"lauritz","message":"dropping enabled for the blue rectangle","id":"81D350CB-D926-491F-8FF3-A6C9C831BDF2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"372":{"author":"jenslincke","message":"no comment","id":"ECD12BFF-E872-4918-8341-C6571E72F36D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:24:27 GMT-0800 (PST)\")"},"373":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"374":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"375":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"376":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"377":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"378":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"379":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"380":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"381":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"382":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"383":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"384":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"385":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"386":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"387":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"388":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"389":{"author":"jenslincke","message":"no comment","id":"ADFBF069-513C-4DE6-95A9-8AD4985C6508","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:23:53 GMT-0800 (PST)\")"},"390":{"morph":{"__isSmartRef__":true,"id":306},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"391":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":392}},"392":{"test01IsMorph":{"__isSmartRef__":true,"id":393}},"393":{"varMapping":{"__isSmartRef__":true,"id":394},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":395},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"394":{"this":{"__isSmartRef__":true,"id":391}},"395":{},"396":{"addScreen":{"__isSmartRef__":true,"id":397},"removeScreen":{"__isSmartRef__":true,"id":400},"getFreePosition":{"__isSmartRef__":true,"id":403},"swapScreen":{"__isSmartRef__":true,"id":406}},"397":{"varMapping":{"__isSmartRef__":true,"id":398},"source":"function addScreen() {\n    var mainScreen = this.get('MainRemoteVideoScreen');\n    if (!mainScreen.isPlaying()) {\n        return mainScreen;\n    }\n    \n    var screen = $world.loadPartItem('RemoteVideoScreen', 'PartsBin/Felix');\n    var _this = this;\n    screen.onMouseUp = function() {\n        _this.swapScreen(screen);\n    }\n    var container = this.get('SmallScreensContainer');\n    var index = container.submorphs.length;\n    \n    screen.index = index;\n    screen.setName('RemoteVideoScreen' + index);\n    screen.setPosition(this.getFreePosition());\n    container.addMorph(screen);\n    \n    return screen;\n}","funcProperties":{"__isSmartRef__":true,"id":399},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"398":{"this":{"__isSmartRef__":true,"id":306}},"399":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:50:07 GMT-0700 (PDT)\")"},"400":{"varMapping":{"__isSmartRef__":true,"id":401},"source":"function removeScreen(screen) {\n    var container = this.get('SmallScreensContainer');\n    // if screen given, remove that one, else remove all\n    if (screen) {\n        screen.stopVideo();\n        // do not remove the main screen\n        if (screen.getName() !== 'MainRemoteVideoScreen') screen.remove();\n        // TODO: re-order other screens\n    } else {\n        container.submorphs.forEach(function(ea) {\n            ea.stopVideo();\n            ea.remove();\n        });\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":402},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"401":{"this":{"__isSmartRef__":true,"id":306}},"402":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Wed Sep 17 2014 15:15:11 GMT-0700 (PDT)\")"},"403":{"varMapping":{"__isSmartRef__":true,"id":404},"source":"function getFreePosition() {\n    var padding = 2;\n    var position = lively.pt(padding, padding);\n    var container = this.get('SmallScreensContainer');\n    \n    container.submorphs.forEach(function(ea) {\n        var pos = ea.getPosition();\n        if (pos.x >= position.x) {\n            position = pos.addPt(lively.pt(ea.getExtent().x + padding, 0));\n        }\n    });\n    \n    return position;\n}","funcProperties":{"__isSmartRef__":true,"id":405},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"404":{"this":{"__isSmartRef__":true,"id":306}},"405":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Wed Sep 17 2014 15:15:11 GMT-0700 (PDT)\")"},"406":{"varMapping":{"__isSmartRef__":true,"id":407},"source":"function swapScreen(initiator) {\n    var mainScreen = this.get('MainRemoteVideoScreen');\n    var mainVideo = mainScreen.jQuery().children('video').get(0);\n    var initiatorVideo = initiator.jQuery().children('video').get(0);\n    \n    var tmp = mainVideo.src;\n    mainVideo.src = initiatorVideo.src;\n    initiatorVideo.src = tmp;\n    \n    mainVideo.play();\n    initiatorVideo.play();\n}","funcProperties":{"__isSmartRef__":true,"id":408},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"407":{"this":{"__isSmartRef__":true,"id":306}},"408":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Wed Sep 17 2014 13:21:20 GMT-0700 (PDT)\")"},"409":{"submorphs":[{"__isSmartRef__":true,"id":410},{"__isSmartRef__":true,"id":424},{"__isSmartRef__":true,"id":449}],"scripts":[],"id":"735969D1-0379-43C9-A29B-203EE228633A","shape":{"__isSmartRef__":true,"id":465},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ChatPane","partsBinMetaInfo":{"__isSmartRef__":true,"id":466},"eventHandler":{"__isSmartRef__":true,"id":486},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","1C17567C-751A-447E-A93C-0CE8CAEEF262","C31986AF-AB07-427F-BD76-E0F3859AC975","24B08906-3A01-46F8-B393-1AB11F65C590","57C1502A-8C17-4EFC-B960-D35955A2478A","A9FE465B-06CC-439D-9B6D-1366977F5752"],"partTests":{"__isSmartRef__":true,"id":487},"_ClipMode":"visible","moved":true,"droppingEnabled":true,"owner":{"__isSmartRef__":true,"id":0},"isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(683.0,182.0)"},"410":{"submorphs":[{"__isSmartRef__":true,"id":411}],"scripts":[],"id":"27D6C668-2DF2-4C0A-833B-0A58A1D44497","shape":{"__isSmartRef__":true,"id":415},"droppingEnabled":true,"halosEnabled":true,"itemList":[],"selectedIndexes":[],"showsHalos":false,"name":"ChatContent","partsBinMetaInfo":{"__isSmartRef__":true,"id":416},"_ClipMode":{"__isSmartRef__":true,"id":421},"eventHandler":{"__isSmartRef__":true,"id":422},"derivationIds":[2860,"30186701-49A1-49AD-A42F-27F425D92029","ADD09343-51ED-44F6-85F3-257C9A52C897","C1C00AC4-F3E1-44E1-8973-0E9903EFE3B9","2B85E408-84FC-4316-BD59-0C77BB49E637","6CE6A7BB-6705-43E9-9DB7-A9B499A0017C","B4369DBB-DF5A-4DC7-9C10-FF5B7F6F9386","BAF7FE7F-BA22-4430-898B-AF7FAD3EDF59","D3E17657-FEAA-4304-880C-5AFD4FB21575"],"isBeingDragged":false,"changeTriggered":true,"grabbingEnabled":false,"_FontSize":10,"moved":true,"itemMorphs":[],"layout":{"__isSmartRef__":true,"id":423},"owner":{"__isSmartRef__":true,"id":409},"prevScroll":[0,0],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(4.0,4.0)","distanceToDragEvent":"lively.pt(71.0,-16.0)"},"411":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":412},"_ClipMode":"visible","derivationIds":["5B4469C4-350D-4551-89E3-0CCAA4874419","99AE6204-7A5A-47D1-AE7C-1B39DB42669D","F64CD827-F2C5-4AA9-9BB4-3144BDFC362C","70188F29-3356-4C54-9E33-6A6BED7AB8CE","687A98F7-330B-4FE2-9626-AD6CCE4F327F","7B1F1CA3-1B5E-4309-81AF-C6E4AAD0E2F5"],"id":"7A93517C-0EAB-4056-806E-1617B7B46B5E","droppingEnabled":true,"halosEnabled":false,"owner":{"__isSmartRef__":true,"id":410},"eventHandler":{"__isSmartRef__":true,"id":413},"showsHalos":false,"layout":{"__isSmartRef__":true,"id":414},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"412":{"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(240.0,4.0)","_Padding":"lively.rect(0,0,0,0)"},"413":{"morph":{"__isSmartRef__":true,"id":411},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"414":{"resizeWidth":true,"adjustForNewBounds":true},"415":{"_BorderWidth":0,"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(240.0,280.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"416":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":8,"partName":"List","comment":"a list morph","changes":[{"__isSmartRef__":true,"id":417},{"__isSmartRef__":true,"id":418},{"__isSmartRef__":true,"id":419},{"__isSmartRef__":true,"id":420}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Jun 27 2014 02:53:08 GMT-0700 (PDT)\")"},"417":{"author":"undefined","message":"Click on scrollbar does not grab list","id":"16AABF98-2E7D-4875-9E66-CF86EB74AF93","__serializedExpressions__":["date"],"date":"new Date(\"Thu Mar 29 2012 05:39:24 GMT-0700 (PDT)\")"},"418":{"author":"robertkrahn","message":"new morphic lists","id":"ACF81045-E200-4DA6-B0C6-B9AB94590E84","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 30 2013 14:32:00 GMT-0700 (PDT)\")"},"419":{"author":"robertkrahn","message":"no comment","id":"3D0531CA-D241-4692-89F0-2FCC7621B8DE","__serializedExpressions__":["date"],"date":"new Date(\"Tue Oct 01 2013 15:29:07 GMT-0700 (PDT)\")"},"420":{"author":"robertkrahn","message":"Fixed onMouseDown handler of text item morphs","id":"860182BB-590A-4CD9-AAB6-2F87F9BDF9B6","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jun 27 2014 02:53:07 GMT-0700 (PDT)\")"},"421":{"x":"hidden","y":"scroll"},"422":{"morph":{"__isSmartRef__":true,"id":410},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"423":{"listItemHeight":19,"padding":0,"maxListItems":15,"noOfCandidatesShown":1,"adjustForNewBounds":true,"__serializedExpressions__":["extent","maxExtent"],"extent":"lively.pt(240.0,280.0)","maxExtent":"lively.pt(240.0,280.0)"},"424":{"submorphs":[{"__isSmartRef__":true,"id":425}],"scripts":[],"shape":{"__isSmartRef__":true,"id":430},"eventHandler":{"__isSmartRef__":true,"id":431},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","06D7BDEE-62A6-4EFE-A1A2-7444218FEA49","B5EAED5C-7264-46D7-A461-B688BE5FF266","3C2CA099-7306-4BA4-B19B-CD805207E769"],"id":"223D3292-2E27-4DEC-8159-3B1CFBE59389","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":425},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":432},{"__isSmartRef__":true,"id":434}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"Button8","partsBinMetaInfo":{"__isSmartRef__":true,"id":436},"pinSpecs":[{"__isSmartRef__":true,"id":444}],"owner":{"__isSmartRef__":true,"id":409},"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":445},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(205.0,289.0)","distanceToDragEvent":"lively.pt(42.0,-14.0)"},"425":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":426},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":427}],"eventHandler":{"__isSmartRef__":true,"id":429},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","96282800-601B-428D-A5B8-DDD6592BA321","499921E6-EDA7-44F0-85C3-89925EAAAB28","9A205C1E-3F0C-4D12-B185-ADD6378071C1"],"id":"A99B3794-A0D6-4FE8-BBEF-F5E34A3C8E4F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":424},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"426":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(40.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"427":{"style":{"__isSmartRef__":true,"id":428},"chunkOwner":{"__isSmartRef__":true,"id":425},"_id":"_6252","storedString":"Send","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"428":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"429":{"morph":{"__isSmartRef__":true,"id":425},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"430":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(40.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"431":{"morph":{"__isSmartRef__":true,"id":424},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"432":{"sourceObj":{"__isSmartRef__":true,"id":424},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":424},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":433},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"433":{"source":{"__isSmartRef__":true,"id":424},"target":{"__isSmartRef__":true,"id":424}},"434":{"sourceObj":{"__isSmartRef__":true,"id":424},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"sendChatMessage","varMapping":{"__isSmartRef__":true,"id":435},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"435":{"source":{"__isSmartRef__":true,"id":424},"target":{"__isSmartRef__":true,"id":0}},"436":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":437},{"__isSmartRef__":true,"id":438},{"__isSmartRef__":true,"id":439},{"__isSmartRef__":true,"id":440},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":443}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"437":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"438":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"439":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"440":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"441":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"442":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"443":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"444":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"445":{"doAction":{"__isSmartRef__":true,"id":446}},"446":{"varMapping":{"__isSmartRef__":true,"id":447},"source":"function doAction() {\n    \n}","funcProperties":{"__isSmartRef__":true,"id":448},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"447":{"this":{"__isSmartRef__":true,"id":424}},"448":{"user":"undefined","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 11 2012 13:14:29 GMT-0800 (PST)\")"},"449":{"submorphs":[],"scripts":[],"id":"9141C2B4-60A4-46AC-B5C8-04A33D73000C","shape":{"__isSmartRef__":true,"id":450},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":168.00000000000017,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"ChatMessage","partsBinMetaInfo":{"__isSmartRef__":true,"id":451},"textChunks":[{"__isSmartRef__":true,"id":452}],"charsReplaced":"","lastFindLoc":6,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":454},"derivationIds":[1958,"3B661B8C-FF4E-4B62-BE36-054DD4B934FC","3075A26A-8661-49D0-A206-A477A83FBBDA","FA3839B1-B938-424A-B572-049D10F5D48D"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":409},"attributeConnections":[{"__isSmartRef__":true,"id":455}],"doNotSerialize":["$$send"],"doNotCopyProperties":["$$send"],"send":true,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":457},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(4.0,287.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(113.0,-11.0)"},"450":{"fill":null,"_BorderWidth":1.1840000000000002,"_BorderRadius":6.660000000000001,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(198.0,24.4)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)"},"451":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple input field for Forms demo","partName":"InputField","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"452":{"style":{"__isSmartRef__":true,"id":453},"chunkOwner":{"__isSmartRef__":true,"id":449},"_id":"_47967","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"453":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"454":{"morph":{"__isSmartRef__":true,"id":449},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"455":{"sourceObj":{"__isSmartRef__":true,"id":449},"sourceAttrName":"send","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"sendChatMessage","varMapping":{"__isSmartRef__":true,"id":456},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"456":{"source":{"__isSmartRef__":true,"id":449},"target":{"__isSmartRef__":true,"id":0}},"457":{"onKeyDown":{"__isSmartRef__":true,"id":458}},"458":{"varMapping":{"__isSmartRef__":true,"id":459},"source":"function onKeyDown(evt) {\n    if (evt.keyCode == 13) this.send = !this.send;\n}","funcProperties":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"459":{"this":{"__isSmartRef__":true,"id":449},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":460}},"460":{"$super":{"__isSmartRef__":true,"id":461}},"461":{"varMapping":{"__isSmartRef__":true,"id":462},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":463},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"462":{"obj":{"__isSmartRef__":true,"id":449},"name":"onKeyDown"},"463":{},"464":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 11:22:51 GMT-0700 (PDT)\")"},"465":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(249.0,317.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"466":{"partsSpaceName":"PartsBin/Basic","comment":"A plain simple rectangle","migrationLevel":8,"partName":"Rectangle","changes":[{"__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":474},{"__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":484},{"__isSmartRef__":true,"id":485}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"467":{"author":"jenslincke","message":"no comment","id":"ADFBF069-513C-4DE6-95A9-8AD4985C6508","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:23:53 GMT-0800 (PST)\")"},"468":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"469":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"470":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"471":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"472":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"473":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"474":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"475":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"476":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"477":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"478":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"479":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"480":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"481":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"482":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"483":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"484":{"author":"jenslincke","message":"no comment","id":"ECD12BFF-E872-4918-8341-C6571E72F36D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:24:27 GMT-0800 (PST)\")"},"485":{"author":"lauritz","message":"dropping enabled for the blue rectangle","id":"81D350CB-D926-491F-8FF3-A6C9C831BDF2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"486":{"morph":{"__isSmartRef__":true,"id":409},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"487":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":488}},"488":{"test01IsMorph":{"__isSmartRef__":true,"id":489}},"489":{"varMapping":{"__isSmartRef__":true,"id":490},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":491},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"490":{"this":{"__isSmartRef__":true,"id":487}},"491":{},"492":{"submorphs":[],"scripts":[],"id":"A17FD712-A15C-47D9-A06C-B1D43AA05940","shape":{"__isSmartRef__":true,"id":493},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":null,"_MaxTextHeight":22,"showsHalos":false,"_FontSize":14,"name":"NameLabel","partsBinMetaInfo":{"__isSmartRef__":true,"id":494},"textChunks":[{"__isSmartRef__":true,"id":495}],"charsReplaced":"some text","lastFindLoc":-9,"prevScroll":[0,0],"isLabel":true,"_ClipMode":"hidden","_WhiteSpaceHandling":"pre","allowInput":false,"eventsAreIgnored":false,"eventHandler":{"__isSmartRef__":true,"id":497},"derivationIds":[2033,"F1E4A695-BBA9-4CBD-A2F4-30EF794A5B86"],"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(7.0,29.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(132.0,-15.0)"},"493":{"fill":null,"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(183.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"494":{"partsSpaceName":"PartsBin/Text/","migrationLevel":2,"partName":"Label","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"495":{"style":{"__isSmartRef__":true,"id":496},"chunkOwner":{"__isSmartRef__":true,"id":492},"_id":"_5824","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"496":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"497":{"morph":{"__isSmartRef__":true,"id":492},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"498":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(941.0,646.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"499":{"partsSpaceName":"PartsBin/Felix/","comment":"Client for peer2peer video communication","migrationLevel":8,"partName":"PeerJSVideoClient_multi","changes":[{"__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":523},{"__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":530},{"__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":555},{"__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}],"requiredModules":["users.fwolff.Peerjs"],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Sep 19 2014 10:45:58 GMT-0700 (PDT)\")"},"500":{"author":"Felix","message":"no comment","id":"8214FE36-F0EF-47DB-BA37-C7B201A75DFF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 07:31:33 GMT-0700 (PDT)\")"},"501":{"author":"Felix","message":"no comment","id":"59BA93C3-958D-4691-A97A-3D3E2E4C937E","__serializedExpressions__":["date"],"date":"new Date(\"Thu Sep 18 2014 14:24:08 GMT-0700 (PDT)\")"},"502":{"author":"Felix","message":"no comment","id":"C2719639-2C35-4B85-AEAD-386BA448E0DF","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 17:52:16 GMT-0700 (PDT)\")"},"503":{"author":"Felix","message":"no comment","id":"FF0241E6-213A-4B56-A8A8-824F5B6009B3","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 16:04:14 GMT-0700 (PDT)\")"},"504":{"author":"Felix","message":"no comment","id":"B8DEF92D-B874-4D30-B531-68F95AD03F25","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 15:33:10 GMT-0700 (PDT)\")"},"505":{"author":"Felix","message":"no comment","id":"0980B6FE-3B09-44B6-94E4-159900A01180","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 15:01:07 GMT-0700 (PDT)\")"},"506":{"author":"Felix","message":"no comment","id":"F22EE8DC-1238-44E3-935D-B2FAD0AC0A13","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 13:53:31 GMT-0700 (PDT)\")"},"507":{"author":"Felix","message":"no comment","id":"A6F32CD8-3870-43CE-9015-9D52DEA00E2D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Sep 16 2014 11:29:50 GMT-0700 (PDT)\")"},"508":{"author":"Felix","message":"no comment","id":"B2D77D66-96E8-48AF-816E-E5AECBB0761D","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 17:16:27 GMT-0700 (PDT)\")"},"509":{"author":"Felix","message":"no comment","id":"FAAD02F8-B38E-4A40-B0B0-4ED3EB7E209E","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 15:31:00 GMT-0700 (PDT)\")"},"510":{"author":"Felix","message":"no comment","id":"A301A228-2806-446C-B96B-65E46E842290","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 13:01:27 GMT-0700 (PDT)\")"},"511":{"author":"Felix","message":"no comment","id":"9EE8A01C-969B-4F26-A2E2-2BA639CB05E0","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 12:40:23 GMT-0700 (PDT)\")"},"512":{"author":"Felix","message":"no comment","id":"57B295A8-5907-4EA5-80AC-1564CB39D5B6","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 11:57:27 GMT-0700 (PDT)\")"},"513":{"author":"Felix","message":"no comment","id":"19BFDB6D-837D-4788-BC2B-7BAD6B97B297","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 10:37:43 GMT-0700 (PDT)\")"},"514":{"author":"Felix","message":"no comment","id":"00350670-C33A-4783-8129-F078D33B695C","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 10:06:04 GMT-0700 (PDT)\")"},"515":{"author":"Felix","message":"no comment","id":"A1276D69-B586-417F-AD27-A4E75D017153","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 09:59:41 GMT-0700 (PDT)\")"},"516":{"author":"robin","message":"no comment","id":"CC23E2EE-9D8A-4FBD-A2C4-BEFF6CC984A6","__serializedExpressions__":["date"],"date":"new Date(\"Thu Sep 11 2014 17:17:53 GMT-0700 (PDT)\")"},"517":{"author":"robin","message":"no comment","id":"606CDFFF-A919-4B57-A014-D666F304FCCA","__serializedExpressions__":["date"],"date":"new Date(\"Thu Sep 11 2014 17:06:34 GMT-0700 (PDT)\")"},"518":{"author":"robin","message":"no comment","id":"27762A9D-5206-407D-AADE-F920F5D9FF89","__serializedExpressions__":["date"],"date":"new Date(\"Thu Sep 11 2014 15:45:04 GMT-0700 (PDT)\")"},"519":{"author":"robin","message":"no comment","id":"7B9C61B1-16D7-44AF-B8A5-A64E036561A0","__serializedExpressions__":["date"],"date":"new Date(\"Thu Sep 11 2014 15:22:58 GMT-0700 (PDT)\")"},"520":{"author":"robin","message":"no comment","id":"FB4CD7DC-CD92-4C62-B015-4946A687443A","__serializedExpressions__":["date"],"date":"new Date(\"Thu Sep 11 2014 12:42:24 GMT-0700 (PDT)\")"},"521":{"author":"robin","message":"no comment","id":"98A040E6-3242-4CD9-AF1D-68EF30690F1B","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 10 2014 17:54:49 GMT-0700 (PDT)\")"},"522":{"author":"robin","message":"no comment","id":"6EBFCC70-7752-4A40-B712-1806AF6353CE","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 10 2014 17:36:08 GMT-0700 (PDT)\")"},"523":{"author":"robin","message":"no comment","id":"6C959F3F-96E8-405F-9F41-AAAC49649D43","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 10 2014 16:23:18 GMT-0700 (PDT)\")"},"524":{"author":"robin","message":"no comment","id":"1BA188E1-02FF-4055-B237-74D72A28357A","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 10 2014 16:22:21 GMT-0700 (PDT)\")"},"525":{"author":"unknown_user","message":"no comment","id":"57D6B52D-16A5-4167-AC5A-2BD263E1DAF7","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 22:40:12 GMT-0700 (PDT)\")"},"526":{"author":"unknown_user","message":"no comment","id":"5A553F44-2584-49AE-B44A-ABE189477B1F","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 21:59:57 GMT-0700 (PDT)\")"},"527":{"author":"unknown_user","message":"no comment","id":"CC61BE6A-2629-48DE-B994-737985D123D8","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 21:55:56 GMT-0700 (PDT)\")"},"528":{"author":"unknown_user","message":"no comment","id":"BE64FD00-B1A9-4DB5-BBF7-9C6DFC11BDAE","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 21:50:47 GMT-0700 (PDT)\")"},"529":{"author":"unknown_user","message":"no comment","id":"B94B9BB6-87AD-498B-9E03-C4E6F9E72A94","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 17:02:43 GMT-0700 (PDT)\")"},"530":{"author":"unknown_user","message":"no comment","id":"B695CAEE-37B7-4EC9-9090-90D2379C56EF","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:55:56 GMT-0700 (PDT)\")"},"531":{"author":"unknown_user","message":"no comment","id":"2504099D-ED26-4D79-BAB5-5F1EA087E8CA","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:23:32 GMT-0700 (PDT)\")"},"532":{"author":"unknown_user","message":"no comment","id":"5D60A131-EC20-495F-BCEC-4DEA0B70E21E","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:18:21 GMT-0700 (PDT)\")"},"533":{"author":"unknown_user","message":"no comment","id":"599BC3AD-9B14-41DE-86D7-DC686F17A635","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 15:00:20 GMT-0700 (PDT)\")"},"534":{"author":"unknown_user","message":"no comment","id":"BB599D4D-95CE-4546-9B34-E893550B4BFE","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 14:43:09 GMT-0700 (PDT)\")"},"535":{"author":"lauritz","message":"dropping enabled for the blue rectangle","id":"81D350CB-D926-491F-8FF3-A6C9C831BDF2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"536":{"author":"jenslincke","message":"no comment","id":"ECD12BFF-E872-4918-8341-C6571E72F36D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:24:27 GMT-0800 (PST)\")"},"537":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"538":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"539":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"540":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"541":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"542":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"543":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"544":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"545":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"546":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"547":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"548":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"549":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"550":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"551":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"552":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"553":{"author":"jenslincke","message":"no comment","id":"ADFBF069-513C-4DE6-95A9-8AD4985C6508","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:23:53 GMT-0800 (PST)\")"},"554":{"author":"unknown_user","message":"no comment","id":"C87093A0-31C0-4117-8E0C-BB330BFF43BD","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:28:51 GMT-0700 (PDT)\")"},"555":{"author":"unknown_user","message":"no comment","id":"061D3880-487D-47E2-8127-FEB903033247","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:33:45 GMT-0700 (PDT)\")"},"556":{"author":"unknown_user","message":"no comment","id":"EBA70B90-F964-401E-A775-C4769EC08818","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:38:19 GMT-0700 (PDT)\")"},"557":{"author":"unknown_user","message":"no comment","id":"AA25195C-A92E-497E-8D26-4C1D7B530204","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:45:29 GMT-0700 (PDT)\")"},"558":{"author":"unknown_user","message":"no comment","id":"0625B972-A7F0-4949-8C60-02B4422598FD","__serializedExpressions__":["date"],"date":"new Date(\"Sat Sep 06 2014 16:50:24 GMT-0700 (PDT)\")"},"559":{"author":"unknown_user","message":"no comment","id":"47A8ECE4-4712-4FC2-98F3-AFB94F1DC5F9","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 08 2014 11:20:26 GMT-0700 (PDT)\")"},"560":{"author":"robin","message":"no comment","id":"220734A0-1F9A-4C02-8CEB-D701D526E52C","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 08 2014 12:09:38 GMT-0700 (PDT)\")"},"561":{"author":"Felix","message":"no comment","id":"416C0EA2-5FFE-45C0-9B5F-D68AAC5A126B","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 15:56:39 GMT-0700 (PDT)\")"},"562":{"author":"Felix","message":"no comment","id":"C0E5D8EA-CD31-4BE3-81A4-684BA570A0DC","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 10:42:31 GMT-0700 (PDT)\")"},"563":{"author":"Felix","message":"no comment","id":"AC850260-F54F-4E55-BE75-D5E18562239C","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 10:45:50 GMT-0700 (PDT)\")"},"564":{"__serializedExpressions__":["date"],"author":"Felix","message":"no comment","id":"2C7D4E48-D6AE-4D12-A194-A85D45A0BF6B","date":"new Date(\"Fri Sep 19 2014 11:58:52 GMT-0700 (PDT)\")"},"565":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"566":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":567}},"567":{"test01IsMorph":{"__isSmartRef__":true,"id":568}},"568":{"varMapping":{"__isSmartRef__":true,"id":569},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":570},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"569":{"this":{"__isSmartRef__":true,"id":566}},"570":{},"571":{"_events":{"__isSmartRef__":true,"id":572},"options":{"__isSmartRef__":true,"id":573},"destroyed":true,"disconnected":true,"open":false,"connections":{"__isSmartRef__":true,"id":577},"_lostMessages":{"__isSmartRef__":true,"id":615},"socket":{"__isSmartRef__":true,"id":616},"id":null,"_lastServerId":"4FADAE6D-479B-4D05-801E-8C886F2FC5B7"},"572":{},"573":{"debug":3,"host":"lively-web.org","port":9002,"key":"peerjs","path":"/","token":"apjlov3hhl12x1or","config":{"__isSmartRef__":true,"id":574},"secure":false},"574":{"iceServers":[{"__isSmartRef__":true,"id":575},{"__isSmartRef__":true,"id":576}]},"575":{"url":"stun:stun01.sipphone.com"},"576":{"url":"turn:numb.viagenie.ca","credential":"muazkh","username":"webrtc@live.com"},"577":{"27125BFA-846A-4855-AFAD-5D22DE1A4FE5":[{"__isSmartRef__":true,"id":578},{"__isSmartRef__":true,"id":588}],"7D7EB689-3B13-4087-BD08-3EA1716B5664":[{"__isSmartRef__":true,"id":597},{"__isSmartRef__":true,"id":607}]},"578":{"_events":{"__isSmartRef__":true,"id":579},"options":{"__isSmartRef__":true,"id":580},"open":false,"type":"data","peer":"27125BFA-846A-4855-AFAD-5D22DE1A4FE5","provider":{"__isSmartRef__":true,"id":571},"id":"dc_12yrifya7uhoxbt9","label":"dc_12yrifya7uhoxbt9","serialization":"binary","reliable":false,"_buffer":[],"_buffering":false,"bufferSize":0,"_chunkedData":{"__isSmartRef__":true,"id":583},"_peerBrowser":"Chrome","peerConnection":{"__isSmartRef__":true,"id":584},"pc":null,"dataChannel":{"__isSmartRef__":true,"id":587},"_dc":{"__isSmartRef__":true,"id":587}},"579":{},"580":{"serialization":"binary","reliable":false,"connectionId":"dc_12yrifya7uhoxbt9","_payload":{"__isSmartRef__":true,"id":581},"label":"dc_12yrifya7uhoxbt9"},"581":{"sdp":{"__isSmartRef__":true,"id":582},"type":"data","label":"dc_12yrifya7uhoxbt9","connectionId":"dc_12yrifya7uhoxbt9","reliable":false,"serialization":"binary","browser":"Chrome"},"582":{"sdp":"v=0\r\no=- 5480051071104762558 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio data\r\na=msid-semantic: WMS\r\nm=audio 1 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:6FNZngEfh5fmEuoR\r\na=ice-pwd:m3qAjhSbtFvcNAw2roMosQE/\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\nm=application 1 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:6FNZngEfh5fmEuoR\r\na=ice-pwd:m3qAjhSbtFvcNAw2roMosQE/\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"offer"},"583":{},"584":{"onremovestream":null,"onsignalingstatechange":null,"iceConnectionState":"closed","iceGatheringState":"complete","signalingState":"closed","remoteDescription":{"__isSmartRef__":true,"id":585},"localDescription":{"__isSmartRef__":true,"id":586}},"585":{"sdp":"v=0\r\no=- 5480051071104762558 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio data\r\na=msid-semantic: WMS\r\nm=audio 55467 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 192.168.1.239\r\na=rtcp:55467 IN IP4 192.168.1.239\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 55467 typ host generation 0\r\na=candidate:261689260 2 udp 2122194687 192.168.1.239 55467 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:1092285276 2 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:6FNZngEfh5fmEuoR\r\na=ice-pwd:m3qAjhSbtFvcNAw2roMosQE/\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\nm=application 55467 DTLS/SCTP 5000\r\nc=IN IP4 192.168.1.239\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 55467 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:1092285276 2 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:6FNZngEfh5fmEuoR\r\na=ice-pwd:m3qAjhSbtFvcNAw2roMosQE/\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"offer"},"586":{"sdp":"v=0\r\no=- 4162737055755033040 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio data\r\na=msid-semantic: WMS\r\nm=audio 64528 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 192.168.1.239\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 64528 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:XI9H3DId4zA4HxLo\r\na=ice-pwd:/W7prpK4tERXa84PYC9NRR3j\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\nm=application 64528 DTLS/SCTP 5000\r\nc=IN IP4 192.168.1.239\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 64528 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:XI9H3DId4zA4HxLo\r\na=ice-pwd:/W7prpK4tERXa84PYC9NRR3j\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"587":{"binaryType":"arraybuffer","onerror":null,"bufferedAmount":0,"readyState":"closed","id":1,"negotiated":false,"protocol":"","maxRetransmits":65535,"maxRetransmitTime":65535,"ordered":true,"reliable":true,"label":"dc_12yrifya7uhoxbt9"},"588":{"_events":{"__isSmartRef__":true,"id":589},"options":{"__isSmartRef__":true,"id":590},"open":false,"type":"media","peer":"27125BFA-846A-4855-AFAD-5D22DE1A4FE5","provider":{"__isSmartRef__":true,"id":571},"localStream":{"__isSmartRef__":true,"id":56},"id":"mc_yxq1veyyvfbw3ik9","peerConnection":{"__isSmartRef__":true,"id":593},"pc":null,"remoteStream":{"__isSmartRef__":true,"id":596}},"589":{},"590":{"connectionId":"mc_yxq1veyyvfbw3ik9","_payload":{"__isSmartRef__":true,"id":591}},"591":{"sdp":{"__isSmartRef__":true,"id":592},"type":"media","connectionId":"mc_yxq1veyyvfbw3ik9","browser":"Chrome","_stream":{"__isSmartRef__":true,"id":56}},"592":{"sdp":"v=0\r\no=- 6609128462051839252 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\nm=audio 1 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:q0tWj+5KsUlhZ0T/\r\na=ice-pwd:7QzOeFdIDYxrX3vBw4SWrEoZ\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\na=ssrc:1432865561 cname:xIcrzC8N6F5GkH+G\r\na=ssrc:1432865561 msid:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS 62eababb-38f3-40d7-9752-d9181c465a2d\r\na=ssrc:1432865561 mslabel:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\na=ssrc:1432865561 label:62eababb-38f3-40d7-9752-d9181c465a2d\r\nm=video 1 RTP/SAVPF 100 116 117 96\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:q0tWj+5KsUlhZ0T/\r\na=ice-pwd:7QzOeFdIDYxrX3vBw4SWrEoZ\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtpmap:116 red/90000\r\na=rtpmap:117 ulpfec/90000\r\na=rtpmap:96 rtx/90000\r\na=fmtp:96 apt=100\r\na=ssrc-group:FID 1346145175 1310816098\r\na=ssrc:1346145175 cname:xIcrzC8N6F5GkH+G\r\na=ssrc:1346145175 msid:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS e399b34e-5c16-486a-9175-635206eb30b8\r\na=ssrc:1346145175 mslabel:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\na=ssrc:1346145175 label:e399b34e-5c16-486a-9175-635206eb30b8\r\na=ssrc:1310816098 cname:xIcrzC8N6F5GkH+G\r\na=ssrc:1310816098 msid:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS e399b34e-5c16-486a-9175-635206eb30b8\r\na=ssrc:1310816098 mslabel:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\na=ssrc:1310816098 label:e399b34e-5c16-486a-9175-635206eb30b8\r\n","type":"offer"},"593":{"onremovestream":null,"onsignalingstatechange":null,"iceConnectionState":"closed","iceGatheringState":"complete","signalingState":"closed","remoteDescription":{"__isSmartRef__":true,"id":594},"localDescription":{"__isSmartRef__":true,"id":595}},"594":{"sdp":"v=0\r\no=- 6609128462051839252 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\nm=audio 60787 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 23.125.129.128\r\na=rtcp:60787 IN IP4 23.125.129.128\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 60787 typ host generation 0\r\na=candidate:261689260 2 udp 2122194687 192.168.1.239 60787 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:1092285276 2 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 60787 typ srflx raddr 192.168.1.239 rport 60787 generation 0\r\na=candidate:2396064024 2 udp 1685987071 23.125.129.128 60787 typ srflx raddr 192.168.1.239 rport 60787 generation 0\r\na=ice-ufrag:q0tWj+5KsUlhZ0T/\r\na=ice-pwd:7QzOeFdIDYxrX3vBw4SWrEoZ\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\na=ssrc:1432865561 cname:xIcrzC8N6F5GkH+G\r\na=ssrc:1432865561 msid:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS 62eababb-38f3-40d7-9752-d9181c465a2d\r\na=ssrc:1432865561 mslabel:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\na=ssrc:1432865561 label:62eababb-38f3-40d7-9752-d9181c465a2d\r\nm=video 60787 RTP/SAVPF 100 116 117 96\r\nc=IN IP4 23.125.129.128\r\na=rtcp:60787 IN IP4 23.125.129.128\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 60787 typ host generation 0\r\na=candidate:261689260 2 udp 2122194687 192.168.1.239 60787 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:1092285276 2 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 60787 typ srflx raddr 192.168.1.239 rport 60787 generation 0\r\na=candidate:2396064024 2 udp 1685987071 23.125.129.128 60787 typ srflx raddr 192.168.1.239 rport 60787 generation 0\r\na=ice-ufrag:q0tWj+5KsUlhZ0T/\r\na=ice-pwd:7QzOeFdIDYxrX3vBw4SWrEoZ\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtpmap:116 red/90000\r\na=rtpmap:117 ulpfec/90000\r\na=rtpmap:96 rtx/90000\r\na=fmtp:96 apt=100\r\na=ssrc-group:FID 1346145175 1310816098\r\na=ssrc:1346145175 cname:xIcrzC8N6F5GkH+G\r\na=ssrc:1346145175 msid:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS e399b34e-5c16-486a-9175-635206eb30b8\r\na=ssrc:1346145175 mslabel:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\na=ssrc:1346145175 label:e399b34e-5c16-486a-9175-635206eb30b8\r\na=ssrc:1310816098 cname:xIcrzC8N6F5GkH+G\r\na=ssrc:1310816098 msid:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS e399b34e-5c16-486a-9175-635206eb30b8\r\na=ssrc:1310816098 mslabel:i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS\r\na=ssrc:1310816098 label:e399b34e-5c16-486a-9175-635206eb30b8\r\n","type":"offer"},"595":{"sdp":"v=0\r\no=- 2838118134921425293 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\nm=audio 57313 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 192.168.1.239\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 57313 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:BK+CXMo/1CTZtuhz\r\na=ice-pwd:afo5ZTzx/FVEr0MprRBtrrCy\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\na=ssrc:4132077813 cname:Dhq4gnYnJ8duxb/l\r\na=ssrc:4132077813 msid:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X ff68558d-e789-474b-92b2-bafceddfc589\r\na=ssrc:4132077813 mslabel:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\na=ssrc:4132077813 label:ff68558d-e789-474b-92b2-bafceddfc589\r\nm=video 57313 RTP/SAVPF 100 116 117 96\r\nc=IN IP4 192.168.1.239\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 57313 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:BK+CXMo/1CTZtuhz\r\na=ice-pwd:afo5ZTzx/FVEr0MprRBtrrCy\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtpmap:116 red/90000\r\na=rtpmap:117 ulpfec/90000\r\na=rtpmap:96 rtx/90000\r\na=fmtp:96 apt=100\r\na=ssrc-group:FID 958516418 1493144584\r\na=ssrc:958516418 cname:Dhq4gnYnJ8duxb/l\r\na=ssrc:958516418 msid:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X 3af542e8-8b12-42a2-a941-9d26de49318a\r\na=ssrc:958516418 mslabel:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\na=ssrc:958516418 label:3af542e8-8b12-42a2-a941-9d26de49318a\r\na=ssrc:1493144584 cname:Dhq4gnYnJ8duxb/l\r\na=ssrc:1493144584 msid:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X 3af542e8-8b12-42a2-a941-9d26de49318a\r\na=ssrc:1493144584 mslabel:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\na=ssrc:1493144584 label:3af542e8-8b12-42a2-a941-9d26de49318a\r\n","type":"answer"},"596":{"onremovetrack":null,"onaddtrack":null,"onended":null,"ended":true,"id":"i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS","label":"i3PceySk3gpiwr6P6BP1wP4SwfvuxROoFANS"},"597":{"_events":{"__isSmartRef__":true,"id":598},"options":{"__isSmartRef__":true,"id":599},"open":false,"type":"data","peer":"7D7EB689-3B13-4087-BD08-3EA1716B5664","provider":{"__isSmartRef__":true,"id":571},"id":"dc_ju3yozf90gwopqfr","label":"dc_ju3yozf90gwopqfr","serialization":"binary","reliable":false,"_buffer":[],"_buffering":false,"bufferSize":0,"_chunkedData":{"__isSmartRef__":true,"id":602},"_peerBrowser":"Chrome","peerConnection":{"__isSmartRef__":true,"id":603},"pc":null,"dataChannel":{"__isSmartRef__":true,"id":606},"_dc":{"__isSmartRef__":true,"id":606}},"598":{},"599":{"serialization":"binary","reliable":false,"connectionId":"dc_ju3yozf90gwopqfr","_payload":{"__isSmartRef__":true,"id":600},"label":"dc_ju3yozf90gwopqfr"},"600":{"sdp":{"__isSmartRef__":true,"id":601},"type":"data","label":"dc_ju3yozf90gwopqfr","connectionId":"dc_ju3yozf90gwopqfr","reliable":false,"serialization":"binary","browser":"Chrome"},"601":{"sdp":"v=0\r\no=- 311742651468444816 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio data\r\na=msid-semantic: WMS\r\nm=audio 1 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:oLFZmiEUfHosjgAh\r\na=ice-pwd:jfiJhTV/2Z5YC/iMIKFItzW5\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\nm=application 1 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:oLFZmiEUfHosjgAh\r\na=ice-pwd:jfiJhTV/2Z5YC/iMIKFItzW5\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"offer"},"602":{},"603":{"onremovestream":null,"onsignalingstatechange":null,"iceConnectionState":"closed","iceGatheringState":"complete","signalingState":"closed","remoteDescription":{"__isSmartRef__":true,"id":604},"localDescription":{"__isSmartRef__":true,"id":605}},"604":{"sdp":"v=0\r\no=- 311742651468444816 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio data\r\na=msid-semantic: WMS\r\nm=audio 56997 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 23.125.129.128\r\na=rtcp:56997 IN IP4 23.125.129.128\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 56997 typ host generation 0\r\na=candidate:261689260 2 udp 2122194687 192.168.1.239 56997 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:1092285276 2 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 56997 typ srflx raddr 192.168.1.239 rport 56997 generation 0\r\na=candidate:2396064024 2 udp 1685987071 23.125.129.128 56997 typ srflx raddr 192.168.1.239 rport 56997 generation 0\r\na=ice-ufrag:oLFZmiEUfHosjgAh\r\na=ice-pwd:jfiJhTV/2Z5YC/iMIKFItzW5\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\nm=application 56997 DTLS/SCTP 5000\r\nc=IN IP4 23.125.129.128\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 56997 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 56997 typ srflx raddr 192.168.1.239 rport 56997 generation 0\r\na=ice-ufrag:oLFZmiEUfHosjgAh\r\na=ice-pwd:jfiJhTV/2Z5YC/iMIKFItzW5\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"offer"},"605":{"sdp":"v=0\r\no=- 5807711902953444624 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio data\r\na=msid-semantic: WMS\r\nm=audio 52083 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 23.125.129.128\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 52083 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 52083 typ srflx raddr 192.168.1.239 rport 52083 generation 0\r\na=ice-ufrag:J25CaN6jvDkUl7QN\r\na=ice-pwd:u1zq5L6QGT3FjHNpuE2PdBC8\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\nm=application 52083 DTLS/SCTP 5000\r\nc=IN IP4 23.125.129.128\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 52083 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 52083 typ srflx raddr 192.168.1.239 rport 52083 generation 0\r\na=ice-ufrag:J25CaN6jvDkUl7QN\r\na=ice-pwd:u1zq5L6QGT3FjHNpuE2PdBC8\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"606":{"binaryType":"arraybuffer","onerror":null,"bufferedAmount":0,"readyState":"closed","id":1,"negotiated":false,"protocol":"","maxRetransmits":65535,"maxRetransmitTime":65535,"ordered":true,"reliable":true,"label":"dc_ju3yozf90gwopqfr"},"607":{"_events":{"__isSmartRef__":true,"id":608},"options":{"__isSmartRef__":true,"id":609},"open":false,"type":"media","peer":"7D7EB689-3B13-4087-BD08-3EA1716B5664","provider":{"__isSmartRef__":true,"id":571},"localStream":{"__isSmartRef__":true,"id":56},"id":"mc_i0y5eyj86uzt1emi","peerConnection":{"__isSmartRef__":true,"id":612},"pc":null,"remoteStream":{"__isSmartRef__":true,"id":321}},"608":{},"609":{"connectionId":"mc_i0y5eyj86uzt1emi","_payload":{"__isSmartRef__":true,"id":610}},"610":{"sdp":{"__isSmartRef__":true,"id":611},"type":"media","connectionId":"mc_i0y5eyj86uzt1emi","browser":"Chrome","_stream":{"__isSmartRef__":true,"id":56}},"611":{"sdp":"v=0\r\no=- 9006058296745558031 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\nm=audio 1 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:52osYVEkFA0KyCI0\r\na=ice-pwd:IZ52c5nqM3N9/YKeLwDPtCXF\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\na=ssrc:2918666113 cname:M4Rhyss1FEYhPWG9\r\na=ssrc:2918666113 msid:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ 84c06e97-c5c3-4d12-a4f5-c6499447bff9\r\na=ssrc:2918666113 mslabel:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\na=ssrc:2918666113 label:84c06e97-c5c3-4d12-a4f5-c6499447bff9\r\nm=video 1 RTP/SAVPF 100 116 117 96\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:52osYVEkFA0KyCI0\r\na=ice-pwd:IZ52c5nqM3N9/YKeLwDPtCXF\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtpmap:116 red/90000\r\na=rtpmap:117 ulpfec/90000\r\na=rtpmap:96 rtx/90000\r\na=fmtp:96 apt=100\r\na=ssrc-group:FID 59752918 1468168854\r\na=ssrc:59752918 cname:M4Rhyss1FEYhPWG9\r\na=ssrc:59752918 msid:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ 9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\na=ssrc:59752918 mslabel:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\na=ssrc:59752918 label:9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\na=ssrc:1468168854 cname:M4Rhyss1FEYhPWG9\r\na=ssrc:1468168854 msid:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ 9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\na=ssrc:1468168854 mslabel:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\na=ssrc:1468168854 label:9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\n","type":"offer"},"612":{"onremovestream":null,"onsignalingstatechange":null,"iceConnectionState":"closed","iceGatheringState":"complete","signalingState":"closed","remoteDescription":{"__isSmartRef__":true,"id":613},"localDescription":{"__isSmartRef__":true,"id":614}},"613":{"sdp":"v=0\r\no=- 9006058296745558031 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\nm=audio 57721 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 23.125.129.128\r\na=rtcp:57721 IN IP4 23.125.129.128\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 57721 typ host generation 0\r\na=candidate:261689260 2 udp 2122194687 192.168.1.239 57721 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:1092285276 2 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 57721 typ srflx raddr 192.168.1.239 rport 57721 generation 0\r\na=candidate:2396064024 2 udp 1685987071 23.125.129.128 57721 typ srflx raddr 192.168.1.239 rport 57721 generation 0\r\na=ice-ufrag:52osYVEkFA0KyCI0\r\na=ice-pwd:IZ52c5nqM3N9/YKeLwDPtCXF\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\na=ssrc:2918666113 cname:M4Rhyss1FEYhPWG9\r\na=ssrc:2918666113 msid:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ 84c06e97-c5c3-4d12-a4f5-c6499447bff9\r\na=ssrc:2918666113 mslabel:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\na=ssrc:2918666113 label:84c06e97-c5c3-4d12-a4f5-c6499447bff9\r\nm=video 57721 RTP/SAVPF 100 116 117 96\r\nc=IN IP4 23.125.129.128\r\na=rtcp:57721 IN IP4 23.125.129.128\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 57721 typ host generation 0\r\na=candidate:261689260 2 udp 2122194687 192.168.1.239 57721 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:1092285276 2 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=candidate:2396064024 1 udp 1685987071 23.125.129.128 57721 typ srflx raddr 192.168.1.239 rport 57721 generation 0\r\na=candidate:2396064024 2 udp 1685987071 23.125.129.128 57721 typ srflx raddr 192.168.1.239 rport 57721 generation 0\r\na=ice-ufrag:52osYVEkFA0KyCI0\r\na=ice-pwd:IZ52c5nqM3N9/YKeLwDPtCXF\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtpmap:116 red/90000\r\na=rtpmap:117 ulpfec/90000\r\na=rtpmap:96 rtx/90000\r\na=fmtp:96 apt=100\r\na=ssrc-group:FID 59752918 1468168854\r\na=ssrc:59752918 cname:M4Rhyss1FEYhPWG9\r\na=ssrc:59752918 msid:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ 9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\na=ssrc:59752918 mslabel:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\na=ssrc:59752918 label:9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\na=ssrc:1468168854 cname:M4Rhyss1FEYhPWG9\r\na=ssrc:1468168854 msid:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ 9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\na=ssrc:1468168854 mslabel:aiG1Hdqmvfdu2VeHScAW8Q5VZ2LsSiyJJIeZ\r\na=ssrc:1468168854 label:9d51e1ac-30e8-4ff1-a18f-1c75ed26ffe7\r\n","type":"offer"},"614":{"sdp":"v=0\r\no=- 8526884276211579066 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\nm=audio 56348 RTP/SAVPF 111 103 104 0 8 106 105 13 126\r\nc=IN IP4 192.168.1.239\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 56348 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:eVOyuWZ9ZCONt87B\r\na=ice-pwd:t4zjO+9I6wa4T0Y/295ln2OU\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\na=ssrc:3996259318 cname:qHS6ZMshWOQlvFww\r\na=ssrc:3996259318 msid:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X ff68558d-e789-474b-92b2-bafceddfc589\r\na=ssrc:3996259318 mslabel:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\na=ssrc:3996259318 label:ff68558d-e789-474b-92b2-bafceddfc589\r\nm=video 56348 RTP/SAVPF 100 116 117 96\r\nc=IN IP4 192.168.1.239\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=candidate:261689260 1 udp 2122194687 192.168.1.239 56348 typ host generation 0\r\na=candidate:1092285276 1 tcp 1518214911 192.168.1.239 0 typ host generation 0\r\na=ice-ufrag:eVOyuWZ9ZCONt87B\r\na=ice-pwd:t4zjO+9I6wa4T0Y/295ln2OU\r\na=fingerprint:sha-256 0E:FA:7F:D0:AE:8D:F8:5E:AA:EF:63:34:29:46:78:9C:40:66:9D:65:15:07:03:87:A8:C6:FF:53:98:0D:61:F1\r\na=setup:active\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtpmap:116 red/90000\r\na=rtpmap:117 ulpfec/90000\r\na=rtpmap:96 rtx/90000\r\na=fmtp:96 apt=100\r\na=ssrc-group:FID 2415171936 2786876380\r\na=ssrc:2415171936 cname:qHS6ZMshWOQlvFww\r\na=ssrc:2415171936 msid:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X 3af542e8-8b12-42a2-a941-9d26de49318a\r\na=ssrc:2415171936 mslabel:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\na=ssrc:2415171936 label:3af542e8-8b12-42a2-a941-9d26de49318a\r\na=ssrc:2786876380 cname:qHS6ZMshWOQlvFww\r\na=ssrc:2786876380 msid:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X 3af542e8-8b12-42a2-a941-9d26de49318a\r\na=ssrc:2786876380 mslabel:StfPZoTHYlXVCskz7asV5znM4I9lvERIPe3X\r\na=ssrc:2786876380 label:3af542e8-8b12-42a2-a941-9d26de49318a\r\n","type":"answer"},"615":{},"616":{"_events":{"__isSmartRef__":true,"id":617},"disconnected":true,"_queue":[],"_httpUrl":"http://lively-web.org:9002/peerjs/4FADAE6D-479B-4D05-801E-8C886F2FC5B7/apjlov3hhl12x1or","_wsUrl":"ws://lively-web.org:9002/peerjs?key=peerjs&id=4FADAE6D-479B-4D05-801E-8C886F2FC5B7&token=apjlov3hhl12x1or","id":"4FADAE6D-479B-4D05-801E-8C886F2FC5B7","_http":null,"_timeout":19363,"_socket":{"__isSmartRef__":true,"id":618}},"617":{},"618":{"binaryType":"blob","protocol":"","extensions":"","onerror":null,"bufferedAmount":0,"readyState":3,"url":"ws://lively-web.org:9002/peerjs?key=peerjs&id=4FADAE6D-479B-4D05-801E-8C886F2FC5B7&token=apjlov3hhl12x1or","URL":"ws://lively-web.org:9002/peerjs?key=peerjs&id=4FADAE6D-479B-4D05-801E-8C886F2FC5B7&token=apjlov3hhl12x1or"},"619":{},"620":{"0":"free","1":"free","2":"free","3":"free"},"621":{"openPeer":{"__isSmartRef__":true,"id":622},"closePeer":{"__isSmartRef__":true,"id":625},"closeConnection":{"__isSmartRef__":true,"id":628},"call":{"__isSmartRef__":true,"id":631},"doRequest":{"__isSmartRef__":true,"id":634},"enterRoom":{"__isSmartRef__":true,"id":637},"listRooms":{"__isSmartRef__":true,"id":640},"createRoom":{"__isSmartRef__":true,"id":643},"listClients":{"__isSmartRef__":true,"id":646},"leaveRoom":{"__isSmartRef__":true,"id":649},"deleteRoom":{"__isSmartRef__":true,"id":652},"startWebcamStream":{"__isSmartRef__":true,"id":655},"onLoad":{"__isSmartRef__":true,"id":658},"isScreen":{"__isSmartRef__":true,"id":661},"openDataConnection":{"__isSmartRef__":true,"id":664},"onCall":{"__isSmartRef__":true,"id":667},"onConnection":{"__isSmartRef__":true,"id":670},"clearChat":{"__isSmartRef__":true,"id":673},"processMouseEvent":{"__isSmartRef__":true,"id":676},"broadcastMessage":{"__isSmartRef__":true,"id":679},"sendChatMessage":{"__isSmartRef__":true,"id":682},"attachDataHandlers":{"__isSmartRef__":true,"id":685},"reset":{"__isSmartRef__":true,"id":688},"getSession":{"__isSmartRef__":true,"id":691},"cleanUp":{"__isSmartRef__":true,"id":694}},"622":{"varMapping":{"__isSmartRef__":true,"id":623},"source":"function openPeer() {\n    // retrieve the session id of the current lively2lively session\n    var session = this.getSession();\n    if (!session) {\n        show('You must be connected with lively2lively!');\n        return;\n    }\n    var peerId = session.sessionId;\n    // since ':' is not allowed in peer ids, cut away \n    // the 'client-session:'-part of the session id\n    peerId = peerId.split(':').last();\n    // create the peer, which will automatically connect to the server\n    var peer = new Global.Peer(peerId, {\n        host: 'lively-web.org', \n        port: 9002, \n        path: '/', \n        key: 'peerjs', \n        debug: 3,\n        config: {\n            'iceServers': [\n                {url: 'stun:stun01.sipphone.com'},\n                {\n                    url: 'turn:numb.viagenie.ca',\n                \tcredential: 'muazkh',\n                \tusername: 'webrtc@live.com'\n                }]\n        }\n    });\n    \n    var client = this;\n    \n    // when the peer is opened, remember and display the id\n    peer.on('open', function(id) {\n        client.peerID = id;\n        client.userName = client.getSession().username;\n        client.get('IDField').setTextString(id);\n        client.get('NameLabel').setTextString(client.userName);\n    });\n    \n    // s.o. calls the peer for a video connection\n    peer.on('call', this.onCall.bind(this));\n    \n    // s.o. connects for data connection\n    peer.on('connection', this.onConnection.bind(this));\n    \n    // leave the room, when the browser tab is closed\n    window.addEventListener('beforeunload', function() {\n        client.cleanUp();\n    });\n    \n    // data structure to save all open connections\n    // they will be saved with the remote id as key\n    this.connections = {};\n    \n    this.peer = peer;\n}","funcProperties":{"__isSmartRef__":true,"id":624},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"623":{"this":{"__isSmartRef__":true,"id":0}},"624":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:22:57 GMT-0700 (PDT)\")"},"625":{"varMapping":{"__isSmartRef__":true,"id":626},"source":"function closePeer() {\n    // sometimes a peer doesn't have a destroy method,\n    // maybe due to saving and reloading a world.\n    // if that's the case, just set the peer to null and trust\n    // the server to clean it up sometime\n    if (this.peer && this.peer.destroy) {\n        this.peer.destroy();\n    } else {\n        this.peer = null;\n    }\n    this.get('IDField').setTextString('Closed');\n    this.get('NameLabel').setTextString('');\n}","funcProperties":{"__isSmartRef__":true,"id":627},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"626":{"this":{"__isSmartRef__":true,"id":0}},"627":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 16:49:28 GMT-0700 (PDT)\")"},"628":{"varMapping":{"__isSmartRef__":true,"id":629},"source":"function closeConnection(id, screen) {\n    // if id given, close this specific connection, \n    // else close all\n    if (id) {\n        // closing the video connection also closes the data connection,\n        // since it 'cleans up the underlying peer', so we don't need to\n        // close this.connections[id].data\n        this.connections[id].video.close();\n        // clean up the data structure\n        delete this.connections[id];\n        // when there is a screen given, remove it\n        if (screen) {\n            this.get('ScreenContainer').removeScreen(screen);\n        }\n    } else {\n        // close all connections\n        // this is triggered e.g. when leaving a room\n        var _this = this;\n        Object.keys(this.connections).forEach(function(id) {\n            // closing the video connection also closes the data connection,\n            // since it 'cleans up the underlying peer'\n            _this.connections[id].video.close();\n            // clean up the data structure\n            delete _this.connections[id];\n        });\n        // this removes all screens from the container\n        this.get('ScreenContainer').removeScreen();\n        // stop our webcam stream, since there is no connection left\n        this.get('OwnVideoScreen').stopVideo();\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":630},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"629":{"this":{"__isSmartRef__":true,"id":0}},"630":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 15:08:34 GMT-0700 (PDT)\")"},"631":{"varMapping":{"__isSmartRef__":true,"id":632},"source":"function call(clients, webcamStream) {\n    // clients - an array containing all id to call\n    // webcamStream - video stream of own webcam\n    var client = this;\n    var peer = this.peer;\n    \n    // call each client\n    clients.forEach(function(targetID) {\n        // add a new screen in the container\n        var screenContainer = client.get('ScreenContainer');\n        var screen = screenContainer.addScreen();\n        \n        // do the actual call\n        var call = peer.call(targetID, webcamStream);\n        \n        // when there is a stream from the remote peer, display it\n        call.on('stream', function(stream) {\n            screen.startVideo(stream);\n        });\n        \n        // when the connection is closed, clean up\n        call.on('close', function() {\n            client.closeConnection(call.peer, screen);\n            // refresh the clients list, since a client might\n            // have just left the room\n            client.listClients();\n        });\n        \n        // register event to request fullscreen for the video element\n        screen.registerEventOnScreen('dblclick', function() {\n            // 'this' is the video element\n            this.webkitRequestFullScreen();\n        });\n        \n        // create a data structure and save the connection\n        if (!client.connections[targetID]) {\n            client.connections[targetID] = {};\n        }\n        client.connections[targetID].video = call;\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":633},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"632":{"this":{"__isSmartRef__":true,"id":0}},"633":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 11:43:50 GMT-0700 (PDT)\")"},"634":{"varMapping":{"__isSmartRef__":true,"id":635},"source":"function doRequest(method, args, callback) {\n    // method - one of the subserver's routes, check PeerJSSubserver for details\n    // args - object with method's parameters, e.g. {id: 'someID'}\n    // callback - function to call once the request returns\n    // create request url\n    var url = 'http://lively-web.org/nodejs/PeerJSSubserver/' + method;\n    // use jQuery to format the arguments\n    if (args) {\n        url += '?' + Global.$.param(args);\n    }\n    // create and setup the request\n    var request = new Global.WebResource(url).beAsync();\n    request.whenDone(callback);\n    request.get();\n}","funcProperties":{"__isSmartRef__":true,"id":636},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"635":{"this":{"__isSmartRef__":true,"id":0}},"636":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 14:39:52 GMT-0700 (PDT)\")"},"637":{"varMapping":{"__isSmartRef__":true,"id":638},"source":"function enterRoom(callback) {\n    if (!this.peer || !this.peer.open) {\n        show('Open a peer first!');\n        return;\n    }\n    \n    // get the selected room from the rooms list\n    var roomName = this.get('RoomsList').getSelectedItem();\n    if (roomName == 'all') {\n        // you cannot enter all rooms at once\n        show('Choose a room!');\n        return;\n    }\n    \n    var _this = this;\n    \n    function onResponse(res) {\n        _this.currentRoom = roomName;\n        // refresh the clients list for the entered room\n        _this.listClients();\n        \n        res = JSON.parse(res);\n        var clients = [];\n        // resObj.clients contains an object with all clients in the room\n        // transform the received ids into an array and\n        // remove our own id\n        Object.keys(res.clients).forEach(function(ea) {\n            var id = res.clients[ea];\n            // do not push our own id into the array\n            if (id != _this.peer.id) {\n                clients.push(id);\n                // setup objects to record the connections, that will be \n                // built up later\n                _this.connections[id] = {};\n            }\n        });\n        \n        // start the webcam stream\n        _this.startWebcamStream(function(err, stream) {\n            // once the stream is up and running, call all clients\n            _this.webcamStream = stream;\n            _this.call(clients, stream);\n        });\n        \n        // start the connection for data messages\n        _this.openDataConnection(clients);\n        \n        if (callback) callback();\n    }\n    \n    // setup the request to enter the room\n    this.doRequest('EnterRoom', {\n        room: roomName,\n        id: this.peer.id,\n        userName: this.userName\n    }, onResponse);\n}","funcProperties":{"__isSmartRef__":true,"id":639},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"638":{"this":{"__isSmartRef__":true,"id":0}},"639":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 14:15:59 GMT-0700 (PDT)\")"},"640":{"varMapping":{"__isSmartRef__":true,"id":641},"source":"function listRooms() {\n    var list = this.get('RoomsList');\n    \n    // setup request to get all room names\n    this.doRequest('ListRooms', null, function(res) {\n        res = JSON.parse(res);\n        // initialize the rooms list with 'all'\n        list.setList(['all']);\n        var rooms = res.rooms;\n        // then add all other names\n        Object.keys(rooms).forEach(function(ea) {\n            list.addItem(rooms[ea]);\n        });\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":642},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"641":{"this":{"__isSmartRef__":true,"id":0}},"642":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 15:09:30 GMT-0700 (PDT)\")"},"643":{"varMapping":{"__isSmartRef__":true,"id":644},"source":"function createRoom() {\n    if (!this.peer || !this.peer.open) {\n        show('Open a peer first!');\n        return;\n    }\n    \n    var nameField = this.get('NewRoomName');\n    var name = nameField.getTextString();\n    \n    if (!name || name == '') {\n        show('Enter a name!');\n        return;\n    }\n    \n    var _this = this;\n    // create a new room on the server\n    this.doRequest('CreateRoom', {room: name}, function(res) {\n        // once this is done, refresh the rooms list\n        nameField.setTextString('');\n        _this.listRooms();\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":645},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"644":{"this":{"__isSmartRef__":true,"id":0}},"645":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 16:49:19 GMT-0700 (PDT)\")"},"646":{"varMapping":{"__isSmartRef__":true,"id":647},"source":"function listClients() {\n    var list = this.get('ClientsList');\n    var selection = this.get('RoomsList').getSelectedItem();\n    // to list all clients, the server expects no argument\n    var args = selection == 'all' ? null : {room: selection}\n    var ownId = this.peer.id;\n    var _this = this;\n    \n    // setup the request to get all clients (in the selected room)\n    this.doRequest('ListClients', args, function(res) {\n        res = JSON.parse(res);\n        var clients = res.clients;\n        \n        // clear the clients list\n        list.setList([]);\n        // for every client id, get the username and add it to the list\n        Object.keys(clients).forEach(function(ea) {\n            _this.doRequest('RetrieveUserName', {id: clients[ea]}, function(res) {\n                res = JSON.parse(res);\n                list.addItem(res.userName);\n            });\n        });\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":648},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"647":{"this":{"__isSmartRef__":true,"id":0}},"648":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 10:10:18 GMT-0700 (PDT)\")"},"649":{"varMapping":{"__isSmartRef__":true,"id":650},"source":"function leaveRoom(callback) {\n    var roomName = this.currentRoom;\n    if (!roomName) return;\n    \n    var _this = this;\n    \n    // setup the request to leave the room\n    this.doRequest('LeaveRoom', {\n        id: this.peer.id,\n        room: roomName\n    }, function(res) {\n        // once we left it, close all connections to clients\n        // in the room and refresh the clients list\n        _this.currentRoom = null;\n        _this.closeConnection();\n        _this.listClients();\n        _this.clearChat();\n        if (callback) callback();\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":651},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"650":{"this":{"__isSmartRef__":true,"id":0}},"651":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 10:59:49 GMT-0700 (PDT)\")"},"652":{"varMapping":{"__isSmartRef__":true,"id":653},"source":"function deleteRoom() {\n    var roomName = this.get('RoomsList').getSelectedItem();\n    if (roomName == 'all') {\n        show('Choose a room!');\n        return;\n    }\n    \n    if (!Global.confirm(\"Delete room '\" + roomName + \"'?\")) return;\n    \n    var _this = this;\n    // delete the room on the server, refresh the rooms list\n    this.doRequest('DeleteRoom', {room: roomName}, function(res) {\n        _this.listRooms();\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":654},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"653":{"this":{"__isSmartRef__":true,"id":0}},"654":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 11:31:58 GMT-0700 (PDT)\")"},"655":{"varMapping":{"__isSmartRef__":true,"id":656},"source":"function startWebcamStream(callback) {\n    // 'startVideo' with null as stream opens the webcam stream\n    // the callback will be called with err and stream as arguments\n    this.get('OwnVideoScreen').startVideo(null, callback);\n}","funcProperties":{"__isSmartRef__":true,"id":657},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"656":{"this":{"__isSmartRef__":true,"id":0}},"657":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 16 2014 10:39:18 GMT-0700 (PDT)\")"},"658":{"varMapping":{"__isSmartRef__":true,"id":659},"source":"function onLoad() {\n    // when the part is loaded, initialize the peerjs library\n    // and open a peer\n    Global.require('users.fwolff.Peerjs').toRun(function() {\n        this.openPeer();\n    }.bind(this));\n}","funcProperties":{"__isSmartRef__":true,"id":660},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"659":{"this":{"__isSmartRef__":true,"id":0}},"660":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 16:03:14 GMT-0700 (PDT)\")"},"661":{"varMapping":{"__isSmartRef__":true,"id":662},"source":"function isScreen(id) {\n    // decides whether a given id belongs to a screen\n    // or a webcam. screens have ids like 'screen0', 'screen1'...\n    return id.indexOf('screen') == 0;\n}","funcProperties":{"__isSmartRef__":true,"id":663},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"662":{"this":{"__isSmartRef__":true,"id":0}},"663":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 16 2014 10:28:18 GMT-0700 (PDT)\")"},"664":{"varMapping":{"__isSmartRef__":true,"id":665},"source":"function openDataConnection(clients, callback) {\n    // open a data connection to all clients in 'clients'\n    var client = this;\n    clients.forEach(function(clientId) {\n        // setup the appropriate data structure\n        if (!client.connections[clientId]) {\n            client.connections[clientId] = {};\n        }\n        // initiate the actual connection\n        var conn = client.peer.connect(clientId);\n        \n        // once it's open, attach listeners\n        conn.on('open', function() {\n            client.attachDataHandlers(conn);\n            if (callback) callback();\n        });\n        // save the data connection\n        client.connections[clientId].data = conn;\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"665":{"this":{"__isSmartRef__":true,"id":0}},"666":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 14:15:12 GMT-0700 (PDT)\")"},"667":{"varMapping":{"__isSmartRef__":true,"id":668},"source":"function onCall(call) {\n    // add a new screen to the container to display the stream later\n    var screenContainer = this.get('ScreenContainer');\n    var screen = screenContainer.addScreen();\n    var client = this;\n    \n    // refresh the clients list, since the calling peer might \n    // just have entered the room\n    this.listClients();\n    \n    // when there is an incoming stream, show it on the screen\n    call.on('stream', function(stream) {\n        screen.startVideo(stream);\n    });\n    \n    // when the connection is closed, clean up\n    call.on('close', function() {\n        client.closeConnection(call.peer, screen);\n        // refresh clients list, since a client might have left the room\n        client.listClients();\n    });\n    // register event to request fullscreen for the video element\n    screen.registerEventOnScreen('dblclick', function() {\n        // 'this' is the video element\n        this.webkitRequestFullScreen();\n    });\n    \n    if (this.isScreen(call.peer)) {\n        // the calling peer is a shared screen\n        // register event to track the mouse on the screen\n        screen.registerEventOnScreen('mousemove', this.processMouseEvent.bind(this));\n        // answer the call without a video stream\n        call.answer();\n    } else {\n        // the calling peer is a webcam stream,\n        // so answer with our webcam stream\n        call.answer(this.webcamStream);\n    }\n    \n    // create a new data structure for saving the connection\n    if (!this.connections[call.peer]) {\n        this.connections[call.peer] = {};\n    }\n    // save a reference to the connection\n    this.connections[call.peer].video = call;\n}","funcProperties":{"__isSmartRef__":true,"id":669},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"668":{"this":{"__isSmartRef__":true,"id":0}},"669":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 11:42:40 GMT-0700 (PDT)\")"},"670":{"varMapping":{"__isSmartRef__":true,"id":671},"source":"function onConnection(conn) {\n    var id = conn.peer;\n    var client = this;\n    // create a new data structure and save the connection\n    if (!this.connections[id]) {\n        this.connections[id] = {};\n    }\n    this.connections[id].data = conn;\n    \n    this.attachDataHandlers(conn);\n    \n    // TODO: handle on close\n}","funcProperties":{"__isSmartRef__":true,"id":672},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"671":{"this":{"__isSmartRef__":true,"id":0}},"672":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 16 2014 16:47:39 GMT-0700 (PDT)\")"},"673":{"varMapping":{"__isSmartRef__":true,"id":674},"source":"function clearChat() {\n    this.get('ChatContent').setList([]);\n}","funcProperties":{"__isSmartRef__":true,"id":675},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"674":{"this":{"__isSmartRef__":true,"id":0}},"675":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 16 2014 11:29:09 GMT-0700 (PDT)\")"},"676":{"varMapping":{"__isSmartRef__":true,"id":677},"source":"function processMouseEvent(evt) {\n    this.broadcastMessage({\n        sender: this.peer.id,\n        type: 'mouse',\n        // sending the whole event is not yet supported\n        event: {\n            type: evt.type,\n            x: evt.x,\n            y: evt.y\n        }\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":678},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"677":{"this":{"__isSmartRef__":true,"id":0}},"678":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 16 2014 15:10:43 GMT-0700 (PDT)\")"},"679":{"varMapping":{"__isSmartRef__":true,"id":680},"source":"function broadcastMessage(message) {\n    var _this = this;\n    \n    // send the message to all data connections\n    Object.keys(this.connections).forEach(function(ea) {\n        var conn = _this.connections[ea].data;\n        if (conn) {\n            conn.send(message);\n        }\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":681},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"680":{"this":{"__isSmartRef__":true,"id":0}},"681":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 15:08:19 GMT-0700 (PDT)\")"},"682":{"varMapping":{"__isSmartRef__":true,"id":683},"source":"function sendChatMessage() {\n    // retrieve the message to send\n    var message = this.get('ChatMessage').getTextString();\n    if (message == '') return;\n    \n    this.get('ChatMessage').setTextString('');\n    // display it in our own chat\n    this.get('ChatContent').addItem('Me:   ' + message);\n    \n    this.broadcastMessage({\n        sender: this.peer.id,\n        type: 'chat',\n        message: message\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":684},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"683":{"this":{"__isSmartRef__":true,"id":0}},"684":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 16 2014 11:51:48 GMT-0700 (PDT)\")"},"685":{"varMapping":{"__isSmartRef__":true,"id":686},"source":"function attachDataHandlers(connection) {\n    var client = this;\n    // handle data when it comes in\n    connection.on('data', function(data) {\n        switch (data.type) {\n            case 'chat':\n                // it's a chat message, so display it\n                var entry = data.sender.slice(0, 4) + ': ' + data.message;\n                client.get('ChatContent').addItem(entry);\n                break;\n            case 'mouse':\n                // it's a mouse event on a shared screen\n                var pos = lively.pt(data.event.x, data.event.y);\n                // $morph('Pointer').setPosition(pos);\n                break;\n            case 'refresh':\n                // some client sent a refresh event\n                client.listRooms();\n                client.listClients();\n                break;\n            default:\n                show('Unknown data message type');\n        }\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":687},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"686":{"this":{"__isSmartRef__":true,"id":0}},"687":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Sep 18 2014 10:39:10 GMT-0700 (PDT)\")"},"688":{"varMapping":{"__isSmartRef__":true,"id":689},"source":"function reset() {\n    this.getPartsBinMetaInfo().addRequiredModule('users.fwolff.Peerjs');\n}","funcProperties":{"__isSmartRef__":true,"id":690},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"689":{"this":{"__isSmartRef__":true,"id":0}},"690":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 15:31:04 GMT-0700 (PDT)\")"},"691":{"varMapping":{"__isSmartRef__":true,"id":692},"source":"function getSession() {\n    return lively.net.SessionTracker.getSession();\n}","funcProperties":{"__isSmartRef__":true,"id":693},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"692":{"this":{"__isSmartRef__":true,"id":0}},"693":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 16:33:04 GMT-0700 (PDT)\")"},"694":{"varMapping":{"__isSmartRef__":true,"id":695},"source":"function cleanUp() {\n    // this function does all the work that is nessessary \n    // before closing the client or closing the tab\n    \n    // leave the room to not leave any zombies behind\n    this.leaveRoom();\n    \n    // close the peer, especially to free the id\n    this.closePeer();\n}","funcProperties":{"__isSmartRef__":true,"id":696},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"695":{"this":{"__isSmartRef__":true,"id":0}},"696":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Sep 19 2014 11:40:09 GMT-0700 (PDT)\")"},"isSimplifiedRegistry":true}}