{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1},{"__isSmartRef__":true,"id":15}],"scripts":[],"id":"AE12886C-4249-490F-B5D0-DD05A807A029","shape":{"__isSmartRef__":true,"id":29},"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"FreegeoipLocation","partsBinMetaInfo":{"__isSmartRef__":true,"id":30},"eventHandler":{"__isSmartRef__":true,"id":57},"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","591E5D89-8DB3-4BE5-82A2-22CF6B720E0B","6FE1EED9-FCD0-487D-886C-2A387229A816","245A2D20-9D2C-4529-8C19-FFA06349A9B6","E90C211D-151D-4F4D-A68E-58500914C59F","142E819B-49BD-4A37-B439-012BF06EE8F1","53E24B3A-4B46-4FC7-B001-649E4AC8A998"],"partTests":{"__isSmartRef__":true,"id":58},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":63},"isInLayoutCycle":false,"draggingEnabled":true,"connections":{"__isSmartRef__":true,"id":65},"isLockOwner":true,"magnets":[{"__isSmartRef__":true,"id":69},{"__isSmartRef__":true,"id":70},{"__isSmartRef__":true,"id":71},{"__isSmartRef__":true,"id":72},{"__isSmartRef__":true,"id":73},{"__isSmartRef__":true,"id":74},{"__isSmartRef__":true,"id":75},{"__isSmartRef__":true,"id":76},{"__isSmartRef__":true,"id":77}],"latLng":{"__isSmartRef__":true,"id":78},"__serializedExpressions__":["_Position"],"_Scale":1,"_Rotation":0,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":79},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(0.0,0.0)"},"1":{"submorphs":[],"scripts":[],"id":"03CB5262-A6C7-4248-A399-ADA73B39678E","shape":{"__isSmartRef__":true,"id":2},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":false,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"caption","partsBinMetaInfo":{"__isSmartRef__":true,"id":3},"textChunks":[{"__isSmartRef__":true,"id":11}],"charsReplaced":"o","lastFindLoc":6,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":13},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","1002CA91-46F0-4EA2-86BA-DA96A65B8089","B01418AD-A3CA-4D5C-BF1C-96DE65F73093","5E45C89E-43EE-486C-9ACC-A0A38D1252AA","4388DE39-189F-48D1-B8E0-9F025AF817D9","B3E61163-43A1-4CC1-A764-5B95BD0AE7EA","6ED251E6-61FC-4182-A3C0-DF2F435CDE4D"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,11],"isBeingDragged":false,"moved":true,"owner":{"__isSmartRef__":true,"id":0},"_Align":"center","layout":{"__isSmartRef__":true,"id":14},"isLockOwner":false,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"draggingEnabled":true,"eventsAreDisabled":false,"_PointerEvents":"auto","priorSelectionRange":null,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent","_TextColor"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.3,10.3)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(119.7,-11.0)","_TextColor":"Color.rgb(255,255,255)"},"2":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__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(156.4,28.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"3":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":4},{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":10}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:08 GMT-0700 (PDT)\")"},"4":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"5":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"6":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"7":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"8":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"9":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"10":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"11":{"style":{"__isSmartRef__":true,"id":12},"morph":{"__isSmartRef__":true,"id":1},"chunkOwner":{"__isSmartRef__":true,"id":1},"storedString":"geolocation","_id":"_100","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"13":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"14":{"resizeWidth":true,"resizeHeight":false},"15":{"submorphs":[],"scripts":[],"id":"63459921-37DF-4FA7-A94B-18F03D3E6EF8","shape":{"__isSmartRef__":true,"id":16},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":12,"name":"address","partsBinMetaInfo":{"__isSmartRef__":true,"id":17},"textChunks":[{"__isSmartRef__":true,"id":25}],"charsReplaced":"Some Text","lastFindLoc":9,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":27},"_ClipMode":"hidden","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","05874A76-D870-4362-9197-93392C46ED7D","EFB537B9-18CF-4C6E-90ED-69306DADB4BF","6BEFA9AC-1601-4CF3-BD69-969C0A76F504","E009121A-CAF2-4573-97E6-D386B11934AE","656B5A69-9A70-45A5-863B-C4016B8CD9CA","78255524-FB6D-46EA-97FD-2D3662E4B66E","E5193E74-A145-4A4B-924B-7C02123325A4"],"_WhiteSpaceHandling":"pre","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,4],"isBeingDragged":false,"moved":true,"owner":{"__isSmartRef__":true,"id":0},"layout":{"__isSmartRef__":true,"id":28},"_Align":"left","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"isLockOwner":false,"eventsAreDisabled":false,"_PointerEvents":"auto","isLabel":true,"eventsAreIgnored":true,"__serializedExpressions__":["_Position","textColor","_Padding","_TextColor"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.3,43.1)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","_TextColor":"Color.rgb(255,255,255)"},"16":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__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(156.4,283.6)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"17":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":19},{"__isSmartRef__":true,"id":20},{"__isSmartRef__":true,"id":21},{"__isSmartRef__":true,"id":22},{"__isSmartRef__":true,"id":23},{"__isSmartRef__":true,"id":24}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:08 GMT-0700 (PDT)\")"},"18":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"19":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"20":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"21":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"22":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"23":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"24":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"25":{"style":{"__isSmartRef__":true,"id":26},"chunkOwner":{"__isSmartRef__":true,"id":15},"_id":"_3115","storedString":"address","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"26":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"27":{"morph":{"__isSmartRef__":true,"id":15},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"28":{"resizeHeight":true,"resizeWidth":true},"29":{"_BorderWidth":1.036,"_ClipMode":"visible","_BorderRadius":33.35,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__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(177.0,337.0)","_BorderColor":"Color.rgb(240,240,240)","_Fill":"Color.rgb(139,139,139)","_Padding":"lively.rect(0,0,0,0)"},"30":{"partsSpaceName":"PartsBin/Maps/","comment":"This widget provides the location for an ip address, using freegeoip.net .","migrationLevel":8,"partName":"FreegeoipLocation","changes":[{"__isSmartRef__":true,"id":31},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34},{"__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},{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":43},{"__isSmartRef__":true,"id":44},{"__isSmartRef__":true,"id":45},{"__isSmartRef__":true,"id":46},{"__isSmartRef__":true,"id":47},{"__isSmartRef__":true,"id":48},{"__isSmartRef__":true,"id":49},{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":51},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":53},{"__isSmartRef__":true,"id":54},{"__isSmartRef__":true,"id":55},{"__isSmartRef__":true,"id":56}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Feb 07 2014 14:32:41 GMT-0800 (PST)\")"},"31":{"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)\")"},"32":{"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)\")"},"33":{"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)\")"},"34":{"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)\")"},"35":{"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)\")"},"36":{"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)\")"},"37":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"38":{"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)\")"},"39":{"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)\")"},"40":{"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)\")"},"41":{"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)\")"},"42":{"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)\")"},"43":{"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)\")"},"44":{"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)\")"},"45":{"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)\")"},"46":{"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)\")"},"47":{"author":"larswassermann","message":"no comment","id":"398F6E1F-674F-4387-8DE8-CF935EAC3372","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 14:37:51 GMT-0800 (PST)\")"},"48":{"author":"larswassermann","message":"dropping disabled","id":"13A57B56-E2EE-4EE1-BBA1-DCB9146C6708","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 14:53:27 GMT-0800 (PST)\")"},"49":{"author":"larswassermann","message":"renaming because of the space...","id":"77ED3603-50A4-4145-94B5-FA7B35125034","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 14:55:48 GMT-0800 (PST)\")"},"50":{"author":"larswassermann","message":"changed resizing properties","id":"30DE1AA7-686A-4D55-8A05-43D9473813B0","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 15:01:02 GMT-0800 (PST)\")"},"51":{"author":"larswassermann","message":"removed ip address display","id":"CA9C5B90-389D-4FDF-8E9B-F17890B866A2","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 15:12:13 GMT-0800 (PST)\")"},"52":{"author":"larswassermann","message":" changed text properties, so that the whole morph can now be picked up","id":"A35E14B7-0797-4985-B5B1-2BFA646C6ED1","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 16:01:40 GMT-0800 (PST)\")"},"53":{"author":"larswassermann","message":"no comment","id":"49AF87AF-C3DE-4289-B459-D0E350A00023","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 16:03:13 GMT-0800 (PST)\")"},"54":{"author":"larswassermann","message":"added new field to remove editing the converter from the demo script","id":"CBAEB52A-9909-4C77-91C4-1AAA993AE4C4","__serializedExpressions__":["date"],"date":"new Date(\"Thu Feb 06 2014 17:39:47 GMT-0800 (PST)\")"},"55":{"__serializedExpressions__":["date"],"author":"larswassermann","message":"shallow testing the ip-address before sending it off to geoip","id":"2EEFCFEC-30EC-4C02-9737-674FD54315F5","date":"new Date(\"Fri Feb 07 2014 14:32:39 GMT-0800 (PST)\")"},"56":{"__serializedExpressions__":["date"],"author":"larswassermann","message":"shortened the list of connectable points","id":"6CFC289B-9BCF-4A25-80FE-79E70031BD4C","date":"new Date(\"Fri Feb 07 2014 14:37:29 GMT-0800 (PST)\")"},"57":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"58":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":59}},"59":{"test01IsMorph":{"__isSmartRef__":true,"id":60}},"60":{"varMapping":{"__isSmartRef__":true,"id":61},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":62},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"61":{"this":{"__isSmartRef__":true,"id":58}},"62":{},"63":{"layouter":{"__isSmartRef__":true,"id":64},"__serializedExpressions__":["extentWithoutPlaceholder"],"extentWithoutPlaceholder":"lively.pt(190.0,105.0)"},"64":{"borderSize":10.315000000000001,"defaultBorderSize":10,"spacing":4.8,"defaultSpacing":15,"container":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.Layout.VerticalLayout","__SourceModuleName__":"Global.lively.morphic.Layout"},"65":{"getLocationFor":{"__isSmartRef__":true,"id":66},"address":{"__isSmartRef__":true,"id":67},"latLng":{"__isSmartRef__":true,"id":68}},"66":{},"67":{},"68":{},"69":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)"},"70":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)"},"71":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)"},"72":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)"},"73":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)"},"74":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)"},"75":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)"},"76":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)"},"77":{"morph":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["position"],"connectedControlPoints":[],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.5)"},"78":{"lat":38,"lng":-97},"79":{"getLocationFor":{"__isSmartRef__":true,"id":80},"reset":{"__isSmartRef__":true,"id":83},"getConnectionPoints":{"__isSmartRef__":true,"id":86}},"80":{"varMapping":{"__isSmartRef__":true,"id":81},"source":"function getLocationFor(anIPAddress) {\n    if (!/^([0-2]?[0-9]{0,2}.){3}([0-2]?[0-9]{0,2})$/.test(anIPAddress)) {\n        return this.get(\"address\").setTextString(\"Invalid IP Address\\n\" + anIPAddress + \"\")\n    }\n    var service = new WebResource('http://freegeoip.net/json/' + (anIPAddress || '')),\n        address = JSON.parse(service.get().content)\n    \n    this.address = address;\n    this.latLng = {lat: address.latitude, lng: address.longitude}\n    \n    this.get(\"address\").setTextString(Strings.format(\"%o\", address));\n    return address;\n}","funcProperties":{"__isSmartRef__":true,"id":82},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"81":{"this":{"__isSmartRef__":true,"id":0}},"82":{"__serializedExpressions__":["timestamp"],"user":"larswassermann","tags":[],"timestamp":"new Date(\"Fri Feb 07 2014 14:31:41 GMT-0800 (PST)\")"},"83":{"varMapping":{"__isSmartRef__":true,"id":84},"source":"function reset() {\n    this.connections = {getLocationFor: {}, address: {}, latLng: {}}\n    delete this.address;\n    delete this.latLong;\n    this.get(\"address\").setTextString(\"address\")\n}","funcProperties":{"__isSmartRef__":true,"id":85},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"84":{"this":{"__isSmartRef__":true,"id":0}},"85":{"__serializedExpressions__":["timestamp"],"user":"larswassermann","tags":[],"timestamp":"new Date(\"Fri Feb 07 2014 14:28:28 GMT-0800 (PST)\")"},"86":{"varMapping":{"__isSmartRef__":true,"id":87},"source":"function getConnectionPoints() {\n    return this.connections\n}","funcProperties":{"__isSmartRef__":true,"id":92},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"87":{"this":{"__isSmartRef__":true,"id":0},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":88}},"88":{"$super":{"__isSmartRef__":true,"id":89}},"89":{"varMapping":{"__isSmartRef__":true,"id":90},"source":"function () {\n                    try {\n                        return obj.constructor.prototype[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":91},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"90":{"obj":{"__isSmartRef__":true,"id":0},"name":"getConnectionPoints"},"91":{},"92":{"__serializedExpressions__":["timestamp"],"user":"larswassermann","tags":[],"timestamp":"new Date(\"Fri Feb 07 2014 14:36:37 GMT-0800 (PST)\")"},"isSimplifiedRegistry":true}}