<?xml version="1.0" encoding="UTF-8"?>
<XMI verified="false" xmi.version="1.2" timestamp="2012-09-25T15:21:28" xmlns:UML="http://schema.omg.org/spec/UML/1.3">
 <XMI.header>
  <XMI.documentation>
   <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
   <XMI.exporterVersion>1.6.1</XMI.exporterVersion>
   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
  </XMI.documentation>
  <XMI.metamodel xmi.version="1.3" href="UML.xml" xmi.name="UML"/>
 </XMI.header>
 <XMI.content>
  <UML:Model isSpecification="false" isAbstract="false" isLeaf="false" xmi.id="m1" isRoot="false" name="UML Model">
   <UML:Namespace.ownedElement>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="folder" name="folder"/>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="datatype" name="datatype"/>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="constructor" name="constructor"/>
    <UML:Stereotype visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="typedef" name="typedef"/>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Logical View" name="Logical View">
     <UML:Namespace.ownedElement>
      <UML:Package stereotype="folder" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Datatypes" name="Datatypes">
       <UML:Namespace.ownedElement>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Rp2QUKhDyLbD" name="int"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ugUab4nT1GDF" name="char"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="3InPEd9fT95v" name="bool"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Tk9P6kdyO5Wy" name="float"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="7KP7YcMbv709" name="double"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="l9mCJq5kaEAe" name="short"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="xlaJq7HvPh2x" name="long"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="HOWAUXJFe4Pv" name="unsigned int"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="uUgSho5cZfvN" name="unsigned short"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="kBI9sL49hbKB" name="unsigned long"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="6bQkdngXGKyv" name="string"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" elementReference="ZLCtWGSv06ge" isRoot="false" xmi.id="bwyZr4aMjFlj" name="base*"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" elementReference="ugUab4nT1GDF" isRoot="false" xmi.id="z4a4Ulr3Zisz" name="const char*"/>
        <UML:DataType stereotype="datatype" visibility="public" isSpecification="false" namespace="Datatypes" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="EtQmakkSqzjs" name="tile&lt; NAME, A, B, ' ' >">
         <UML:ModelElement.templateParameter>
          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="EtQmakkSqzjs" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="hdKyXWri9yHs" type="ugUab4nT1GDF" name="NAME"/>
          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="EtQmakkSqzjs" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="9acfwY89PYvx" type="ugUab4nT1GDF" name="A"/>
          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="EtQmakkSqzjs" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="JfO7e7xKkHIF" type="ugUab4nT1GDF" name="B"/>
          <UML:TemplateParameter visibility="public" isSpecification="false" namespace="EtQmakkSqzjs" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="n9xv7FlEnLuj" type="ugUab4nT1GDF" name="C"/>
         </UML:ModelElement.templateParameter>
         <UML:GeneralizableElement.generalization>
          <UML:Generalization xmi.idref="r2sHYlCpPaw3"/>
         </UML:GeneralizableElement.generalization>
         <UML:Classifier.feature>
          <UML:Operation visibility="private" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="xBKMjFNR6hqD" name="_at">
           <UML:BehavioralFeature.parameter>
            <UML:Parameter kind="return" xmi.id="rYAvF08aUDdY" type="ugUab4nT1GDF"/>
            <UML:Parameter visibility="private" isSpecification="false" xmi.id="KU755svuOxVE" type="Rp2QUKhDyLbD" value="" name=""/>
            <UML:Parameter visibility="private" isSpecification="false" xmi.id="uowoysJt1cDl" type="Rp2QUKhDyLbD" value="" name=""/>
           </UML:BehavioralFeature.parameter>
          </UML:Operation>
          <UML:Operation stereotype="constructor" visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="3WQQTveLiY8e" name="tile">
           <UML:BehavioralFeature.parameter>
            <UML:Parameter visibility="private" isSpecification="false" xmi.id="RRXS1iDsGMmW" type="bwyZr4aMjFlj" value="" name="back"/>
           </UML:BehavioralFeature.parameter>
          </UML:Operation>
          <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Ms4p6fN9BnZc" name="getAt">
           <UML:BehavioralFeature.parameter>
            <UML:Parameter kind="return" xmi.id="dgBoRjO7vKSd" type="ugUab4nT1GDF"/>
            <UML:Parameter visibility="private" isSpecification="false" xmi.id="gCwMk40BTVcV" type="Rp2QUKhDyLbD" value="" name="col"/>
            <UML:Parameter visibility="private" isSpecification="false" xmi.id="DnLS97wU00J4" type="Rp2QUKhDyLbD" value="" name="row"/>
           </UML:BehavioralFeature.parameter>
          </UML:Operation>
          <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="MSnqwPJ7AeZI" name="valid">
           <UML:BehavioralFeature.parameter>
            <UML:Parameter kind="return" xmi.id="kTmkT5m6jxsA" type="3InPEd9fT95v"/>
           </UML:BehavioralFeature.parameter>
          </UML:Operation>
          <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="eFFZXhBu8yk2" name="getName">
           <UML:BehavioralFeature.parameter>
            <UML:Parameter kind="return" xmi.id="MCBU8tUTueya" type="ugUab4nT1GDF"/>
            <UML:Parameter visibility="private" isSpecification="false" xmi.id="L39VfhnPAZ7c" type="Rp2QUKhDyLbD" value="" name=""/>
            <UML:Parameter visibility="private" isSpecification="false" xmi.id="ctgLpXTTmh1J" type="Rp2QUKhDyLbD" value="" name=""/>
           </UML:BehavioralFeature.parameter>
          </UML:Operation>
          <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="JkxRH51uwgDj" name="next"/>
          <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="DfBxMAEiMQBS" name="end">
           <UML:BehavioralFeature.parameter>
            <UML:Parameter kind="return" xmi.id="JfvEHrmabj0t" type="3InPEd9fT95v"/>
           </UML:BehavioralFeature.parameter>
          </UML:Operation>
         </UML:Classifier.feature>
        </UML:DataType>
       </UML:Namespace.ownedElement>
      </UML:Package>
      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="yZP0mq1nxXbP" xmi.id="n6sCbfAy7RCm" parent="ZLCtWGSv06ge" name=""/>
      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="LF46j0ZJLGPS" xmi.id="bcmibEhBcoPG" parent="ZLCtWGSv06ge" name=""/>
      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="MZ33VNkT0tkS" name="tile">
       <UML:ModelElement.templateParameter>
        <UML:TemplateParameter visibility="public" isSpecification="false" namespace="MZ33VNkT0tkS" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="6RjnU1HhTUoP" type="ugUab4nT1GDF" name="NAME"/>
        <UML:TemplateParameter visibility="public" isSpecification="false" namespace="MZ33VNkT0tkS" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="AA71fcOCeRh1" type="ugUab4nT1GDF" name="A"/>
        <UML:TemplateParameter visibility="public" isSpecification="false" namespace="MZ33VNkT0tkS" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="99z3rP7G8sk7" type="ugUab4nT1GDF" name="B"/>
        <UML:TemplateParameter visibility="public" isSpecification="false" namespace="MZ33VNkT0tkS" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="9PYeCvxK52Mk" type="ugUab4nT1GDF" name="C"/>
       </UML:ModelElement.templateParameter>
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="cixG7cFGlEHc"/>
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Operation visibility="private" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="f3qPI7ztWqbk" name="_at">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="pYTJO43nTA9D" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="QP8Om6W21zNy" type="Rp2QUKhDyLbD" value="" name="scol"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="nTWIWKrALhZb" type="Rp2QUKhDyLbD" value="" name="srow"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="gFGfbCQ4igZ0" name="tile">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="YjKFGv4oOLBS" type="bwyZr4aMjFlj" value="" name="back"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="NwuX57ljL1Mw" name="getAt">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="tEBCEV6QI4Ii" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="CnysRXtzEBFU" type="Rp2QUKhDyLbD" value="" name="col"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="4HHTdStyOlVR" type="Rp2QUKhDyLbD" value="" name="row"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="c9hqIuLNCaon" name="valid">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="2flOREnIQwUc" type="3InPEd9fT95v"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Sa0ieJQEQ85j" name="getName">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Dd7bjAIlYMwU" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="2O6CysxyXgKy" type="Rp2QUKhDyLbD" value="" name=""/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="s7GJ2ivUIuCv" type="Rp2QUKhDyLbD" value="" name=""/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="MZ33VNkT0tkS" xmi.id="cixG7cFGlEHc" parent="LF46j0ZJLGPS" name=""/>
      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="LF46j0ZJLGPS" comment="_________________________________________________&#xa;objec" name="tileBase">
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="bcmibEhBcoPG"/>
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute visibility="protected" isSpecification="false" xmi.id="bzABlXRmd30N" type="Rp2QUKhDyLbD" name="_col"/>
        <UML:Attribute visibility="protected" isSpecification="false" xmi.id="BoQbcafSI5ZG" type="Rp2QUKhDyLbD" name="_row"/>
        <UML:Attribute visibility="protected" isSpecification="false" xmi.id="sBpGY5E94OKo" type="Rp2QUKhDyLbD" name="_rotation"/>
        <UML:Operation visibility="protected" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="vjaWkatwMKVy" name="under">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="JHWfZzeRA2cM" type="3InPEd9fT95v"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="uAOCEyQ69GKh" type="Rp2QUKhDyLbD" value="" name="col"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="LZoOx8ArqkNa" type="Rp2QUKhDyLbD" value="" name="row"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="protected" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="2Q8IlncKcyFi" name="backName">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="JCatAqcGu87M" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="86YqU99jdpGd" type="Rp2QUKhDyLbD" value="" name="col"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="RhlRJ7QMXWcI" type="Rp2QUKhDyLbD" value="" name="row"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="protected" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="FE3t1JWSzFuI" name="backAt">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="6Ka5ZSMtkykY" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="MIcroF87PizY" type="Rp2QUKhDyLbD" value="" name="col"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="WboPhtlx6pq7" type="Rp2QUKhDyLbD" value="" name="row"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation stereotype="constructor" visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="BsdZZc73BvSt" name="tileBase">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="nEqt1e05yY9V" type="bwyZr4aMjFlj" value="" name=""/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="yVOiR6EbzqAW" name="rotate"/>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="QHZcA0VvCJoD" name="move">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="xnGtJPOIuk0K" type="Rp2QUKhDyLbD" value="" name="col"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="qDvn33JTIr3S" type="Rp2QUKhDyLbD" value="" name="row"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="rWO1nACkvSbF" name="reset"/>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="szXkjV4YgxLh" name="end">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="yd9GSCjHj5IW" type="3InPEd9fT95v"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="DUF9wqMmotXV" name="next"/>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="EtQmakkSqzjs" xmi.id="r2sHYlCpPaw3" parent="LF46j0ZJLGPS" name=""/>
      <UML:Class stereotype="typedef" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="o1ljfySqddnx" name="U"/>
      <UML:Class stereotype="typedef" visibility="private" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="n0g7QrZhWSvm" name="V"/>
      <UML:Class stereotype="typedef" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="KfMtPKkBKVuz" name="W"/>
      <UML:Class stereotype="typedef" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="SLq3yb1kbfpz" name="X"/>
      <UML:Class stereotype="typedef" visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="UNhypak7G5zd" name="Y"/>
      <UML:Class stereotype="typedef" visibility="private" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="PjojDjhd4Ve0" name="Z"/>
      <UML:Class visibility="public" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="yZP0mq1nxXbP" comment="_________________________________________________&#xa;map objec" name="map">
       <UML:GeneralizableElement.generalization>
        <UML:Generalization xmi.idref="n6sCbfAy7RCm"/>
        <UML:Generalization xmi.idref="huUyyyd0zE3r"/>
       </UML:GeneralizableElement.generalization>
       <UML:Classifier.feature>
        <UML:Attribute visibility="private" isSpecification="false" xmi.id="xkMi4jG98bE2" type="z4a4Ulr3Zisz" name="_map"/>
        <UML:Operation stereotype="constructor" visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="XelYyfAwiiyA" name="map">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="TnB0W10RmK9o" type="z4a4Ulr3Zisz" value="" name="choice"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="4PxA0ACWov4l" name="getAt">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="F1L4uNnTZSiS" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="ZCfHudPMRaMv" type="Rp2QUKhDyLbD" value="" name="col"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="cKMMfVAht7pr" type="Rp2QUKhDyLbD" value="" name="row"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="57oWiAPIVle8" name="getName">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="cNj57NDM90S0" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="Fmp8tcx7dJBV" type="Rp2QUKhDyLbD" value="" name=""/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="gyzEQfgTnUyT" type="Rp2QUKhDyLbD" value="" name=""/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Generalization discriminator="" visibility="public" isSpecification="false" namespace="Logical View" child="yZP0mq1nxXbP" xmi.id="huUyyyd0zE3r" parent="ZLCtWGSv06ge" name=""/>
      <UML:Class visibility="private" isSpecification="false" namespace="Logical View" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="ZLCtWGSv06ge" comment="_________________________________________________&#xa;base virtual clas" name="base">
       <UML:Classifier.feature>
        <UML:Attribute visibility="protected" isSpecification="false" xmi.id="eM2AmflLyvCV" type="bwyZr4aMjFlj" name="_back"/>
        <UML:Attribute visibility="protected" isSpecification="false" xmi.id="eOAi2oIzlrop" type="ugUab4nT1GDF" name="_name"/>
        <UML:Attribute visibility="protected" isSpecification="false" xmi.id="Q9ZfuGJEIR0y" type="Rp2QUKhDyLbD" name="_iterator"/>
        <UML:Operation stereotype="constructor" visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="DLw6XPGAlQso" name="base"/>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="CAlx0XnOgK3a" name="getAt">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="va9bsAAQUzHE" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="aKprlnpw9j3e" type="Rp2QUKhDyLbD" value="" name="col"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="7HoqhfernNpl" type="Rp2QUKhDyLbD" value="" name="row"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="k4AtmBWtSIh7" name="rotate"/>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="xKzjhmScMaCC" name="move">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="kMcDJsR3wZvi" type="Rp2QUKhDyLbD" value="" name=""/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="lRZDjHLfbIMG" type="Rp2QUKhDyLbD" value="" name=""/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="4otOM3a5NCIg" name="valid">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="4hhzGaf1zFFj" type="3InPEd9fT95v"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="WYM5qgLuSCGp" name="getName">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="BnWdzmQDcKlc" type="ugUab4nT1GDF"/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="Dqua0AE3ru25" type="Rp2QUKhDyLbD" value="" name=""/>
          <UML:Parameter visibility="private" isSpecification="false" xmi.id="Uh7UwKBQqVTe" type="Rp2QUKhDyLbD" value="" name=""/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="S0fJufNMNSqH" name="reset"/>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="m1gaW7EfukJu" name="end">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="Wj562oiUoMmg" type="3InPEd9fT95v"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="193MbrcLtItN" name="next"/>
        <UML:Operation visibility="public" isSpecification="false" isQuery="false" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="P73KrKCL3FR3" name="iterate">
         <UML:BehavioralFeature.parameter>
          <UML:Parameter kind="return" xmi.id="37WqTIUTPVpy" type="3InPEd9fT95v"/>
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
     </UML:Namespace.ownedElement>
     <XMI.extension xmi.extender="umbrello">
      <diagrams>
       <diagram showopsig="1" linecolor="#ff0000" snapx="10" showattribassocs="1" snapy="10" linewidth="0" showattsig="1" textcolor="#000000" isopen="1" showpackage="1" showpubliconly="0" showstereotype="1" name="class diagram" font="Sans Serif,9,-1,0,50,0,0,0,0,0" canvasheight="550" canvaswidth="1049" localid="-1" snapcsgrid="0" showgrid="0" showops="1" griddotcolor="#808080" backgroundcolor="#ffffff" usefillcolor="1" fillcolor="#ffff00" zoom="100" xmi.id="cFszSlFp7YLv" documentation="" showscope="1" snapgrid="1" showatts="1" type="1">
        <widgets>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="40" showattsigs="601" showstereotype="1" y="60" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="212" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="ZLCtWGSv06ge" showscope="1" height="196" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="320" showattsigs="601" showstereotype="1" y="60" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="212" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="yZP0mq1nxXbP" showscope="1" height="70" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="690" showattsigs="601" showstereotype="1" y="110" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="254" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="MZ33VNkT0tkS" showscope="1" height="152" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="320" showattsigs="601" showstereotype="1" y="140" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="244" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="LF46j0ZJLGPS" showscope="1" height="182" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="690" showattsigs="601" showstereotype="1" y="270" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="o1ljfySqddnx" showscope="1" height="42" showopsigs="601"/>
         <classwidget linecolor="#ff0000" usesdiagramfillcolor="0" linewidth="0" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="0" showpubliconly="0" showpackage="1" x="690" showattsigs="601" showstereotype="1" y="320" showattributes="1" font="Sans Serif,9,-1,5,75,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="#ffff00" xmi.id="n0g7QrZhWSvm" showscope="1" height="43" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="690" showattsigs="601" showstereotype="1" y="370" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="KfMtPKkBKVuz" showscope="1" height="42" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="780" showattsigs="601" showstereotype="1" y="270" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="SLq3yb1kbfpz" showscope="1" height="42" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="780" showattsigs="601" showstereotype="1" y="320" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="UNhypak7G5zd" showscope="1" height="42" showopsigs="601"/>
         <classwidget linecolor="none" usesdiagramfillcolor="1" linewidth="none" showoperations="1" textcolor="#000000" usesdiagramusefillcolor="1" showpubliconly="0" showpackage="1" x="780" showattsigs="601" showstereotype="1" y="370" showattributes="1" font="Sans Serif,9,-1,0,75,0,0,0,0,0" width="81" isinstance="0" usefillcolor="1" fillcolor="none" xmi.id="PjojDjhd4Ve0" showscope="1" height="42" showopsigs="601"/>
         <datatypewidget width="155" showstereotype="1" x="690" usesdiagramusefillcolor="1" y="120" usesdiagramfillcolor="1" isinstance="0" fillcolor="none" height="30" linecolor="none" xmi.id="EtQmakkSqzjs" textcolor="#000000" usefillcolor="1" linewidth="none" font="Sans Serif,9,-1,0,75,0,0,0,0,0"/>
        </widgets>
        <messages/>
        <associations>
         <assocwidget indexa="1" linecolor="none" indexb="0" usesdiagramfillcolor="0" widgetbid="ZLCtWGSv06ge" linewidth="none" textcolor="none" usesdiagramusefillcolor="0" totalcounta="2" totalcountb="0" widgetaid="ZLCtWGSv06ge" visibilityA="2" visibilityB="2" usefillcolor="0" fillcolor="#000000" changeabilityA="900" xmi.id="eM2AmflLyvCV" changeabilityB="900" type="501">
          <linepath>
           <startpoint startx="93" starty="60"/>
           <endpoint endx="199" endy="60"/>
           <point x="90" y="10"/>
           <point x="200" y="10"/>
          </linepath>
          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" textcolor="none" usesdiagramusefillcolor="1" x="170" showstereotype="1" y="30" text="0..1" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="" role="702" width="32" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="XNnRJXMJg2JA" height="32"/>
          <floatingtext linecolor="none" usesdiagramfillcolor="1" linewidth="none" textcolor="none" usesdiagramusefillcolor="1" x="200" showstereotype="1" y="30" text="_back" font="Sans Serif,9,-1,0,50,0,0,0,0,0" pretext="#" role="710" width="54" isinstance="0" posttext="" usefillcolor="1" fillcolor="none" xmi.id="FgqspCU9t7Es" height="18"/>
         </assocwidget>
         <assocwidget indexa="1" indexb="1" usesdiagramusefillcolor="1" widgetaid="yZP0mq1nxXbP" usesdiagramfillcolor="0" fillcolor="#000000" linecolor="none" totalcounta="2" xmi.id="n6sCbfAy7RCm" widgetbid="ZLCtWGSv06ge" totalcountb="3" type="500" textcolor="none" usefillcolor="0" linewidth="none">
          <linepath>
           <startpoint startx="320" starty="110"/>
           <endpoint endx="250" endy="110"/>
          </linepath>
         </assocwidget>
         <assocwidget indexa="1" indexb="2" usesdiagramusefillcolor="1" widgetaid="LF46j0ZJLGPS" usesdiagramfillcolor="0" fillcolor="#000000" linecolor="none" totalcounta="2" xmi.id="bcmibEhBcoPG" widgetbid="ZLCtWGSv06ge" totalcountb="3" type="500" textcolor="none" usefillcolor="0" linewidth="none">
          <linepath>
           <startpoint startx="320" starty="260"/>
           <endpoint endx="250" endy="260"/>
          </linepath>
         </assocwidget>
         <assocwidget indexa="1" indexb="1" usesdiagramusefillcolor="1" widgetaid="MZ33VNkT0tkS" usesdiagramfillcolor="0" fillcolor="#000000" linecolor="none" totalcounta="2" xmi.id="cixG7cFGlEHc" widgetbid="LF46j0ZJLGPS" totalcountb="2" type="500" textcolor="none" usefillcolor="0" linewidth="none">
          <linepath>
           <startpoint startx="690" starty="220"/>
           <endpoint endx="560" endy="220"/>
          </linepath>
         </assocwidget>
        </associations>
       </diagram>
      </diagrams>
     </XMI.extension>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Use Case View" name="Use Case View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Component View" name="Component View">
     <UML:Namespace.ownedElement>
      <UML:Artifact visibility="public" isSpecification="false" namespace="Component View" drawas="1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="XfgQ2PbKWRdb" comment="/*_________________________________________________&#xa;&#xa;___________________________________________________&#xa;preprocessor*/" name="base.hpp"/>
      <UML:Artifact visibility="public" isSpecification="false" namespace="Component View" drawas="1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="NRHGhAb7HeP6" comment="/*_________________________________________________&#xa;&#xa;___________________________________________________&#xa;preprocessor*/" name="map.hpp"/>
      <UML:Artifact visibility="public" isSpecification="false" namespace="Component View" drawas="1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="cN7DgGjLCgZa" comment="/*_________________________________________________&#xa;&#xa;___________________________________________________&#xa;preprocessor*/" name="tile.hpp"/>
     </UML:Namespace.ownedElement>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Deployment View" name="Deployment View">
     <UML:Namespace.ownedElement/>
    </UML:Model>
    <UML:Model stereotype="folder" visibility="public" isSpecification="false" namespace="m1" isAbstract="false" isLeaf="false" isRoot="false" xmi.id="Entity Relationship Model" name="Entity Relationship Model">
     <UML:Namespace.ownedElement/>
    </UML:Model>
   </UML:Namespace.ownedElement>
  </UML:Model>
 </XMI.content>
 <XMI.extensions xmi.extender="umbrello">
  <docsettings viewid="cFszSlFp7YLv" uniqueid="6D67MKfq9tmy" documentation=""/>
  <listview>
   <listitem open="1" type="800" id="Views">
    <listitem open="1" type="821" id="Component View">
     <listitem open="0" type="824" id="XfgQ2PbKWRdb"/>
     <listitem open="0" type="824" id="NRHGhAb7HeP6"/>
     <listitem open="0" type="824" id="cN7DgGjLCgZa"/>
    </listitem>
    <listitem open="1" type="827" id="Deployment View"/>
    <listitem open="1" type="836" id="Entity Relationship Model"/>
    <listitem open="1" type="801" id="Logical View">
     <listitem open="0" type="813" id="ZLCtWGSv06ge">
      <listitem open="0" type="814" id="eM2AmflLyvCV"/>
      <listitem open="0" type="814" id="Q9ZfuGJEIR0y"/>
      <listitem open="0" type="814" id="eOAi2oIzlrop"/>
      <listitem open="0" type="815" id="DLw6XPGAlQso"/>
      <listitem open="0" type="815" id="m1gaW7EfukJu"/>
      <listitem open="0" type="815" id="CAlx0XnOgK3a"/>
      <listitem open="0" type="815" id="WYM5qgLuSCGp"/>
      <listitem open="0" type="815" id="P73KrKCL3FR3"/>
      <listitem open="0" type="815" id="xKzjhmScMaCC"/>
      <listitem open="0" type="815" id="193MbrcLtItN"/>
      <listitem open="0" type="815" id="S0fJufNMNSqH"/>
      <listitem open="0" type="815" id="k4AtmBWtSIh7"/>
      <listitem open="0" type="815" id="4otOM3a5NCIg"/>
     </listitem>
     <listitem open="0" type="807" id="cFszSlFp7YLv" label="class diagram"/>
     <listitem open="0" type="830" id="Datatypes">
      <listitem open="0" type="829" id="bwyZr4aMjFlj"/>
      <listitem open="1" type="829" id="3InPEd9fT95v"/>
      <listitem open="1" type="829" id="ugUab4nT1GDF"/>
      <listitem open="0" type="829" id="z4a4Ulr3Zisz"/>
      <listitem open="1" type="829" id="7KP7YcMbv709"/>
      <listitem open="1" type="829" id="Tk9P6kdyO5Wy"/>
      <listitem open="1" type="829" id="Rp2QUKhDyLbD"/>
      <listitem open="1" type="829" id="xlaJq7HvPh2x"/>
      <listitem open="1" type="829" id="l9mCJq5kaEAe"/>
      <listitem open="1" type="829" id="6bQkdngXGKyv"/>
      <listitem open="0" type="829" id="EtQmakkSqzjs"/>
      <listitem open="1" type="829" id="HOWAUXJFe4Pv"/>
      <listitem open="1" type="829" id="kBI9sL49hbKB"/>
      <listitem open="1" type="829" id="uUgSho5cZfvN"/>
     </listitem>
     <listitem open="0" type="813" id="yZP0mq1nxXbP">
      <listitem open="0" type="814" id="xkMi4jG98bE2"/>
      <listitem open="0" type="815" id="4PxA0ACWov4l"/>
      <listitem open="0" type="815" id="57oWiAPIVle8"/>
      <listitem open="0" type="815" id="XelYyfAwiiyA"/>
     </listitem>
     <listitem open="0" type="813" id="MZ33VNkT0tkS">
      <listitem open="0" type="815" id="f3qPI7ztWqbk"/>
      <listitem open="0" type="816" id="AA71fcOCeRh1"/>
      <listitem open="0" type="816" id="99z3rP7G8sk7"/>
      <listitem open="0" type="816" id="9PYeCvxK52Mk"/>
      <listitem open="0" type="815" id="NwuX57ljL1Mw"/>
      <listitem open="0" type="815" id="Sa0ieJQEQ85j"/>
      <listitem open="0" type="816" id="6RjnU1HhTUoP"/>
      <listitem open="0" type="815" id="gFGfbCQ4igZ0"/>
      <listitem open="0" type="815" id="c9hqIuLNCaon"/>
     </listitem>
     <listitem open="0" type="813" id="LF46j0ZJLGPS">
      <listitem open="0" type="814" id="bzABlXRmd30N"/>
      <listitem open="0" type="814" id="sBpGY5E94OKo"/>
      <listitem open="0" type="814" id="BoQbcafSI5ZG"/>
      <listitem open="0" type="815" id="FE3t1JWSzFuI"/>
      <listitem open="0" type="815" id="2Q8IlncKcyFi"/>
      <listitem open="0" type="815" id="szXkjV4YgxLh"/>
      <listitem open="0" type="815" id="QHZcA0VvCJoD"/>
      <listitem open="0" type="815" id="DUF9wqMmotXV"/>
      <listitem open="0" type="815" id="rWO1nACkvSbF"/>
      <listitem open="0" type="815" id="yVOiR6EbzqAW"/>
      <listitem open="0" type="815" id="BsdZZc73BvSt"/>
      <listitem open="0" type="815" id="vjaWkatwMKVy"/>
     </listitem>
     <listitem open="0" type="813" id="o1ljfySqddnx"/>
     <listitem open="0" type="813" id="n0g7QrZhWSvm"/>
     <listitem open="0" type="813" id="KfMtPKkBKVuz"/>
     <listitem open="0" type="813" id="SLq3yb1kbfpz"/>
     <listitem open="0" type="813" id="UNhypak7G5zd"/>
     <listitem open="0" type="813" id="PjojDjhd4Ve0"/>
    </listitem>
    <listitem open="1" type="802" id="Use Case View"/>
   </listitem>
  </listview>
  <codegeneration>
   <codegenerator language="C++"/>
  </codegeneration>
 </XMI.extensions>
</XMI>
