<?xml version="1.0" encoding="UTF-8"?>
<gmfgen:GenEditorGenerator xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:gmfgen="http://www.eclipse.org/gmf/2009/GenModel" packageNamePrefix="org.eclipse.gmf.ecore"
    copyrightText="Copyright (c) 2006, 2008 Borland Software Corp.&#xD;&#xA;&#xD;&#xA;All rights reserved. This program and the accompanying materials&#xD;&#xA;are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA;which accompanies this distribution, and is available at&#xD;&#xA;http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA;&#xD;&#xA;Contributors:&#xD;&#xA;   Alexander Shatalin (Borland) - initial API and implementation">
  <diagram
      visualID="1000"
      editPartClassName="EPackageEditPart"
      itemSemanticEditPolicyClassName="EPackageItemSemanticEditPolicy"
      canonicalEditPolicyClassName="EPackageCanonicalEditPolicy"
      iconProviderPriority="Low"
      creationWizardIconPath="icons/full/obj16/EcoreModelFile.gif"
      creationWizardCategoryID="org.eclipse.ui.Examples/org.eclipse.gmf.examples"
      validationProviderPriority="Low">
    <diagramRunTimeClass
        href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Diagram"/>
    <elementType
        xsi:type="gmfgen:MetamodelType"
        editHelperClassName="EPackageEditHelper"/>
    <viewmap
        xsi:type="gmfgen:FigureViewmap"
        figureQualifiedClassName="org.eclipse.draw2d.FreeformLayer"/>
    <containsShortcutsTo>ecore</containsShortcutsTo>
    <shortcutsProvidedFor>Ecore</shortcutsProvidedFor>
    <domainDiagramElement
        href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage"/>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3001"
        editPartClassName="EAttributeEditPart"
        itemSemanticEditPolicyClassName="EAttributeItemSemanticEditPolicy"
        notationViewFactoryClassName="EAttributeViewFactory"
        canonicalEditPolicyClassName="EAttributeCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EAttributeGraphicalNodeEditPolicy"
        createCommandClassName="EAttributeCreateCommand"
        containers="//@diagram/@compartments.0"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EAttributeEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAttribute"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eStructuralFeatures"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eAttributes"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:ExpressionLabelModelFacet"
          parser="//@labelParsers/@implementations.0"/>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3002"
        editPartClassName="EOperationEditPart"
        itemSemanticEditPolicyClassName="EOperationItemSemanticEditPolicy"
        notationViewFactoryClassName="EOperationViewFactory"
        canonicalEditPolicyClassName="EOperationCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EOperationGraphicalNodeEditPolicy"
        createCommandClassName="EOperationCreateCommand"
        containers="//@diagram/@compartments.1"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EOperationEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EOperation"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eOperations"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eOperations"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3003"
        editPartClassName="EAnnotation2EditPart"
        itemSemanticEditPolicyClassName="EAnnotation2ItemSemanticEditPolicy"
        notationViewFactoryClassName="EAnnotation2ViewFactory"
        canonicalEditPolicyClassName="EAnnotation2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EAnnotation2GraphicalNodeEditPolicy"
        createCommandClassName="EAnnotation2CreateCommand"
        containers="//@diagram/@compartments.2 //@diagram/@compartments.7 //@diagram/@compartments.9 //@diagram/@compartments.11"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EAnnotationEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAnnotation"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EModelElement/eAnnotations"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EModelElement/eAnnotations"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAnnotation/source"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3004"
        editPartClassName="EClass2EditPart"
        itemSemanticEditPolicyClassName="EClass2ItemSemanticEditPolicy"
        notationViewFactoryClassName="EClass2ViewFactory"
        canonicalEditPolicyClassName="EClass2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EClass2GraphicalNodeEditPolicy"
        createCommandClassName="EClass2CreateCommand"
        containers="//@diagram/@compartments.3"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@topLevelNodes.0/@elementType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3005"
        editPartClassName="EPackage3EditPart"
        itemSemanticEditPolicyClassName="EPackage3ItemSemanticEditPolicy"
        notationViewFactoryClassName="EPackage3ViewFactory"
        canonicalEditPolicyClassName="EPackage3CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EPackage2GraphicalNodeEditPolicy"
        createCommandClassName="EPackage2CreateCommand"
        containers="//@diagram/@compartments.4"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@elementType"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eSubpackages"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eSubpackages"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3006"
        editPartClassName="EDataType2EditPart"
        itemSemanticEditPolicyClassName="EDataType2ItemSemanticEditPolicy"
        notationViewFactoryClassName="EDataType2ViewFactory"
        canonicalEditPolicyClassName="EDataType2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EDataType2GraphicalNodeEditPolicy"
        createCommandClassName="EDataType2CreateCommand"
        containers="//@diagram/@compartments.5"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EDataTypeEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.1">
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EDataType"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3007"
        editPartClassName="EEnum2EditPart"
        itemSemanticEditPolicyClassName="EEnum2ItemSemanticEditPolicy"
        notationViewFactoryClassName="EEnum2ViewFactory"
        canonicalEditPolicyClassName="EEnum2CanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EEnum2GraphicalNodeEditPolicy"
        createCommandClassName="EEnum2CreateCommand"
        containers="//@diagram/@compartments.6"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EEnumEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EEnum"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3008"
        editPartClassName="EStringToStringMapEntryEditPart"
        itemSemanticEditPolicyClassName="EStringToStringMapEntryItemSemanticEditPolicy"
        notationViewFactoryClassName="EStringToStringMapEntryViewFactory"
        canonicalEditPolicyClassName="EStringToStringMapEntryCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EStringToStringMapEntryGraphicalNodeEditPolicy"
        createCommandClassName="EStringToStringMapEntryCreateCommand"
        containers="//@diagram/@compartments.8"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EStringToStringMapEntryEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EStringToStringMapEntry"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAnnotation/details"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAnnotation/details"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1"
          viewPattern="{0} : {1}"
          editPattern="{0} : {1}">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EStringToStringMapEntry/key"/>
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EStringToStringMapEntry/value"/>
      </labelModelFacet>
    </childNodes>
    <childNodes
        xsi:type="gmfgen:GenChildLabelNode"
        visualID="3009"
        editPartClassName="EEnumLiteralEditPart"
        itemSemanticEditPolicyClassName="EEnumLiteralItemSemanticEditPolicy"
        notationViewFactoryClassName="EEnumLiteralViewFactory"
        canonicalEditPolicyClassName="EEnumLiteralCanonicalEditPolicy"
        graphicalNodeEditPolicyClassName="EEnumLiteralGraphicalNodeEditPolicy"
        createCommandClassName="EEnumLiteralCreateCommand"
        containers="//@diagram/@compartments.10"
        labelElementIcon="true">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EEnumLiteralEditHelper"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EEnumLiteral"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EEnum/eLiterals"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EEnum/eLiterals"/>
      </modelFacet>
      <labelModelFacet
          xsi:type="gmfgen:FeatureLabelModelFacet"
          parser="//@labelParsers/@implementations.1">
        <metaFeatures
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
      </labelModelFacet>
    </childNodes>
    <topLevelNodes
        visualID="2001"
        editPartClassName="EClassEditPart"
        itemSemanticEditPolicyClassName="EClassItemSemanticEditPolicy"
        notationViewFactoryClassName="EClassViewFactory"
        canonicalEditPolicyClassName="EClassCanonicalEditPolicy"
        compartments="//@diagram/@compartments.0 //@diagram/@compartments.1 //@diagram/@compartments.2"
        graphicalNodeEditPolicyClassName="EClassGraphicalNodeEditPolicy"
        createCommandClassName="EClassCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EClassEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="NamedNodeRectangle"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class NamedNodeRectangle extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel fName; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public NamedNodeRectangle() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fName = new org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel();&#xA;&#xA;fName.setText(&quot;&quot;);&#xA;&#xA;this.add(fName);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel Name() {&#xA;&#x9;&#x9;return fName;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
      </modelFacet>
      <labels
          visualID="5001"
          editPartClassName="EClassNameEditPart"
          itemSemanticEditPolicyClassName="EClassNameItemSemanticEditPolicy"
          notationViewFactoryClassName="EClassNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="Name"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2002"
        editPartClassName="EPackage2EditPart"
        itemSemanticEditPolicyClassName="EPackage2ItemSemanticEditPolicy"
        notationViewFactoryClassName="EPackage2ViewFactory"
        canonicalEditPolicyClassName="EPackage2CanonicalEditPolicy"
        compartments="//@diagram/@compartments.3 //@diagram/@compartments.4 //@diagram/@compartments.5 //@diagram/@compartments.6 //@diagram/@compartments.7"
        graphicalNodeEditPolicyClassName="EPackageGraphicalNodeEditPolicy"
        createCommandClassName="EPackageCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="NamedNodeRectangle"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class NamedNodeRectangle extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel fName; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public NamedNodeRectangle() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fName = new org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel();&#xA;&#xA;fName.setText(&quot;&quot;);&#xA;&#xA;this.add(fName);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel Name() {&#xA;&#x9;&#x9;return fName;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <behaviour
          xsi:type="gmfgen:OpenDiagramBehaviour"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eSubpackages"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eSubpackages"/>
      </modelFacet>
      <labels
          visualID="5002"
          editPartClassName="EPackageNameEditPart"
          itemSemanticEditPolicyClassName="EPackageNameItemSemanticEditPolicy"
          notationViewFactoryClassName="EPackageNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="Name"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2003"
        editPartClassName="EAnnotationEditPart"
        itemSemanticEditPolicyClassName="EAnnotationItemSemanticEditPolicy"
        notationViewFactoryClassName="EAnnotationViewFactory"
        canonicalEditPolicyClassName="EAnnotationCanonicalEditPolicy"
        compartments="//@diagram/@compartments.8"
        graphicalNodeEditPolicyClassName="EAnnotationGraphicalNodeEditPolicy"
        createCommandClassName="EAnnotationCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.2/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="NamedNodeRectangle"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class NamedNodeRectangle extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel fName; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public NamedNodeRectangle() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fName = new org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel();&#xA;&#xA;fName.setText(&quot;&quot;);&#xA;&#xA;this.add(fName);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel Name() {&#xA;&#x9;&#x9;return fName;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAnnotation"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EModelElement/eAnnotations"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EModelElement/eAnnotations"/>
      </modelFacet>
      <labels
          visualID="5003"
          editPartClassName="EAnnotationSourceEditPart"
          itemSemanticEditPolicyClassName="EAnnotationSourceItemSemanticEditPolicy"
          notationViewFactoryClassName="EAnnotationSourceViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="Name"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAnnotation/source"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2004"
        editPartClassName="EDataTypeEditPart"
        itemSemanticEditPolicyClassName="EDataTypeItemSemanticEditPolicy"
        notationViewFactoryClassName="EDataTypeViewFactory"
        canonicalEditPolicyClassName="EDataTypeCanonicalEditPolicy"
        compartments="//@diagram/@compartments.9"
        graphicalNodeEditPolicyClassName="EDataTypeGraphicalNodeEditPolicy"
        createCommandClassName="EDataTypeCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.5/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="NamedNodeRectangle"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class NamedNodeRectangle extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel fName; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public NamedNodeRectangle() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fName = new org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel();&#xA;&#xA;fName.setText(&quot;&quot;);&#xA;&#xA;this.add(fName);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel Name() {&#xA;&#x9;&#x9;return fName;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.2">
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EDataType"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
      </modelFacet>
      <labels
          visualID="5004"
          editPartClassName="EDataTypeNameEditPart"
          itemSemanticEditPolicyClassName="EDataTypeNameItemSemanticEditPolicy"
          notationViewFactoryClassName="EDataTypeNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="Name"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <topLevelNodes
        visualID="2005"
        editPartClassName="EEnumEditPart"
        itemSemanticEditPolicyClassName="EEnumItemSemanticEditPolicy"
        notationViewFactoryClassName="EEnumViewFactory"
        canonicalEditPolicyClassName="EEnumCanonicalEditPolicy"
        compartments="//@diagram/@compartments.10 //@diagram/@compartments.11"
        graphicalNodeEditPolicyClassName="EEnumGraphicalNodeEditPolicy"
        createCommandClassName="EEnumCreateCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@childNodes.6/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          layoutType="TOOLBAR_LAYOUT"
          className="NamedNodeRectangle"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class NamedNodeRectangle extends org.eclipse.draw2d.RectangleFigure {&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel fName; &#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public NamedNodeRectangle() {&#xA;&#x9;&#x9;&#xA;&#x9;org.eclipse.draw2d.ToolbarLayout layoutThis = new org.eclipse.draw2d.ToolbarLayout();&#xA;&#x9;layoutThis.setStretchMinorAxis(true);&#xA;&#x9;layoutThis.setMinorAlignment(org.eclipse.draw2d.ToolbarLayout.ALIGN_CENTER&#xA;);&#xA;&#xA;&#x9;layoutThis.setSpacing(0);&#xA;&#x9;layoutThis.setVertical(true);&#xA;&#xA;&#x9;this.setLayoutManager(layoutThis);&#xA;&#xA;&#x9;&#x9;&#x9;&#x9;createContents();&#xA;&#x9;}&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private void createContents(){&#xA;&#xA;&#xA;fName = new org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel();&#xA;&#xA;fName.setText(&quot;&quot;);&#xA;&#xA;this.add(fName);&#xA;&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel Name() {&#xA;&#x9;&#x9;return fName;&#xA;&#x9;}&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet>
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EEnum"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage/eClassifiers"/>
      </modelFacet>
      <labels
          visualID="5005"
          editPartClassName="EEnumNameEditPart"
          itemSemanticEditPolicyClassName="EEnumNameItemSemanticEditPolicy"
          notationViewFactoryClassName="EEnumNameViewFactory"
          elementIcon="true">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:ParentAssignedViewmap"
            getterName="Name"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel"/>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
        </modelFacet>
      </labels>
    </topLevelNodes>
    <links
        visualID="4001"
        editPartClassName="EAnnotationReferencesEditPart"
        itemSemanticEditPolicyClassName="EAnnotationReferencesItemSemanticEditPolicy"
        notationViewFactoryClassName="EAnnotationReferencesViewFactory"
        createCommandClassName="EAnnotationReferencesCreateCommand"
        reorientCommandClassName="EAnnotationReferencesReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="DashedLineConnection"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class DashedLineConnection extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public DashedLineConnection() {&#xA;&#x9;&#x9;this.setLineStyle(org.eclipse.draw2d.Graphics.LINE_DASH);&#xA;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:FeatureLinkModelFacet">
        <metaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAnnotation/references"/>
      </modelFacet>
    </links>
    <links
        visualID="4002"
        editPartClassName="EReferenceEditPart"
        itemSemanticEditPolicyClassName="EReferenceItemSemanticEditPolicy"
        notationViewFactoryClassName="EReferenceViewFactory"
        createCommandClassName="EReferenceCreateCommand"
        reorientCommandClassName="EReferenceReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:MetamodelType"
          editHelperClassName="EReferenceEditHelper"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="SolidLineWDstArrow"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class SolidLineWDstArrow extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public SolidLineWDstArrow() {&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;setTargetDecoration(createTargetDecoration());&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RotatableDecoration createTargetDecoration() {&#xA;&#x9;&#x9;org.eclipse.draw2d.PolylineDecoration df = new org.eclipse.draw2d.PolylineDecoration();&#xA;org.eclipse.draw2d.geometry.PointList pl = new org.eclipse.draw2d.geometry.PointList();&#xA;pl.addPoint(getMapMode().DPtoLP(-1)&#xA;, getMapMode().DPtoLP(1)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(0)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(-1)&#xA;, getMapMode().DPtoLP(-1)&#xA;);&#xA;df.setTemplate(pl);&#xA;df.setScale(getMapMode().DPtoLP(7)&#xA;, getMapMode().DPtoLP(3)&#xA;);&#xA;&#x9;&#x9;return df;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.3">
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EReference"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eStructuralFeatures"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eStructuralFeatures"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.1/@expressions.1">
            <feature
                href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EReference/containment"/>
          </initializers>
        </modelElementInitializer>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ETypedElement/eType"/>
      </modelFacet>
      <labels
          visualID="6001"
          editPartClassName="EReferenceNameEditPart"
          itemSemanticEditPolicyClassName="EReferenceNameItemSemanticEditPolicy"
          notationViewFactoryClassName="EReferenceNameViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="40"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6003"
          editPartClassName="EReferenceLowerBoundUpperBoundEditPart"
          itemSemanticEditPolicyClassName="EReferenceLowerBoundUpperBoundItemSemanticEditPolicy"
          notationViewFactoryClassName="EReferenceLowerBoundUpperBoundViewFactory"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="60"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1"
            viewPattern="{0}..{1,choice,-1#*|-1&lt;{1}}"
            editPattern="{0}..{1}">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ETypedElement/lowerBound"/>
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ETypedElement/upperBound"/>
        </modelFacet>
      </labels>
      <creationConstraints
          targetEnd="//@expressionProviders/@providers.0/@expressions.4"/>
    </links>
    <links
        visualID="4003"
        editPartClassName="EReference2EditPart"
        itemSemanticEditPolicyClassName="EReference2ItemSemanticEditPolicy"
        notationViewFactoryClassName="EReference2ViewFactory"
        createCommandClassName="EReference2CreateCommand"
        reorientCommandClassName="EReference2ReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"
          metamodelType="//@diagram/@links.1/@elementType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="SolidLineWSrcDiamond"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class SolidLineWSrcDiamond extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public SolidLineWSrcDiamond() {&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;setSourceDecoration(createSourceDecoration());&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RotatableDecoration createSourceDecoration() {&#xA;&#x9;&#x9;org.eclipse.draw2d.PolygonDecoration df = new org.eclipse.draw2d.PolygonDecoration();&#xA;df.setFill(true);&#xA;org.eclipse.draw2d.geometry.PointList pl = new org.eclipse.draw2d.geometry.PointList();&#xA;pl.addPoint(getMapMode().DPtoLP(-1)&#xA;, getMapMode().DPtoLP(1)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(0)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(-1)&#xA;, getMapMode().DPtoLP(-1)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(-2)&#xA;, getMapMode().DPtoLP(0)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(-1)&#xA;, getMapMode().DPtoLP(1)&#xA;);&#xA;df.setTemplate(pl);&#xA;df.setScale(getMapMode().DPtoLP(7)&#xA;, getMapMode().DPtoLP(3)&#xA;);&#xA;&#x9;&#x9;return df;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:TypeLinkModelFacet"
          modelElementSelector="//@expressionProviders/@providers.0/@expressions.5">
        <metaClass
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EReference"/>
        <containmentMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eStructuralFeatures"/>
        <childMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eStructuralFeatures"/>
        <modelElementInitializer
            xsi:type="gmfgen:GenFeatureSeqInitializer">
          <initializers
              xsi:type="gmfgen:GenFeatureValueSpec"
              value="//@expressionProviders/@providers.1/@expressions.2">
            <feature
                href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EReference/containment"/>
          </initializers>
        </modelElementInitializer>
        <targetMetaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ETypedElement/eType"/>
      </modelFacet>
      <labels
          visualID="6002"
          editPartClassName="EReferenceName2EditPart"
          itemSemanticEditPolicyClassName="EReferenceName2ItemSemanticEditPolicy"
          notationViewFactoryClassName="EReferenceName2ViewFactory">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="40"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ENamedElement/name"/>
        </modelFacet>
      </labels>
      <labels
          visualID="6004"
          editPartClassName="EReferenceLowerBoundUpperBound2EditPart"
          itemSemanticEditPolicyClassName="EReferenceLowerBoundUpperBound2ItemSemanticEditPolicy"
          notationViewFactoryClassName="EReferenceLowerBoundUpperBound2ViewFactory"
          alignment="SOURCE">
        <diagramRunTimeClass
            href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
        <viewmap
            xsi:type="gmfgen:FigureViewmap"
            figureQualifiedClassName="org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel">
          <attributes
              xsi:type="gmfgen:LabelOffsetAttributes"
              y="60"/>
        </viewmap>
        <modelFacet
            xsi:type="gmfgen:FeatureLabelModelFacet"
            parser="//@labelParsers/@implementations.1"
            viewPattern="{0}..{1,choice,-1#*|-1&lt;{1}}"
            editPattern="{0}..{1}">
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ETypedElement/lowerBound"/>
          <metaFeatures
              href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/ETypedElement/upperBound"/>
        </modelFacet>
      </labels>
      <creationConstraints
          targetEnd="//@expressionProviders/@providers.0/@expressions.6"/>
    </links>
    <links
        visualID="4004"
        editPartClassName="EClassESuperTypesEditPart"
        itemSemanticEditPolicyClassName="EClassESuperTypesItemSemanticEditPolicy"
        notationViewFactoryClassName="EClassESuperTypesViewFactory"
        createCommandClassName="EClassESuperTypesCreateCommand"
        reorientCommandClassName="EClassESuperTypesReorientCommand">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Edge"/>
      <elementType
          xsi:type="gmfgen:SpecializationType"/>
      <viewmap
          xsi:type="gmfgen:InnerClassViewmap"
          className="SolidLineWDstClosedArrow"
          classBody="&#xA;/**&#xA; * @generated&#xA; */&#xA;public class SolidLineWDstClosedArrow extends org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx {&#xA;&#xA;&#xA;&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;public SolidLineWDstClosedArrow() {&#xA;&#x9;&#x9;&#xA;&#x9;&#x9;setTargetDecoration(createTargetDecoration());&#xA;&#x9;}&#xA;&#xA;&#x9;/**&#xA;&#x9; * @generated&#xA;&#x9; */&#xA;&#x9;private org.eclipse.draw2d.RotatableDecoration createTargetDecoration() {&#xA;&#x9;&#x9;org.eclipse.draw2d.PolygonDecoration df = new org.eclipse.draw2d.PolygonDecoration();&#xA;df.setFill(true);&#xA;&#x9;df.setBackgroundColor(org.eclipse.draw2d.ColorConstants.white);&#xA;org.eclipse.draw2d.geometry.PointList pl = new org.eclipse.draw2d.geometry.PointList();&#xA;pl.addPoint(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(0)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(-2)&#xA;, getMapMode().DPtoLP(2)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(-2)&#xA;, getMapMode().DPtoLP(-2)&#xA;);&#xA;pl.addPoint(getMapMode().DPtoLP(0)&#xA;, getMapMode().DPtoLP(0)&#xA;);&#xA;df.setTemplate(pl);&#xA;df.setScale(getMapMode().DPtoLP(7)&#xA;, getMapMode().DPtoLP(3)&#xA;);&#xA;&#x9;&#x9;return df;&#xA;&#x9;}&#xA;&#xA;&#xA;&#xA;&#xA;}&#xA;&#xA;"/>
      <modelFacet
          xsi:type="gmfgen:FeatureLinkModelFacet">
        <metaFeature
            href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EClass/eSuperTypes"/>
      </modelFacet>
      <creationConstraints
          targetEnd="//@expressionProviders/@providers.0/@expressions.7"/>
    </links>
    <compartments
        visualID="7001"
        editPartClassName="EClassAttributesEditPart"
        itemSemanticEditPolicyClassName="EClassAttributesItemSemanticEditPolicy"
        notationViewFactoryClassName="EClassAttributesViewFactory"
        canonicalEditPolicyClassName="EClassAttributesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.0"
        title="attributes"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.0">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7002"
        editPartClassName="EClassOperationsEditPart"
        itemSemanticEditPolicyClassName="EClassOperationsItemSemanticEditPolicy"
        notationViewFactoryClassName="EClassOperationsViewFactory"
        canonicalEditPolicyClassName="EClassOperationsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.1"
        title="operations"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.0">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7003"
        editPartClassName="EClassClassAnnotationsEditPart"
        itemSemanticEditPolicyClassName="EClassClassAnnotationsItemSemanticEditPolicy"
        notationViewFactoryClassName="EClassClassAnnotationsViewFactory"
        canonicalEditPolicyClassName="EClassClassAnnotationsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.2"
        title="classAnnotations"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.0">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7004"
        editPartClassName="EPackageClassesEditPart"
        itemSemanticEditPolicyClassName="EPackageClassesItemSemanticEditPolicy"
        notationViewFactoryClassName="EPackageClassesViewFactory"
        canonicalEditPolicyClassName="EPackageClassesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.3"
        title="classes"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7005"
        editPartClassName="EPackagePackagesEditPart"
        itemSemanticEditPolicyClassName="EPackagePackagesItemSemanticEditPolicy"
        notationViewFactoryClassName="EPackagePackagesViewFactory"
        canonicalEditPolicyClassName="EPackagePackagesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.4"
        title="packages"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7006"
        editPartClassName="EPackageDataTypesEditPart"
        itemSemanticEditPolicyClassName="EPackageDataTypesItemSemanticEditPolicy"
        notationViewFactoryClassName="EPackageDataTypesViewFactory"
        canonicalEditPolicyClassName="EPackageDataTypesCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.5"
        title="dataTypes"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7007"
        editPartClassName="EPackageEnumsEditPart"
        itemSemanticEditPolicyClassName="EPackageEnumsItemSemanticEditPolicy"
        notationViewFactoryClassName="EPackageEnumsViewFactory"
        canonicalEditPolicyClassName="EPackageEnumsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.6"
        title="enums"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7008"
        editPartClassName="EPackagePackageAnnotationsEditPart"
        itemSemanticEditPolicyClassName="EPackagePackageAnnotationsItemSemanticEditPolicy"
        notationViewFactoryClassName="EPackagePackageAnnotationsViewFactory"
        canonicalEditPolicyClassName="EPackagePackageAnnotationsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.2"
        title="packageAnnotations"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.1">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7009"
        editPartClassName="EAnnotationDetailsEditPart"
        itemSemanticEditPolicyClassName="EAnnotationDetailsItemSemanticEditPolicy"
        notationViewFactoryClassName="EAnnotationDetailsViewFactory"
        canonicalEditPolicyClassName="EAnnotationDetailsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.7"
        title="details"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.2">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7010"
        editPartClassName="EDataTypeDataTypeAnnotationsEditPart"
        itemSemanticEditPolicyClassName="EDataTypeDataTypeAnnotationsItemSemanticEditPolicy"
        notationViewFactoryClassName="EDataTypeDataTypeAnnotationsViewFactory"
        canonicalEditPolicyClassName="EDataTypeDataTypeAnnotationsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.2"
        title="dataTypeAnnotations"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.3">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7011"
        editPartClassName="EEnumLiteralsEditPart"
        itemSemanticEditPolicyClassName="EEnumLiteralsItemSemanticEditPolicy"
        notationViewFactoryClassName="EEnumLiteralsViewFactory"
        canonicalEditPolicyClassName="EEnumLiteralsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.8"
        title="literals"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.4">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <compartments
        visualID="7012"
        editPartClassName="EEnumEnumAnnotationsEditPart"
        itemSemanticEditPolicyClassName="EEnumEnumAnnotationsItemSemanticEditPolicy"
        notationViewFactoryClassName="EEnumEnumAnnotationsViewFactory"
        canonicalEditPolicyClassName="EEnumEnumAnnotationsCanonicalEditPolicy"
        childNodes="//@diagram/@childNodes.2"
        title="enumAnnotations"
        needsTitle="false"
        node="//@diagram/@topLevelNodes.4">
      <diagramRunTimeClass
          href="../../../plugin/org.eclipse.gmf.runtime.notation/model/notation.genmodel#//notation/Node"/>
      <viewmap
          xsi:type="gmfgen:FigureViewmap"
          figureQualifiedClassName="org.eclipse.draw2d.RectangleFigure"/>
    </compartments>
    <palette>
      <groups
          title="Nodes"
          description="Diagram Nodes">
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EClass"
            description="Create Class"
            genNodes="//@diagram/@topLevelNodes.0 //@diagram/@childNodes.3"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EPackage"
            description="Create Package"
            genNodes="//@diagram/@topLevelNodes.1 //@diagram/@childNodes.4"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EAnnotation"
            description="Create Annotation"
            genNodes="//@diagram/@childNodes.2 //@diagram/@topLevelNodes.2"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EDataType"
            description="Create DataType"
            genNodes="//@diagram/@childNodes.5 //@diagram/@topLevelNodes.3"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EEnum"
            description="Create Enumeration"
            genNodes="//@diagram/@childNodes.6 //@diagram/@topLevelNodes.4"/>
      </groups>
      <groups
          title="Child Nodes"
          description="Child Nodes">
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EAttribute"
            description="Create Attribute"
            genNodes="//@diagram/@childNodes.0"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EOperation"
            description="Create Operation"
            genNodes="//@diagram/@childNodes.1"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Annotation details"
            description="Create Annotation details"
            genNodes="//@diagram/@childNodes.7"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EEnumLiteral"
            description="Create Enumeration literal"
            genNodes="//@diagram/@childNodes.8"/>
      </groups>
      <groups
          title="Links"
          description="Links">
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="EAnnotation reference"
            description="Create Annotation reference link"
            genLinks="//@diagram/@links.0"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Association"
            description="Create Association link"
            genLinks="//@diagram/@links.1"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Aggregation"
            description="Create Aggregation link"
            genLinks="//@diagram/@links.2"/>
        <entries
            xsi:type="gmfgen:ToolEntry"
            title="Generalization"
            description="Create Generalization link"
            genLinks="//@diagram/@links.3"/>
      </groups>
    </palette>
    <preferencePages
        xsi:type="gmfgen:GenStandardPreferencePage"
        iD="org.eclipse.emf.ecore.diagram.general"
        name="Ecore Diagram">
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.emf.ecore.diagram.appearance"
          name="Appearance"
          kind="Appearance"/>
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.emf.ecore.diagram.connections"
          name="Connections"
          kind="Connections"/>
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.emf.ecore.diagram.printing"
          name="Printing"
          kind="Printing"/>
      <children
          xsi:type="gmfgen:GenStandardPreferencePage"
          iD="org.eclipse.emf.ecore.diagram.rulersAndGrid"
          name="Rulers And Grid"
          kind="RulersAndGrid"/>
    </preferencePages>
  </diagram>
  <plugin
      iD="org.eclipse.gmf.ecore.editor"
      name="ECore Sample Diagram Plugin"
      provider="Eclipse.org"
      version="2.2.0.qualifier"
      printingEnabled="true">
    <requiredPlugins>org.eclipse.draw2d</requiredPlugins>
    <requiredPlugins>org.eclipse.gmf.runtime.draw2d.ui</requiredPlugins>
  </plugin>
  <editor/>
  <navigator>
    <childReferences
        child="//@diagram"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@childNodes.0"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@childNodes.1"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@childNodes.2"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.0"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.3"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.4"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.5"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.6"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@childNodes.2"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.1"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@childNodes.7"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.2"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@childNodes.2"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.3"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@childNodes.8"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@childNodes.2"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@topLevelNodes.4"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.0"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@topLevelNodes.1"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.1"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@topLevelNodes.2"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.0"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.0"
        child="//@diagram/@topLevelNodes.2"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.2"
        child="//@diagram/@links.0"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.1"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.1"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.1"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.1"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.2"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.2"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.3"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.3"
        child="//@diagram/@links.2"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.4"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.4"
        child="//@diagram/@links.2"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.2"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.2"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram"
        child="//@diagram/@links.3"
        groupName="links"
        groupIcon="icons/linksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.0"
        referenceType="out_target"
        groupName="target"
        groupIcon="icons/linkTargetNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.3"
        referenceType="in_source"
        groupName="incoming links"
        groupIcon="icons/incomingLinksNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@links.3"
        child="//@diagram/@topLevelNodes.0"
        referenceType="in_source"
        groupName="source"
        groupIcon="icons/linkSourceNavigatorGroup.gif"/>
    <childReferences
        parent="//@diagram/@topLevelNodes.0"
        child="//@diagram/@links.3"
        referenceType="out_target"
        groupName="outgoing links"
        groupIcon="icons/outgoingLinksNavigatorGroup.gif"/>
  </navigator>
  <diagramUpdater/>
  <propertySheet>
    <tabs
        xsi:type="gmfgen:GenStandardPropertyTab"
        iD="appearance"/>
    <tabs
        xsi:type="gmfgen:GenStandardPropertyTab"
        iD="diagram"/>
    <tabs
        xsi:type="gmfgen:GenCustomPropertyTab"
        iD="domain"
        label="Core">
      <filter
          xsi:type="gmfgen:TypeTabFilter">
        <types>org.eclipse.gmf.runtime.notation.View</types>
        <types>org.eclipse.gef.EditPart</types>
        <generatedTypes>abstractNavigatorItem</generatedTypes>
      </filter>
    </tabs>
  </propertySheet>
  <domainGenModel
      href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#/"/>
  <expressionProviders>
    <providers
        xsi:type="gmfgen:GenExpressionInterpreter">
      <expressions
          body="self.name.concat(' : ').concat(if self.eType.name.oclIsUndefined() then 'none' else self.eType.name endif)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not oclIsKindOf(ecore::EEnum)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not oclIsKindOf(ecore::EEnum)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="not containment and not container"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.oclIsKindOf(ecore::EClass)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="containment"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self.oclIsKindOf(ecore::EClass)"/>
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="self &lt;> oppositeEnd and not oppositeEnd.eSuperTypes->includes(self) and not self.eAllSuperTypes->includes(oppositeEnd)"/>
    </providers>
    <providers
        xsi:type="gmfgen:GenLiteralExpressionProvider">
      <expressions
          body="&quot;&lt;enter new value>&quot;"/>
      <expressions
          body="false"/>
      <expressions
          body="true"/>
    </providers>
    <providers
        xsi:type="gmfgen:GenJavaExpressionProvider"
        injectExpressionBody="true">
      <expressions
          xsi:type="gmfgen:GenConstraint"
          body="return self.length() > 0;"/>
    </providers>
  </expressionProviders>
  <labelParsers
      extensibleViaService="true">
    <implementations
        xsi:type="gmfgen:ExpressionLabelParser"
        uses="//@diagram/@childNodes.0/@labelModelFacet"
        viewExpression="//@expressionProviders/@providers.0/@expressions.0"
        editExpression="//@expressionProviders/@providers.1/@expressions.0"
        validateExpression="//@expressionProviders/@providers.2/@expressions.0">
      <expressionContext
          href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EAttribute"/>
    </implementations>
    <implementations
        xsi:type="gmfgen:PredefinedParser"
        uses="//@diagram/@childNodes.1/@labelModelFacet //@diagram/@childNodes.2/@labelModelFacet //@diagram/@topLevelNodes.0/@labels.0/@modelFacet //@diagram/@childNodes.3/@labelModelFacet //@diagram/@childNodes.4/@labelModelFacet //@diagram/@childNodes.5/@labelModelFacet //@diagram/@childNodes.6/@labelModelFacet //@diagram/@topLevelNodes.1/@labels.0/@modelFacet //@diagram/@childNodes.7/@labelModelFacet //@diagram/@topLevelNodes.2/@labels.0/@modelFacet //@diagram/@topLevelNodes.3/@labels.0/@modelFacet //@diagram/@childNodes.8/@labelModelFacet //@diagram/@topLevelNodes.4/@labels.0/@modelFacet //@diagram/@links.1/@labels.0/@modelFacet //@diagram/@links.1/@labels.1/@modelFacet //@diagram/@links.2/@labels.0/@modelFacet //@diagram/@links.2/@labels.1/@modelFacet"/>
  </labelParsers>
  <contextMenus
      context="//@diagram">
    <items
        xsi:type="gmfgen:LoadResourceAction"/>
    <items
        xsi:type="gmfgen:CreateShortcutAction"/>
  </contextMenus>
</gmfgen:GenEditorGenerator>
