Island Game

Ken Webb 2018-12-01T07:45:52Z

Become a Castaway in the Island Game.

Save Game

To save the current game, drag the following code onto the Castaway's current location (the outer circle in the circles-within-circles view):

<SaveGrid implName="org.primordion.xholon.base.Behavior_gwtjs" outTarget="webpage" gridOwnerXPath="IslandSystem/Space" gridCellIncludeList="LandCell,CoastCell" nodeExcludeList="Fish,Cat"><![CDATA[
/**
 * Save the contents of a Xholon grid, such as in the Island game.
 * Paste or drag this entire file into any node.
 * Use RestoreGrid.js to restore a grid saved by this script.
 * outTarget: "outtab" "consolelog" "alert" "webpage"
 * gridOwnerXPath: "IslandSystem/Space"
 * gridCellIncludeList: "LandCell,CoastCell"
 * nodeExcludeList: "Fish,Cat"
 * 
 * TODO
 * - 
 */
var me, gridOwner, outstr, gridCellIncludeArr, nodeExcludeArr, gridContents, beh = {

postConfigure: function() {
  me = this.cnode;
  me.remove();
  outstr = "";
  $wnd.xh.avatar()["systemAvatar"] = true; // mark the system Avatar
  gridCellIncludeArr = null;
  nodeExcludeArr = null;
  gridContents = ""; // each gridCell type and incognita status. ex:  O C L  o c l  for Ocean Coast Land
  if (me.gridCellIncludeList) {
    gridCellIncludeArr = me.gridCellIncludeList.split(",");
  }
  if (me.nodeExcludeList) {
    nodeExcludeArr = me.nodeExcludeList.split(",");
  }
  if (!gridCellIncludeArr) {
    outstr += "The gridCellIncludeList must contain at least one name.";
    $wnd.console.log(outstr);
    return;
  }
  gridOwner = $wnd.xh.root().xpath(me.gridOwnerXPath);
  if (!gridOwner) {
    outstr += "The XPath expression " + me.gridOwnerXPath + " evaluates to null.";
    $wnd.console.log(outstr);
    return;
  }
  //$wnd.console.log("SaveGrid OK");
  outstr += '<SavedGrid gridOwnerXPath="' + me.gridOwnerXPath + '" gridCellIncludeList="' + me.gridCellIncludeList + '" timestamp="' + Date.now() + '">\n\n';
  var ypos = 0;
  var xpos = 0;
  var row = gridOwner.first();
  while (row) {
    var cell = row.first();
    while (cell) {
      this.saveCellContent(cell, xpos, ypos);
      cell = cell.next();
      xpos++;
    }
    row = row.next();
    ypos++;
    xpos = 0;
    gridContents += "\n";
  }
  outstr += '<SavedGridContents><Attribute_String>\n';
  outstr += gridContents;
  outstr += '</Attribute_String></SavedGridContents>\n\n';
  outstr += '</SavedGrid>\n';
  delete $wnd.xh.avatar()["systemAvatar"]; // unmark the system Avatar
  switch (me.outTarget) {
  case "outtab":
    me.print(outstr);
    break;
  case "alert": // only shows a small part of the text
    alert(outstr);
    break;
  case "webpage":
    var xhdiv = $doc.querySelector("body");
    if (xhdiv) {
      var saveDiv = $doc.createElement("PRE");
      xhdiv.appendChild(saveDiv);
      saveDiv.innerText = outstr;
    }
    break;
  case "consolelog":
  default:
    $wnd.console.log(outstr);
    break;
  }
},

/**
 * <SavedCellContent xpos="11" ypos="22" gridCellType="LandCell">
 */
saveCellContent: function(gridCell, xpos, ypos) {
  var gridCellClassName = gridCell.xhc().name();
  if (gridCell.first() && (gridCellIncludeArr.indexOf(gridCellClassName) != -1)) {
    outstr += '<SavedCellContent xpos="' + xpos + '" ypos="' + ypos + '" gridCellType="' + gridCell.xhc().name() + '">\n';
    var node = gridCell.first();
    while (node) {
      if (nodeExcludeArr.indexOf(node.xhc().name()) == -1) {
        outstr += $wnd.xh.xport("Xml", node, "{}", false, true);
        outstr += '\n';
      }
      node = node.next();
    }
    outstr += '</SavedCellContent>\n\n';
  }
  var gcChar = gridCellClassName.substring(0,1);
  if (gridCell["incognita"]) {
    gcChar = gcChar.toLowerCase();
  }
  gridContents += gcChar;
}

}
//# sourceURL=SaveGrid.js
]]></SaveGrid>

Restore Saved Game

To restore a saved game, drag the following code onto the Castaway's current location:

<script>$wnd.alert("Sorry. Not yet fully implemented.");</script>

Zombies can be useful

While waiting for Load Saved Game to become fully implemented, you might want to try out a zombie or two. A zombie can be dragged onto the Castaway's current location:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Zombie module. Creates a Zombie that will move in a grid. -->
<XholonModule>
  <XholonMap>
  
    <Attribute_String roleName="ih"><![CDATA[
<_-.XholonClass>
  <Zombie superClass="Script"/>
</_-.XholonClass>
    ]]></Attribute_String>
    
    <!-- Zombie color and behavior -->
    <Attribute_String roleName="cd"><![CDATA[
<xholonClassDetails>
  <Zombie xhType="XhtypePureActiveObject">
    <Color>black</Color>
    <DefaultContent>
var zombie, direction, timestep, beh = {
postConfigure: function() {
  zombie = this.cnode;
  direction = Math.floor(Math.random() * 4); // a grid cell may ref 4 or 8 other cells
  if (zombie.parent().port(7)) {
    direction = Math.floor(Math.random() * 8);
  }
  timestep = $wnd.xh.param("TimeStep"); // Zombie should only move once per timestep
  $wnd.console.log(zombie.name() + " " + this.toString());
},

act: function() {
  var timestepNew = $wnd.xh.param("TimeStep");
  if (timestepNew != timestep) {
    this.move();
    timestep = timestepNew;
  }
},

move: function() {
  var destination = zombie.parent().port(direction);
  if (destination) {
    destination.append(zombie.remove());
  }
},

toString: function() {
  return "direction:" + direction;
}

}
//# sourceURL=Zombiebehavior.js
  </DefaultContent>
  </Zombie>
</xholonClassDetails>
    ]]></Attribute_String>
    
    <Attribute_String roleName="csh"><![CDATA[
<_-.csh>
  <Zombie roleName="Bob"/>
</_-.csh>
    ]]></Attribute_String>
    
  </XholonMap>
</XholonModule>

Restore Saved Game - But ...

To test out roughly how Restore Saved Game will work, drag the following code onto the Castaway's current location:

<RestoreContainer>

<RestoreGrid implName="org.primordion.xholon.base.Behavior_gwtjs" removeExisting="true"><![CDATA[
/**
 * Restore the contents of a Xholon grid, such as from the Island game.
 * Paste or drag this entire file into any node.
 * This processes content saved by SaveGrid.js .
 */
var me, gridOwner, gridCellIncludeArr, beh = {
postConfigure: function() {
  me = this.cnode;
  var sgNode = me.next(); // SavedGrid node
  if (sgNode) {
    gridCellIncludeArr = null;
    if (sgNode.gridCellIncludeList) {
      gridCellIncludeArr = sgNode.gridCellIncludeList.split(",");
    }
    gridOwner = $wnd.xh.root().xpath(sgNode.gridOwnerXPath);
    if (!gridOwner) {
      $wnd.console.log("The XPath expression " + sgNode.gridOwnerXPath + " evaluates to null.");
      return;
    }
    if (me.removeExisting == "true") {
      this.removeAllExistingCellContents(gridOwner);
    }
    var ynow = 0; // y position (row) right now while iterating thru the grid
    var xnow = 0; // x position (gridCell) right now while iterating thru the grid
    var row = gridOwner.first();
    var cell = row.first();
    var sccNode = sgNode.first(); // SavedCellContent node
    while (sccNode) {
      $wnd.console.log(sccNode.gridCellType + " " + sccNode.xpos + " " + sccNode.ypos);
      if (sccNode.ypos == ynow) {
        // remain on the same row
        while (sccNode.xpos > xnow) {
          cell = cell.next();
          xnow++;
        }
      }
      else {
        // find a new row
        while (sccNode.ypos > ynow) {
          row = row.next();
          ynow++;
        }
        cell = row.first();
        xnow = 0;
        while (sccNode.xpos > xnow) {
          cell = cell.next();
          xnow++;
        }
      }
      var node = sccNode.first();
      while (node) {
        var nextNode = node.next();
        if ((node.xhc().name() == "Avatar") && (node["systemAvatar"])) {
          var ava = $wnd.xh.avatar();
          ava["energy"] = node["energy"];
          var invNode = node.first();
          while (invNode) {
            var nextInvNode = invNode.next();
            ava.append(invNode.remove());
            invNode = nextInvNode;
          }
          cell.append(ava.remove());
        }
        cell.append(node.remove());
        node = nextNode;
      }
      sccNode = sccNode.next();
      if (sccNode.xhc().name() == "SavedGridContents") {
        this.restoreGridContents(sccNode);
        sccNode = sccNode.next();
      }
    }
    me.parent().remove();
  }
},

restoreGridContents: function(sgcNode) {
  if (!sgcNode.first()) {return;}
  var sgcText = sgcNode.first().text();
  $wnd.console.log(sgcText);
  var row = gridOwner.first();
  var tindex = 0;
  while (row) {
    var cell = row.first();
    while (cell) {
      var achar = sgcText.charAt(tindex);
      if (achar.toLowerCase() == achar) {
        cell["incognita"] = true;
      }
      else {
        cell["incognita"] = false;
      }
      tindex++;
      cell = cell.next();
    }
    tindex++; // handle the "\n"
    row = row.next();
  }
},

removeAllExistingCellContents: function(gridOwner) {
  var row = gridOwner.first();
  var cell = null;
  while (row) {
    cell = row.first();
    while (cell) {
      if ((gridCellIncludeArr && gridCellIncludeArr.indexOf(cell.xhc().name()) != -1) || !gridCellIncludeArr) {
        var node = cell.first();
        while (node) {
          var nextNode = node.next();
          if ((node.xhc().name() == "Avatar") && (node == $wnd.xh.avatar())) {
            // retain this node
          }
          else {
            node.remove();
          }
          node = nextNode;
        }
      }
      cell = cell.next();
    }
    row = row.next();
  }
}
}
//# sourceURL=RestoreGrid.js
]]></RestoreGrid>

<SavedGrid gridOwnerXPath="IslandSystem/Space" gridCellIncludeList="LandCell,CoastCell" timestamp="1541249234528">

<SavedCellContent xpos="91" ypos="5" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="93" ypos="6" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="82" ypos="7" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
<Avatar roleName="Castaway" speechOut="0" energy="92065" islandID="0" systemAvatar="true">
  <FishingRod mass="3" energy="0"></FishingRod>
  <Fruit energy="10" mass="1"></Fruit>
  <JuicyBerry energy="10" mass="1"></JuicyBerry>
  <Stick energy="0" mass="1"></Stick>
</Avatar>
</SavedCellContent>

<SavedCellContent xpos="90" ypos="7" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="91" ypos="7" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="86" ypos="8" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="87" ypos="9" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="85" ypos="12" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="83" ypos="13" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="32" ypos="14" gridCellType="CoastCell">
<TreasureChest mass="1000">
  <Stick maxClones="1" energy="0" mass="1"></Stick>
  <Vine maxClones="1" energy="0" mass="1"></Vine>
  <Thorn maxClones="1" energy="0" mass="1"></Thorn>
  <CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
  <Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
    <Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
  </Volleyball>
</TreasureChest>
</SavedCellContent>

<SavedCellContent xpos="91" ypos="14" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="92" ypos="14" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="89" ypos="15" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="21" ypos="16" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="22" ypos="16" gridCellType="CoastCell">
<TreasureChest mass="1000">
  <Stick maxClones="1" energy="0" mass="1"></Stick>
  <Vine maxClones="1" energy="0" mass="1"></Vine>
  <Thorn maxClones="1" energy="0" mass="1"></Thorn>
  <CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
  <Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
    <Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
  </Volleyball>
</TreasureChest>
</SavedCellContent>

<SavedCellContent xpos="23" ypos="16" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="96" ypos="16" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="96" ypos="17" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="85" ypos="18" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="26" ypos="20" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="9" energy="0" mass="1"></Thorn>
  <Vine maxClones="9" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="83" ypos="20" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="26" ypos="21" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="80" ypos="21" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="91" ypos="21" gridCellType="CoastCell">
<TreasureChest mass="1000">
  <Stick maxClones="1" energy="0" mass="1"></Stick>
  <Vine maxClones="1" energy="0" mass="1"></Vine>
  <Thorn maxClones="1" energy="0" mass="1"></Thorn>
  <CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
  <Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
    <Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
  </Volleyball>
</TreasureChest>
</SavedCellContent>

<SavedCellContent xpos="83" ypos="22" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="90" ypos="24" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="22" ypos="25" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="35" ypos="25" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="8" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="9" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="8" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="22" ypos="32" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="66" ypos="40" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="70" ypos="41" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="64" ypos="42" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="55" ypos="43" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="67" ypos="45" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="50" ypos="46" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="53" ypos="48" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="54" ypos="48" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="70" ypos="49" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="85" ypos="49" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="55" ypos="50" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="56" ypos="50" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="71" ypos="50" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="76" ypos="50" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="52" ypos="51" gridCellType="CoastCell">
<City roleName="Ottawa" mass="9999" energy="0">
  <University roleName="Carleton" mass="9999" energy="0">
    <Library mass="9999" energy="0">
      <CoffeeShop roleName="Starbucks" mass="9999" energy="0">
        <IslandControlCentre mass="9999" energy="0">
          <SecretProjects>
            <Annotation>working on it</Annotation>
            <ElDorado></ElDorado>
            <TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
          </SecretProjects>
        </IslandControlCentre>
      </CoffeeShop>
      <TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
      <Avatar roleName="Troll" speechOut="0">
        <Attribute_String>[Troll will repeatedly look for and take students from anywhere in the city, and will drop them in the IslandControlCentre];
wait 1;
exit;
take *treeWanderer;
exit;
wait 1;
enter library;
wait 1;
enter *coffeeShop;
wait 1;
enter islandControlCentre;
drop *treeWanderer;
wait 1;
exit;
wait 1;
</Attribute_String>
      </Avatar>
    </Library>
    <TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
    <TreeWanderer implName="org.primordion.xholon.script.TreeWanderer"></TreeWanderer>
  </University>
</City>
</SavedCellContent>

<SavedCellContent xpos="70" ypos="51" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="74" ypos="51" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="61" ypos="52" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="91" ypos="52" gridCellType="CoastCell">
<TreasureChest mass="1000">
  <Stick maxClones="1" energy="0" mass="1"></Stick>
  <Vine maxClones="1" energy="0" mass="1"></Vine>
  <Thorn maxClones="1" energy="0" mass="1"></Thorn>
  <CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
  <Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
    <Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
  </Volleyball>
</TreasureChest>
</SavedCellContent>

<SavedCellContent xpos="85" ypos="53" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="80" ypos="54" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="83" ypos="54" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="60" ypos="55" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="70" ypos="55" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="76" ypos="55" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="79" ypos="55" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="56" ypos="56" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="64" ypos="56" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="89" ypos="56" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="73" ypos="58" gridCellType="LandCell">
<GreenTree mass="9999" energy="0">
  <Fruit maxClones="10" energy="10" mass="1"></Fruit>
  <JuicyBerry maxClones="10" energy="10" mass="1"></JuicyBerry>
  <Stick maxClones="10" energy="0" mass="1"></Stick>
</GreenTree>
</SavedCellContent>

<SavedCellContent xpos="77" ypos="58" gridCellType="LandCell">
<Spring mass="9999" energy="0">
  <FreshWater maxClones="100" energy="0" mass="1"></FreshWater>
</Spring>
</SavedCellContent>

<SavedCellContent xpos="68" ypos="60" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="70" ypos="60" gridCellType="CoastCell">
</SavedCellContent>

<SavedCellContent xpos="82" ypos="60" gridCellType="LandCell">
<RedTree mass="9999" energy="0">
  <PricklyFruit maxClones="10" energy="10" mass="1"></PricklyFruit>
  <Thorn maxClones="10" energy="0" mass="1"></Thorn>
  <Vine maxClones="10" energy="0" mass="1"></Vine>
</RedTree>
</SavedCellContent>

<SavedCellContent xpos="85" ypos="60" gridCellType="CoastCell">
<TreasureChest mass="1000">
  <Stick maxClones="1" energy="0" mass="1"></Stick>
  <Vine maxClones="1" energy="0" mass="1"></Vine>
  <Thorn maxClones="1" energy="0" mass="1"></Thorn>
  <CatTreat maxClones="10" energy="0" mass="1"></CatTreat>
  <Volleyball roleName="Wilson" maxClones="1" energy="0" mass="1">
    <Annotation>https://en.wikipedia.org/wiki/Cast_Away</Annotation>
  </Volleyball>
</TreasureChest>
</SavedCellContent>

<SavedGridContents><Attribute_String>
oOOOOOOooOOOOoooooooooooooooooOoooooooooooooooooooooooooooOOOoOOoOoOoOOOooooooooooooooooooooooooooooooOOOoOooOoOOOOoOOOo
OoOOOOooOOOOoOoOoooooooooooooooOoooooooooooOooooooooooooooooooOOoooooOoOoooooooooooooooooOoooooooooooooOoOOooOoOOOoOOOOO
OOOOOOooOOOOOOooOoooooooooooooooooooooooooOOOoOOooooooooooOoOooOOoooooOooooooooooooooooOoOoOooooOoOooOOooooOOoOOOoOOOOOO
OOOoOOoOOOOOOOOOooooooooooooooooooooooooOooooooOoOooooooooOOoOoooooooOoOoooooooooOooooOooOoOOooooOOOooOoooOoOooooOOOOOOO
OOOOOOOOOOOoOOOOOOOoooooooooooooooooooooOoooOoooOoooooooooOooOooooooooOOoooooooooCCCCCCCCCCCCoOooOoOOOoOOoooooooOooOOOOO
ooooOOOOOOOOOOOOOoOooooooooooooooooooooOoooOOooooooooooooooooOoooooooOOoooooooooOCLLCLLLCCLLCoOOOOOoooOoooooOoooooooOOOO
ooooOOOOOOOOOOOoooooooooooooooooooooOoOoooOoOOOooooooooooooOoooooooooOOOoooooooCCCCLLLLLLLLCCCCooOoooooOooooooooooOoOoOO
OOOOOOoOoOoooOOooooOoooooooooooooooOoooooooOOoooooooooooooOoooooooooOOoooooooooCLLLLLLLLLLLLLLCoOoOoOOoOooooooooOoooooOO
oOOooOoOOOoooOooooOooooooooooooooooooooooooOOooooooooooooOoOOOooooooOOOOOooOOooCLLLLLLLLLLLLLLCooOooOOOOooOOooooOOOooOOO
OOoOOOOoOoOOOoOooOOoooooooooooooooOoOOoooOOOoOoooooooOoOooOooooooooOOOOoOoOoOooCCCCLLLLLLLLLCCCoOooooOOOooooOoooooooOooO
oOoOOoOOOoOoOooOOOOOoooooooooooooooOoOooooooooooooooOooOooooOOooooooOOOOOOoOOOoOoCCCCCLLLLCCCooooooooOoooOOOoOoOOooooooO
oOOoOOOOOOOOoOooOOooooooooooooooooOooooooooooOOooOooOOOoooOoOOOoooOoooooOOOOooooOCLLLLLLLLLCOooooooOoooOOoOoOoOOOOooooOO
oOOoOOOooooOooOOOOOooooooooooooooooOOOOoOoOooooOOoOoOOOoooOOOOoOOooOOoOOOOOOoOooCCCLLLLLLLLCOOooooooooOOoOoOoooOOOoOoooo
OOoOOOOOOoOOOOooOoOooOOOOOOOOoooooOooooOOOoOOooOoOOOOooooOoOOOOOOOOOOoooOOoOoOOOCLLLLLLLLLLCCCOOOOOOOOOOOoOooOooooOooooO
OOOOOOOOoOOOOOOooOoooCCCCCCCCCCCCOoOOooOOOOOoOooooOoOooooooOoOoOOOoOoooOOOOooOoOCCLLLLLLLLLLLCCCCCCCCCoOoOOoOOOOooOoOooO
OOOOOOOOoOOOOOoOooooOCLLCLLLCCLLCooOoOOOOoOoOOoOoOOoOOOoooOOOoooOOOoooOoOOOoOooOoCCCLLLLLLLLLLLLLLLLLCOOOOoOOOOOoOOOOOOO
OoOOOOOOOOOOOoooooocCCCLLLLLLLLCCCCOoOoOOoOoOOOooOoOOOoooOOOoOooooOOooooOoOoOooOOOCLLLLLLLLLLLLLLLLCCCOOooOOOooOoOoooOoO
OOoOOOOoOOOOOooooooCLLLLLLLLLLLLLLCoOoOoOOooOoooOOooOoOoOOOoOOOOooOOOOoooOOOoooooOCCCLLLLLLLLLLLLLCCOOOOOoOOOOOOOOoooooo
oOOOOooOOOooOooooooCLLLLLLLLLLLLLLCoooOOoOoOoooooooooooOOoOOOOoOOOOOOOooooOooOooOOCLLLLLLLLLCCCCCCCOOOOOoOOOOoOOOOOooOOO
oOOOoOOOOOOOoooOOooCCCCLLLLLLLLLCCCoOooOOOoOOoOOoOOoooooOOOOOOOOOOOOOoOooooOooOooCCCCCLLLLCCCOOOOOOOOOoOOoOOOOOOOOOooooo
oOoooOOOOOooOOoOOooOOCCCCCLLLLCCCOOoOoOOOOooOoOoOOOoooOooOoooOOOoOOOoOOOOoOoooOOOCLLLLLLLLLLCOOoOoOOOOOooOOOOOOoOOooOOOo
OooooOOOOoOOOOOoooooOCLLLLLLLLLCOOoooOooOooooooooOOoOoOOoooooOOOOOOOOOOOOOoOOoOCCCCLLLLLLLLCCCCoOOOoOOOOOoOoOOOOoOOoooOO
oOoooOOOoOooooooooooCCCLLLLLLLLCOOooOOOOoOoooooooOOOoOOOOoOoOOOOOooooOOOOOoooOOCLLLLLLLLLLLLLLCooOOOoOOooOOOOOoOOOOoOoOO
oooOoOOoOOOOoOOOOoooCLLLLLLLLLLCCCOOOOOOOOOOOoOOOoOOOOOOoOoOOoOoOOOOOOOOOOOOOOoCLLLLLLLLLLLLLLCoOOOoOooooooOOoooOoOOOoOO
OooOOOOOOOOOOooOooOoCCLLLLLLLLLLLCCCCCCCCCoOoOooOOooOoOoOOOOOOOoOOoOOOOOOoOOOOOCCCCLLLLLLLLLCCCOOOooOoOoooOoooOoooOooooO
oOOOooOOOooooOoOooooOCCCLLLLLLLLLLLLLLLLLCoooOoOOOOOOOoOOOOoOOOOOOOOOOOOOOOOOOoOOOCCCCLLLLCCCOOOOooooOoOOOOooOOooooooooo
OOOOoOoOOOOOOoOooooooOCLLLLLLLLLLLLLLLLCCCooOoOoOOoOOOOOOOOOoOoOooOOOOOOOOOoOOOOoOOOOCCCCCCOOoOooOOOoooooOOOooooooooOoOO
oOOOOOOoOoOooOoOooooooCCCLLLLLLLLLLLLLCCOOooOooOOoOOOOooOOOOOoOOOOOoOOOOOOOOooOOOOOOoOOOOOOOoOOOOoOOooOooOOoooooOooooOOo
oOoOOOOOooooOOoOooooooCLLLLLLLLLCCCCCCCOOoOoooOooOoOOOOOOoOOOOoOoOOOOOOOOOoOOOoOoOoooooooOooooOOOOOOOOOOOOooOoOooooooooo
OoOOoooOOooOOOOOoooooCCCCCLLLLCCCOoOOOOOoOooOoOooOoOOOOOOOOOOOOOoOOOoOOOOOOOOOoOOoOOoooooooooOOOOOoOOoOoOOOOOOooooooOooo
oOoOooOooooOoOOoooooOCLLLLLLLLLLCoooOooooOoOoOOOoOoOooOOoOOOOoOOOOOOOOoOOoOooOOOoOooooooooOoOoOOOOOooOOOoOoooOOoOooooooO
ooOoOooOoooooOOooooCCCCLLLLLLLLCCCCoOOOoOOOOoOOOOOoOOoOOOOOOOOOOOOOOOoOOOOOoOOOOOOOoOoooOOOOOOoOOOOoOoOOOOoOoOOooooooOOO
oOOOOooOooooOOOOOOoCLLLLLLLLLLLLLLCoOoOOooOOOOOoOOOOOOOoOOOOOOOOOOoOOOOOoOOOOOOOOOOooooOoOOoOoOOOOOoOOOOOoooOoOoooOoOOoo
OOOOOOOOOoOoOOOOoOoCLLLLLLLLLLLLLLCoooOoOOooOOOOOOOOOoOoOOOOoOOOOOOOoOOoOOOOOOOOOOOOOOOoOOoOOOOOOOoOOOOOOoooOOOooooooOOO
OOOOOOOOOOOooooooooCCCCLLLLLLLLLCCCooOooOooOOoOOOOOOOOoOOOOOoOOOOOOOOooOOooOOOOOOOOOOOOOOOOoOOOOOOoOOOOOOOOoOoOOoOooOOoo
oOOOOOOOOOOooooooOoOOOCCCCLLLLCCCOOOOOoOooOOOooOOOOOOOoOOOooOOOooOooooOOOOoOOOoOOOOOOOOOOOOOOOOOooOOOOOoOoOOOoOooooooOOo
oOOOOOOOOOOoOooooooooooOoCCCCCCOOOoooooooOoOOoOoOOOOoOOOoOOooOOOoooOoOOOOOOoOOOOOOOOOOOOOOOOOOooOOOOooOOOOoOOOOOOOooOOOO
OOOOoOOOOOoooOoOoooooooOooOOOOOOOOoooOoOOooooOOOOOoOOOOoooooOOOoooooooOoOOOOOOOOoOOoOooOOOOOOOoOOOoOooOoOOOOOooOOooOOooo
OOOOOoOOoOoooooOoooOOoOOOOOoOOoOooooooooooooOOOoOOOoOoOooooOOOOOoOOOooOOOOOOOOOOOOOOoOOOOOOOOOoOOOOOOOOoOOOoOoooOoOOoooo
ooOOOOoooOooooooooooooooooOOoOoOoooOoooOoooooOoooOOoooOOoooCCCCCOCCCOOCCCCCCCOOOOoooOOOOOOOOOoOoOOOOOoOOOOoOOOoOooOOoooo
ooooOOoOOoOooooooooooooooooooOOOOoooOooooooooooOOoOooooOooCCLCLCCCLCCCCLCCLLCCoOoOOoOOOOOOOOOOooOooOOOOOOOOoOoOoOOOOoooO
oOoOoOOOOOooooooooooooooooOooOOOOOoOOooOooooooooooOOoOoOocCCLLLLLLLLLLLLLLLLLCooOOOOOOOOOOOOOOOoOOOoOOOOOOOoooOOOoOooooo
ooOOOOOOOOOooooOoOooooOoOOoooOOOOOOoOOOooOooooOOoOOOooOCCCLLLLLLLLLLLLLLLLLCCCoOOOOOOOOOoOOOOOOOOoOOOOOOooOOOoOOoooooooO
oooOoOOoOooooooooOoooooooOOOOOoOOOoOoooooooooooOoOOOOOOCLLLLLLLLLLLLLLLLLCCCOOOOOoOOOOOOOOOOOOOOooOOOOOoOOoooOoOoooooooo
ooOOOOOOOOoOooOooooooooooOOOOOooOoOOoOooooooooooOOOCCCCCCLLLLLLLLLLLLLLLLLLCCOOOOOOOOOOOOOOoOOOOOoOOOOoOOoooooOooooooOOo
ooooooOoOOooooOoOoooooooooOOooOOoOoooOooooooOOooOCCCLLLLLLLLLLLLLLLLLLLLLLLLCCCOOOOOOoOOOOoOOoOOOOoOOOooOooOOOoOoOooOoOo
oOooooOoOOOOoooooooooooooOOOOOOoooooooooooooooOooCLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCCCCCOOOOoOOOOOOOOoOOooOoooOoOoOooooooo
oOooooooOOOOOoooooooooOoOOOOOoOOooOooooOOoOoOOoooCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCOoOOOOOOOOOOooOoOoooooooooooooO
ooooOooooOOoOOooooOoooooOoOOOOoooooooOoooooOOooooOCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCooOoOOOOOOooooooOoooOooooOooooo
ooOoooOoOoOooOoooooOooOOOOOOOOOoOooooOooooOooOOoooOCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCCCOOOOOOOOOoOoooOOOoooOoOoooooooo
oOOooooOoooOoooooOoooooOOOOOOOoOooooOooooooooOoooooOCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCOOOOOOOOOoOOOoOooooooooOOOoOOooooOo
oooooOOooOOOOooooOooooooOOOOOOOOoOoooooooooOOoOoooooCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCOOOOOOOOOoooOoooOooooooOoOoooooO
OoOooOOOoOOoOoOoOoooOOooOoOoOOOOoooooooooOoOooOoooooCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCCOOOOOOOOooooOoooOOooooooooOO
oooOooooooOOOooOoooooooOoOOOOOOOOOoOOoooOOOoooooooooCCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCoooOOOooooOoooooOooooooOo
oOOooooOoooooooOoooOoOoOOOOOOOoOoOooOooOoOOoooOoooooOOoCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCOOooOooooooOoOoOOoOOoOOoo
oOOOoooOoOOOoooooOooOoOOOOOOOOoOOOoOOooOoOOooooOoooooooOCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCoOOOOooOooooooooooooooOOo
OOOoooooooOoOoOOOoooOoOOOOOoOoOOoOOOOoooOOOOOOoooOooooooCCCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCOOOOOOOooooooooooOOOOooOOoO
OOooOOooooooOOOOooooooOooooOooOOoooOOOOOOoOOooOoooooooooCLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCoOoOOOOOOooooooooooooooooOoOO
OOOOOOoooOooOoOOoooooOoOoooOooOOOoooOooOOoOoOOOOooooOoooCCCCCCCLLLLLLLLLLLLLLLLLLLLLCCCCOOOOoOOooOOoOOooooooooOooooooOoo
oOOOOOooOoooOoOOooooOooOOOOOOOOooooooooooooOooOoooooooooooOOOCLLLLLLLLLLLLLLLLLLLLLLLCOOoOoOoOooooooOoOOOoOoOOooOOoOOooo
oOoOOooooooooOoooooooOoOooOOOOOooooOOooOoooooOoOoooooooooooooCCCLLLCCCCCCCCCCCCLLLLCCCoooooooooooooooooOOoooOoOOOOoooOoo
ooOOOOOoOOooOOoOooooOOoOOOoOOOooOooOoooooooooooooooooOooooooooocCCCCOOOOOOOOOOCCCCCCOOooooooooooooooooooooOooooOooooooOo
OOOOOOoooooooooooooOOooOOoOooooooooOooooooOoOooOooooooooooooooooOOOoooooooooooOOOOOOooooooooooooOoooooooooOooooooooooooO
OooOOoooooooOooOoOoOoooooOOoooooooOooooooooooooooOooooooooooooooooooooOoooooooOOoooooooooooooooooOOoOoOoooooOoooOOoooooo
OoOOOooOooOoOOooOoOoOoooooOoooooooOOooOoooOooooooooooOooooOoooooooooooOooooooOoooooooooooooooooooOOooOOoOOOOOooooOOOOooo
OooooooooOoOOoooOOOOoooOOOOOooooOooooooooOoooooooooooooooooooooooooooOOOoooooooooooooooooooooooooOOoOOOOOOOOOoooOooOOOOo
OOOoooOOoooOOOOOOOOOoooOOOoOooooooooOooooooooooooooooOOoOOoooooooooOooOoOOoooOooooooooooooooooooOoOoOoOOOOOOOoOOoooOoOOo
OoooooooooOOOOOOOOOOooOOOOooooooooooooooooooooOooOoooooOoooooooooooooooOOOoOooooooooooooooooooooOoOOoOOOOOOOOOOOooOOOooo
OoooooooooOOOOoOoOOOOooOOOoooooooOoooooooOooOoooooOOoooooooooooooooooOOOOOoooooooooooooooooOooOoOOOOooOOOOOOOOOOOOOoOOOO
OOoooooooOOOOOOOoooOOoOOoOOooOooooooooooooooooooooooooooOooOoOooooooOoooooooooooooooooooooOoOOOoOOOOOOOOOOOOOoOOOoOOOOOo
OoooOooooOOoOOOOoOooOOoOOoooooooooooOooOooooooOooooOoooooooooooooooOoooooooooooooooooooOooOoOoOoOOOOOOOOOOOOOOOOOOoOOOOO
OOOooooOoOOOOoOoooOOOOOOOooOoOoOoooooooooooOoooooOoooooooooooooOOoOOooooooooooooooooooooooooooOOOOOOOOOOOOOoOOOOoOOOOOOo
OOOooOOOoOoOOOOoooOOOOOOOOOOooooooooooooooooooooooooooooooooooOOooooooooooooooooooooooooOOoooOOOOOOOoOOOOOOOOOOOOOOOOOOO
oooOoOoOOoOOOOOoOoOOOOOOOOOOOooOooooooooooooooooooooooooooOooooOoooooooooooooooooooooooooooOoooOOoOOoOOOOOOOOOOoOOOOOOOO
oOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOooooooooooOooooooooooooooooooOoOoooooooooooooooooooooooooooooooOOOoOoOOOOOOOOOooOOOOOOOO
OOOOOOOOOOOOOOOoooOOoOOOOOOOOOoOooooooooooooooooooooooooooooooOOooooooooooooooooooooooooooooOooooooooOOOOOOOOoOOoOOoOOOO
OOOOOOOoOOOOOOoOoOOoOOoOoOOOOOooOooooooooooooooooooooooooooooOoOoooooooooooooooooooooooooooooooooooooooOOOOOoOoOOOOooOOO
oOOOOoOOOOOooOOooooOOOoooOOOOOOOooooooooooooooooooooooooooooooOooooooooooooooooooooooooooooooooooOoooooooooOooOOoOOooOOO
OOOOOoOOOOooooOooooOOOooooOOooooooOoooooooooooooooooooooooooOOooooooooOoooooooooooooooooooooooOoooooOOoOOOOOoOOOOoOOOOOO
oOOOOOOOOOOOoooOooooooooooOoooOOOOooooooooooooooooooooooooooOOooOOOOOOoOoooooooooooooooooooOooooooooOoOoOOooOoOoOOoOOooO
</Attribute_String></SavedGridContents>

</SavedGrid>

</RestoreContainer>

return to main page