pivot
Boolean
boolean
boolean
Integer
java.lang.Number
java.lang.Number
LibraryFeature
org.eclipse.ocl.examples.domain.library.LibraryFeature
org.eclipse.ocl.examples.domain.library.LibraryFeature
Object
java.lang.Object
java.lang.Object
Real
java.lang.Number
java.lang.Number
String
java.lang.String
java.lang.String
Throwable
java.lang.Throwable
java.lang.Throwable
UnlimitedNatural
java.lang.Number
java.lang.Number
AssociativityKind
Left
Left
Right
Right
CollectionKind
Collection
Collection
Set
Set
OrderedSet
OrderedSet
Bag
Bag
Sequence
Sequence
PseudostateKind
initial
initial
deepHistory
deepHistory
shallowHistory
shallowHistory
join
join
fork
fork
junction
junction
choice
choice
entryPoint
entryPoint
exitPoint
exitPoint
terminate
terminate
TransitionKind
internal
internal
local
local
external
external
Annotation
ownedContent
ownedDetail
reference
AnyType
AssociationClass
unownedAttribute
AssociationClassCallExp
referredAssociationClass
BagType
Behavior
BooleanLiteralExp
TypeIsBoolean
diagnostics
context
booleanSymbol
CallExp
source
implicit
false
CallOperationAction
operation
Class
ownedOperation
superClass
instanceClassName
ownedAttribute
isAbstract
false
ownedBehavior
isInterface
false
CollectionItem
TypeIsItemType
diagnostics
context
item
CollectionLiteralExp
CollectionKindIsConcrete
diagnostics
context
SetKindIsSet
diagnostics
context
OrderedSetKindIsOrderedSet
diagnostics
context
SequenceKindIsSequence
diagnostics
context
BagKindIsBag
diagnostics
context
kind
part
CollectionLiteralPart
CollectionRange
first
last
CollectionType
elementType
lower
0
upper
*
Comment
body
annotatedElement
ConnectionPointReference
entry
state
exit
Constraint
UniqueName
diagnostics
context
constrainedElement
specification
context
isCallable
false
ConstructorExp
part
value
ConstructorPart
referredProperty
initExpression
DataType
isSerializable
true
behavioralType
Detail
value
DynamicElement
metaType
DynamicProperty
referredProperty
default
DynamicType
metaType
ownedProperty
Element
allOwnedElements
getValue
stereotype
propertyName
ownedComment
extension
ElementExtension
stereotype
base
EnumLiteralExp
TypeIsEnumerationType
diagnostics
context
referredEnumLiteral
Enumeration
ownedLiteral
EnumerationLiteral
enumeration
value
0
ExpressionInOCL
bodyExpression
contextVariable
resultVariable
parameterVariable
messageExpression
Feature
isStatic
implementationClass
implementation
FeatureCallExp
isPre
false
FinalState
IfExp
ConditionTypeIsBoolean
diagnostics
context
condition
thenExpression
elseExpression
Import
importedNamespace
IntegerLiteralExp
TypeIsInteger
diagnostics
context
integerSymbol
InvalidLiteralExp
InvalidType
IterateExp
OneInitializer
diagnostics
context
BodyTypeConformsToResultType
diagnostics
context
TypeIsResultType
diagnostics
context
result
Iteration
ownedIterator
ownedAccumulator
IteratorExp
ExistsBodyTypeIsBoolean
diagnostics
context
CollectNestedHasOneIterator
diagnostics
context
ClosureSourceElementTypeIsBodyElementType
diagnostics
context
ExistsTypeIsBoolean
diagnostics
context
CollectTypeIsUnordered
diagnostics
context
ClosureTypeIsUniqueCollection
diagnostics
context
RejectOrSelectTypeIsSourceType
diagnostics
context
SortedByIsOrderedIfSourceIsOrdered
diagnostics
context
AnyTypeIsSourceElementType
diagnostics
context
SortedByHasOneIterator
diagnostics
context
IteratorTypeIsSourceElementType
diagnostics
context
OneBodyTypeIsBoolean
diagnostics
context
CollectNestedTypeIsBag
diagnostics
context
AnyHasOneIterator
diagnostics
context
AnyBodyTypeIsBoolean
diagnostics
context
RejectOrSelectTypeIsBoolean
diagnostics
context
OneHasOneIterator
diagnostics
context
OneTypeIsBoolean
diagnostics
context
SortedByElementTypeIsSourceElementType
diagnostics
context
ForAllTypeIsBoolean
diagnostics
context
CollectHasOneIterator
diagnostics
context
ClosureElementTypeIsSourceElementType
diagnostics
context
CollectElementTypeIsSourceElementType
diagnostics
context
ClosureHasOneIterator
diagnostics
context
ClosureBodyTypeIsConformanttoIteratorType
diagnostics
context
SortedByIteratorTypeIsComparable
diagnostics
context
CollectNestedTypeIsBodyType
diagnostics
context
IsUniqueHasOneIterator
diagnostics
context
RejectOrSelectHasOneIterator
diagnostics
context
ForAllBodyTypeIsBoolean
diagnostics
context
IsUniqueTypeIsBoolean
diagnostics
context
LambdaType
contextType
parameterType
resultType
LetExp
TypeIsInType
diagnostics
context
in
variable
Library
ownedPrecedence
LiteralExp
LoopExp
SourceIsCollection
diagnostics
context
NoInitializers
diagnostics
context
body
iterator
referredIteration
MessageExp
OneCallOrOneSend
diagnostics
context
TargetIsNotACollection
diagnostics
context
target
argument
calledOperation
sentSignal
MessageType
referredSignal
referredOperation
Metaclass
instanceType
MorePivotable
org.eclipse.ocl.examples.pivot.util.MorePivotable
org.eclipse.ocl.examples.pivot.util.MorePivotable
Nameable
org.eclipse.ocl.examples.domain.elements.Nameable
org.eclipse.ocl.examples.domain.elements.Nameable
NamedElement
name
isStatic
ownedAnnotation
Namespace
ownedRule
NavigationCallExp
qualifier
navigationSource
NullLiteralExp
NumericLiteralExp
OCLExpression
OpaqueExpression
body
language
message
Operation
templateParameter
CompatibleReturn
diagnostics
context
LoadableImplementation
diagnostics
context
UniquePreconditionName
diagnostics
context
UniquePostconditionName
diagnostics
context
raisedException
ownedParameter
owningType
precondition
postcondition
bodyExpression
isInvalidating
false
isValidating
false
precedence
redefinedOperation
class
OperationCallExp
ArgumentCount
diagnostics
context
ArgumentTypeIsConformant
diagnostics
context
argument
referredOperation
OperationTemplateParameter
parameteredElement
OrderedSetType
Package
nestedPackage
nestingPackage
nsPrefix
nsURI
importedPackage
ownedType
PackageableElement
Parameter
operation
ParameterableElement
isTemplateParameter
isCompatibleWith
p
owningTemplateParameter
templateParameter
Pivotable
org.eclipse.ocl.examples.pivot.util.Pivotable
org.eclipse.ocl.examples.pivot.util.Pivotable
Precedence
associativity
Left
order
0
PrimitiveLiteralExp
PrimitiveType
Profile
Property
isAttribute
p
CompatibleDefaultExpression
diagnostics
context
isReadOnly
false
default
isComposite
false
isDerived
false
class
opposite
association
implicit
false
defaultExpression
isID
false
keys
isResolveProxies
true
isTransient
false
isUnsettable
false
isVolatile
false
redefinedProperty
subsettedProperty
referredProperty
owningType
PropertyCallExp
getSpecializedReferredPropertyOwningType
getSpecializedReferredPropertyType
NonStaticSourceTypeIsConformant
diagnostics
context
CompatibleResultType
diagnostics
context
referredProperty
Pseudostate
kind
initial
stateMachine
state
RealLiteralExp
realSymbol
ReferringElement
getReferredElement
Region
transition
stateMachine
state
extendedRegion
subvertex
Root
nestedPackage
externalURI
imports
SelfType
specializeIn
expr
selfType
SendSignalAction
signal
SequenceType
SetType
Signal
State
isComposite
false
isOrthogonal
false
isSimple
true
isSubmachineState
false
submachine
connection
redefinedState
region
stateInvariant
entry
exit
doActivity
connectionPoint
deferrableTrigger
StateExp
referredState
StateMachine
region
connectionPoint
submachineState
extendedStateMachine
Stereotype
StringLiteralExp
stringSymbol
TemplateBinding
signature
parameterSubstitution
boundElement
TemplateParameter
signature
parameteredElement
ownedParameteredElement
default
ownedDefault
TemplateParameterSubstitution
formal
actual
ownedActual
templateBinding
TemplateParameterType
specification
TemplateSignature
parameter
ownedParameter
template
TemplateableElement
parameterableElements
isTemplate
templateBinding
ownedTemplateSignature
unspecializedElement
Transition
kind
external
source
target
guard
effect
trigger
container
Trigger
TupleLiteralExp
part
TupleLiteralPart
initExpression
TupleType
Type
isTemplate
templateParameter
specializeIn
expr
selfType
UniqueInvariantName
diagnostics
context
package
ownedAttribute
ownedOperation
superClass
ownedInvariant
instanceClassName
TypeExp
referredType
TypeTemplateParameter
parameteredElement
allowSubstitutable
true
constrainingType
TypedElement
type
isRequired
true
TypedMultiplicityElement
CompatibleBody
bodySpecification
makeParameter
UnlimitedNaturalLiteralExp
unlimitedNaturalSymbol
UnspecifiedType
lowerBound
upperBound
UnspecifiedValueExp
ValueSpecification
isComputable
integerValue
booleanValue
stringValue
unlimitedValue
isNull
Variable
initExpression
representedParameter
implicit
false
VariableDeclaration
VariableExp
referredVariable
implicit
false
Vertex
container
outgoing
incoming
Visitable
org.eclipse.ocl.examples.pivot.util.Visitable
org.eclipse.ocl.examples.pivot.util.Visitable
Visitor
org.eclipse.ocl.examples.pivot.util.Visitor
org.eclipse.ocl.examples.pivot.util.Visitor
R
VoidType
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
    name="pivot" nsURI="http://www.eclipse.org/ocl/3.1.0/Pivot" nsPrefix="pivot">
  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
    <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EDataType" name="Boolean" instanceClassName="boolean">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A Boolean type is used for logical expression, consisting of the predefined values true and false."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="Integer" instanceClassName="java.lang.Number">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An integer is a primitive type representing integer values."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="LibraryFeature" instanceClassName="org.eclipse.ocl.examples.domain.library.LibraryFeature"/>
  <eClassifiers xsi:type="ecore:EDataType" name="Object" instanceClassName="java.lang.Object"/>
  <eClassifiers xsi:type="ecore:EDataType" name="Real" instanceClassName="java.lang.Number"/>
  <eClassifiers xsi:type="ecore:EDataType" name="String" instanceClassName="java.lang.String">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A string is a sequence of characters in some suitable character set used to display information about the model. Character sets may include non-Roman alphabets and characters."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EDataType" name="Throwable" instanceClassName="java.lang.Throwable"/>
  <eClassifiers xsi:type="ecore:EDataType" name="UnlimitedNatural" instanceClassName="java.lang.Number">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An unlimited natural is a primitive type representing unlimited natural values."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="AssociativityKind">
    <eLiterals name="Left"/>
    <eLiterals name="Right" value="1"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="CollectionKind">
    <eLiterals name="Collection"/>
    <eLiterals name="Set" value="1"/>
    <eLiterals name="OrderedSet" value="2"/>
    <eLiterals name="Bag" value="3"/>
    <eLiterals name="Sequence" value="4"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="PseudostateKind is an enumeration type."/>
    </eAnnotations>
    <eLiterals name="initial">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="deepHistory" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="shallowHistory" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="join" value="3">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="fork" value="4">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices&#xD;&#xA;(i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="junction" value="5">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted 'else' may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below)."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="choice" value="6">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above)."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="entryPoint" value="7">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="exitPoint" value="8">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="terminate" value="9">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" name="TransitionKind">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="TransitionKind is an enumeration type."/>
    </eAnnotations>
    <eLiterals name="internal">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the transition, if triggered, occurs without exiting or entering the source state. Thus, it does not cause a state change. This means that the entry or exit condition of the source state will not be invoked. An internal transition can be taken even if the state machine is in one or more regions nested within this state."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="local" value="1">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the transition, if triggered, will not exit the composite (source) state, but it will apply to any state within the composite state, and these will be exited and entered."/>
      </eAnnotations>
    </eLiterals>
    <eLiterals name="external" value="2">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Implies that the transition, if triggered, will exit the composite (source) state."/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedContent" upperBound="-1" eType="#//Element" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDetail" upperBound="-1" eType="#//Detail" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" upperBound="-1" eType="#//Element"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AnyType" eSuperTypes="#//Class"/>
  <eClassifiers xsi:type="ecore:EClass" name="AssociationClass" eSuperTypes="#//Class">
    <eStructuralFeatures xsi:type="ecore:EReference" name="unownedAttribute" ordered="false" upperBound="-1" eType="#//Property" eOpposite="#//Property/association"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AssociationClassCallExp" eSuperTypes="#//NavigationCallExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredAssociationClass" eType="#//AssociationClass"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BagType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="Behavior" abstract="true" eSuperTypes="#//Class"/>
  <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExp" eSuperTypes="#//PrimitiveLiteralExp">
    <eOperations name="TypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanSymbol" lowerBound="1" eType="#//Boolean" unsettable="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallExp" abstract="true" eSuperTypes="#//OCLExpression">
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implicit" eType="#//Boolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CallOperationAction" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1" eType="#//Operation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Type #//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A class is a type that has objects as its instances."/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1" eType="#//Operation" containment="true" eOpposite="#//Operation/class">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The operations owned by a class. These do not include the inherited operations."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Type/ownedOperation"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="superClass" upperBound="-1" eType="#//Class">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The immediate superclasses of a class, from which the class inherits."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Type/superClass"/>
      </contents>
      <contents xsi:type="ecore:EAttribute" name="instanceClassName" eType="#//String">
        <eAnnotations source="redefines" references="#//Type/instanceClassName"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1" eType="#//Property" containment="true" eOpposite="#//Property/class">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The attributes owned by a class. These do not include the inherited attributes. Attributes are represented by instances of Property."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//Type/ownedAttribute"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="True when a class is abstract."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehavior" ordered="false" upperBound="-1" eType="#//Behavior" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInterface" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionItem" eSuperTypes="#//CollectionLiteralPart">
    <eOperations name="TypeIsItemType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = item.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="item" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralExp" eSuperTypes="#//LiteralExp">
    <eOperations name="CollectionKindIsConcrete" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind &lt;> CollectionKind::Collection&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="SetKindIsSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::Set implies type.oclIsKindOf (SetType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="OrderedSetKindIsOrderedSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::OrderedSet implies type.oclIsKindOf (OrderedSetType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="SequenceKindIsSequence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::Sequence implies type.oclIsKindOf (SequenceType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="BagKindIsBag" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="kind = CollectionKind::Bag implies type.oclIsKindOf (BagType)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//CollectionKind"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="part" upperBound="-1" eType="#//CollectionLiteralPart" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralPart" abstract="true" eSuperTypes="#//TypedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionRange" eSuperTypes="#//CollectionLiteralPart">
    <eStructuralFeatures xsi:type="ecore:EReference" name="first" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="last" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="CollectionType" eSuperTypes="#//DataType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="elementType" lowerBound="1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" lowerBound="1" eType="#//Integer" defaultValueLiteral="0"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" lowerBound="1" eType="#//UnlimitedNatural" defaultValueLiteral="*"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A comment is a textual annotation that can be attached to a set of elements."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies a string that is the comment."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" ordered="false" upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the Element(s) being commented."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReference" eSuperTypes="#//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A connection point reference represents a usage (as part of a submachine state) of an entry/exit point defined in the statemachine reference by the submachine state."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false" upperBound="-1" eType="#//Pseudostate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entryPoint kind pseudo states corresponding to this connection point."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State in which the connection point refreshens are defined."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" upperBound="-1" eType="#//Pseudostate">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The exitPoints kind pseudo states corresponding to this connection point."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element."/>
    </eAnnotations>
    <eOperations name="UniqueName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="true "/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of Elements referenced by this Constraint."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" lowerBound="1" eType="#//OpaqueExpression" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A condition that must be true when evaluated in order for the constraint to be satisfied."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="context" eType="#//Namespace" volatile="true" transient="true" derived="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCallable" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConstructorExp" eSuperTypes="#//OCLExpression">
    <eStructuralFeatures xsi:type="ecore:EReference" name="part" upperBound="-1" eType="#//ConstructorPart" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ConstructorPart" eSuperTypes="#//TypedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" lowerBound="1" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DataType" eSuperTypes="#//Class">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="DataType is an abstract class that acts as a common superclass for different kinds of data types."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSerializable" lowerBound="1" eType="#//Boolean" defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="behavioralType" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Detail" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" lowerBound="1" upperBound="-1" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicElement" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="metaType" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicProperty" eSuperTypes="#//Element">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" lowerBound="1" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DynamicType" eSuperTypes="#//Type #//DynamicElement">
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="metaType" lowerBound="1" eType="#//Type">
        <eAnnotations source="redefines" references="#//DynamicElement/metaType"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedProperty" ordered="false" upperBound="-1" eType="#//DynamicProperty" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="#//Visitable">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An element is a constituent of a model."/>
    </eAnnotations>
    <eOperations name="allOwnedElements" ordered="false" upperBound="-1" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;--self->closure(oclContents())&#xA;oclContents()&#xA;&#xA;"/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getValue" eType="#//Element">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="null&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="stereotype" lowerBound="1" eType="#//Type"/>
      <eParameters name="propertyName" lowerBound="1" eType="#//String"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedComment" ordered="false" upperBound="-1" eType="#//Comment" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Comments owned by this element."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extension" ordered="false" upperBound="-1" eType="#//ElementExtension" containment="true"
        eOpposite="#//ElementExtension/base"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ElementExtension" eSuperTypes="#//Type">
    <eStructuralFeatures xsi:type="ecore:EReference" name="stereotype" lowerBound="1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="base" lowerBound="1" eType="#//Element" eOpposite="#//Element/extension"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumLiteralExp" eSuperTypes="#//LiteralExp">
    <eOperations name="TypeIsEnumerationType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.type = referredEnumLiteral.enumeration&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredEnumLiteral" eType="#//EnumerationLiteral"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//DataType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An enumeration defines a set of literals that can be used as its values."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLiteral" upperBound="-1" eType="#//EnumerationLiteral" containment="true"
        eOpposite="#//EnumerationLiteral/enumeration">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of literals for this Enumeration."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An enumeration literal is a value of an enumeration."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" eType="#//Enumeration" eOpposite="#//Enumeration/ownedLiteral">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The Enumeration that this EnumerationLiteral is a member of."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//Integer" defaultValueLiteral="0"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExpressionInOCL" eSuperTypes="#//OpaqueExpression">
    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyExpression" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="contextVariable" eType="#//Variable" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="resultVariable" eType="#//Variable" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterVariable" upperBound="-1" eType="#//Variable" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="messageExpression" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//TypedMultiplicityElement">
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EAttribute" name="isStatic" lowerBound="1" eType="#//Boolean">
        <eAnnotations source="redefines" references="#//NamedElement/isStatic"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementationClass" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" eType="#//LibraryFeature" transient="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FeatureCallExp" abstract="true" eSuperTypes="#//CallExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPre" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A special kind of state signifying that the enclosing region is completed. If the enclosing region is directly contained in a state machine and all other regions in the state machine also are completed, then it means that the entire state machine is completed."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IfExp" eSuperTypes="#//OCLExpression">
    <eOperations name="ConditionTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.condition.type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="thenExpression" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="elseExpression" lowerBound="1" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Import" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedNamespace" lowerBound="1" eType="#//Namespace"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralExp" eSuperTypes="#//NumericLiteralExp">
    <eOperations name="TypeIsInteger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.type = Integer&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="integerSymbol" lowerBound="1" eType="#//Integer"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="InvalidLiteralExp" eSuperTypes="#//LiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="InvalidType" eSuperTypes="#//Class"/>
  <eClassifiers xsi:type="ecore:EClass" name="IterateExp" eSuperTypes="#//LoopExp #//ReferringElement">
    <eOperations name="OneInitializer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.result.initExpression->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="BodyTypeConformsToResultType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="_'body'.type.conformsTo(result.type)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="TypeIsResultType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = result.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="result" eType="#//Variable" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Iteration" eSuperTypes="#//Operation">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedIterator" upperBound="-1" eType="#//Parameter" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAccumulator" upperBound="-1" eType="#//Parameter" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="IteratorExp" eSuperTypes="#//LoopExp #//ReferringElement">
    <eOperations name="ExistsBodyTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'exists' implies _'body'.type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="CollectNestedHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collectNested' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ClosureSourceElementTypeIsBodyElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies&#xA;source.type.oclAsType(CollectionType).elementType =&#xA;if _'body'.type.oclIsKindOf(CollectionType)&#xA;then _'body'.type.oclAsType(CollectionType).elementType&#xA;else _'body'.type&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ExistsTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'exists' implies type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="CollectTypeIsUnordered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collect' implies&#xA;if source.type.oclIsKindOf(SequenceType) or source.type.oclIsKindOf(OrderedSetType) then&#xA;type.oclIsKindOf(SequenceType)&#xA;else&#xA;type.oclIsKindOf(BagType)&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ClosureTypeIsUniqueCollection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies&#xA;if source.type.oclIsKindOf(SequenceType) or source.type.oclIsKindOf(OrderedSetType) then&#xA;type.oclIsKindOf(OrderedSetType)&#xA;else&#xA;type.oclIsKindOf(SetType)&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="RejectOrSelectTypeIsSourceType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'reject' or name = 'select' implies type = source.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="SortedByIsOrderedIfSourceIsOrdered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'sortedBy' implies&#xA;if source.type.oclIsKindOf(SequenceType) or source.type.oclIsKindOf(BagType) then&#xA;type.oclIsKindOf(SequenceType)&#xA;else&#xA;type.oclIsKindOf(OrderedSetType)&#xA;endif&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="AnyTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'any' implies type = source.type.oclAsType(CollectionType).elementType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="SortedByHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'sortedBy' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="IteratorTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.iterator->forAll(source.type.oclAsType (CollectionType).elementType.conformsTo(type))&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="OneBodyTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'one' implies _'body'.type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="CollectNestedTypeIsBag" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collectNested' implies type.oclIsKindOf(BagType)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="AnyHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'any' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="AnyBodyTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'any' implies _'body'.type = 'Boolean'&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="RejectOrSelectTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'reject' or name = 'select' implies type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="OneHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'one' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="OneTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'one' implies type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="SortedByElementTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'sortedBy' implies&#xA;type.oclAsType(CollectionType).elementType =&#xA;_'body'.type.oclAsType(CollectionType).elementType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ForAllTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'forAll' implies type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="CollectHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collect' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ClosureElementTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies&#xA;type.oclAsType(CollectionType).elementType&#xA;= source.type.oclAsType(CollectionType).elementType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="CollectElementTypeIsSourceElementType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collect' implies&#xA;type.oclAsType(CollectionType).elementType =&#xA;_'body'.type.oclAsType(CollectionType).elementType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ClosureHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'closure' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ClosureBodyTypeIsConformanttoIteratorType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;true&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="SortedByIteratorTypeIsComparable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;true&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="CollectNestedTypeIsBodyType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'collectNested' implies type = _'body'.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="IsUniqueHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'isUnique' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="RejectOrSelectHasOneIterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'reject' or name = 'select' implies iterator->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ForAllBodyTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'forAll' implies _'body'.type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="IsUniqueTypeIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="name = 'isUnique' implies type = Boolean&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LambdaType" eSuperTypes="#//DataType">
    <eStructuralFeatures xsi:type="ecore:EReference" name="contextType" lowerBound="1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" unique="false" upperBound="-1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="resultType" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LetExp" eSuperTypes="#//OCLExpression">
    <eOperations name="TypeIsInType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = _'in'.type&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="in" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="variable" lowerBound="1" eType="#//Variable" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Package">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPrecedence" upperBound="-1" eType="#//Precedence" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="LiteralExp" abstract="true" eSuperTypes="#//OCLExpression"/>
  <eClassifiers xsi:type="ecore:EClass" name="LoopExp" abstract="true" eSuperTypes="#//CallExp">
    <eOperations name="SourceIsCollection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="source.type.oclIsKindOf (CollectionType)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="NoInitializers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self.iterator->forAll(initExpression->isEmpty())&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="iterator" upperBound="-1" eType="#//Variable" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredIteration" eType="#//Iteration"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageExp" eSuperTypes="#//OCLExpression">
    <eOperations name="OneCallOrOneSend" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="calledOperation->size() + sentSignal->size() = 1&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="TargetIsNotACollection" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="not target.type.oclIsKindOf (CollectionType)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="calledOperation" eType="#//CallOperationAction" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="sentSignal" eType="#//SendSignalAction" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MessageType" eSuperTypes="#//Type">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredSignal" eType="#//Signal"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredOperation" eType="#//Operation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Metaclass" eSuperTypes="#//Class">
    <eStructuralFeatures xsi:type="ecore:EReference" name="instanceType" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MorePivotable" instanceClassName="org.eclipse.ocl.examples.pivot.util.MorePivotable" abstract="true"
      interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="Nameable" instanceClassName="org.eclipse.ocl.examples.domain.elements.Nameable" abstract="true"
      interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element #//Nameable">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A named element represents an element with a name."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The name of the NamedElement."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" lowerBound="1" eType="#//Boolean"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAnnotation" upperBound="-1" eType="#//Annotation" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRule" upperBound="-1" eType="#//Constraint" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NavigationCallExp" abstract="true" eSuperTypes="#//FeatureCallExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" upperBound="-1" eType="#//OCLExpression"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="navigationSource" eType="#//Property"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="NullLiteralExp" eSuperTypes="#//PrimitiveLiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="NumericLiteralExp" abstract="true" eSuperTypes="#//PrimitiveLiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="OCLExpression" abstract="true" eSuperTypes="#//TypedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="OpaqueExpression" eSuperTypes="#//ValueSpecification">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An opaque expression is an uninterpreted textual statement that denotes a (possibly empty) set of values when evaluated in a context."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" unique="false" upperBound="-1" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The text of the expression, possibly in multiple languages."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" upperBound="-1" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the languages in which the expression is stated. The interpretation of the expression body depends on the languages. If the languages are unspecified, they might be implicit from the expression body or the context. Languages are matched to body strings by order."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" unique="false" upperBound="-1" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//Feature #//Namespace #//TemplateableElement #//ParameterableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An operation is owned by a class and may be invoked in the context of objects that are instances of that class. It is a typed element and a multiplicity element.&#xD;&#xA;Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template."/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="templateParameter" eType="#//TemplateParameter" eOpposite="#//OperationTemplateParameter/%duplicates%/parameteredElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The template parameter that exposes this element as a formal parameter."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
      </contents>
    </eAnnotations>
    <eOperations name="CompatibleReturn" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="bodyExpression &lt;> null and bodyExpression.oclIsKindOf(ExpressionInOCL) implies CompatibleBody(bodyExpression)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="LoadableImplementation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;true&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="UniquePreconditionName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="precondition->isUnique(name)&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="UniquePostconditionName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="postcondition->isUnique(name)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="raisedException" ordered="false" upperBound="-1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The exceptions that are declared as possible during an invocation of the operation."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1" eType="#//Parameter" containment="true" eOpposite="#//Parameter/operation">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The parameters to the operation."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningType" eType="#//Type" eOpposite="#//Type/ownedOperation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="precondition" ordered="false" upperBound="-1" eType="#//Constraint" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="postcondition" ordered="false" upperBound="-1" eType="#//Constraint" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyExpression" eType="#//OpaqueExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInvalidating" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isValidating" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="precedence" eType="#//Precedence"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperation" ordered="false" upperBound="-1" eType="#//Operation"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="class" eType="#//Class" changeable="false" volatile="true" transient="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The class that owns the operation."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OperationCallExp" eSuperTypes="#//FeatureCallExp #//ReferringElement">
    <eOperations name="ArgumentCount" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="argument->size() = referredOperation.ownedParameter->size()&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="ArgumentTypeIsConformant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;let operation : Operation = self.referredOperation in&#xA;&#x9;let parameters : OrderedSet(Parameter) = operation.ownedParameter in&#xA;&#x9;let selfType : Type = operation.owningType in&#xA;&#x9;Sequence{1..argument->size()}->forAll (i | &#xA;&#x9;&#x9;let argument : OCLExpression = argument->at(i) in&#xA;&#x9;&#x9;let parameter : Parameter = parameters->at(i) in&#xA;&#x9;&#x9;let parameterType : Type = parameter.type in&#xA;&#x9;&#x9;argument.type.conformsTo(parameterType.specializeIn(self, selfType)))&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredOperation" eType="#//Operation"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OperationTemplateParameter" eSuperTypes="#//TemplateParameter">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="An operation template parameter exposes an operation as a formal parameter for a template."/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="parameteredElement" lowerBound="1" eType="#//ParameterableElement" eOpposite="#//Operation/%duplicates%/templateParameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The operation for this template parameter."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateParameter/parameteredElement"/>
      </contents>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="OrderedSetType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace #//TemplateableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A package is a container for types and other packages.&#xD;&#xA;Package specializes TemplateableElement and PackageableElement specializes ParameterableElement to specify that a package can be used as a template and a PackageableElement as a template parameter."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedPackage" ordered="false" upperBound="-1" eType="#//Package" containment="true"
        eOpposite="#//Package/nestingPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of contained packages."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestingPackage" eType="#//Package" eOpposite="#//Package/nestedPackage">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The containing package."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsPrefix" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nsURI" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="importedPackage" ordered="false" upperBound="-1" eType="#//Package"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" ordered="false" upperBound="-1" eType="#//Type" containment="true"
        eOpposite="#//Type/package">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of contained types."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true" eSuperTypes="#//ParameterableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="Packageable elements are able to serve as a template parameter."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//TypedMultiplicityElement #//VariableDeclaration">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A parameter is a typed element that represents a parameter of an operation."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="#//Operation" eOpposite="#//Operation/ownedParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The operation that owns the parameter."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ParameterableElement" abstract="true" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A parameterable element is an element that can be exposed as a formal template parameter for a template, or specified as an actual parameter in a binding of a template."/>
    </eAnnotations>
    <eOperations name="isTemplateParameter" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isTemplateParameter() determines if this parameterable element is exposed as a formal template parameter."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isCompatibleWith" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;p.oclIsKindOf(self.oclType())&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="p" lowerBound="1" eType="#//ParameterableElement"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateParameter" eType="#//TemplateParameter" eOpposite="#//TemplateParameter/ownedParameteredElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal template parameter that owns this element."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//ParameterableElement/templateParameter"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="templateParameter" eType="#//TemplateParameter" eOpposite="#//TemplateParameter/parameteredElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The template parameter that exposes this element as a formal parameter."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pivotable" instanceClassName="org.eclipse.ocl.examples.pivot.util.Pivotable" abstract="true"
      interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="Precedence" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="associativity" eType="#//AssociativityKind" defaultValueLiteral="Left"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="order" lowerBound="1" eType="#//Integer" defaultValueLiteral="0"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveLiteralExp" abstract="true" eSuperTypes="#//LiteralExp"/>
  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A primitive type is a data type implemented by the underlying infrastructure and made available for modeling."/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Profile" eSuperTypes="#//Package"/>
  <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//Feature #//ParameterableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A property is a typed element that represents an attribute of a class.&#xD;&#xA;Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template."/>
    </eAnnotations>
    <eOperations name="isAttribute" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;--Type.allInstances()->exists(c| c.ownedAttribute->includes(p))&#xA;let container : ocl::OclElement = oclContainer() in container.oclIsKindOf(Type) and container.oclAsType(Type).ownedAttribute->includes(self)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="p" lowerBound="1" eType="#//Property"/>
    </eOperations>
    <eOperations name="CompatibleDefaultExpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="defaultExpression &lt;> null and defaultExpression.oclIsKindOf(ExpressionInOCL) implies CompatibleBody(defaultExpression)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isReadOnly is true, the attribute may not be written to after initialization."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A string that is evaluated to give a default value for the attribute when an object of the owning class is instantiated."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerived" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="If isDerived is true, the value of the attribute is derived from information elsewhere."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="class" eType="#//Class" changeable="false" volatile="true" transient="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The class that owns the property, and of which the property is an attribute."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//Property">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Two attributes attr1 and attr2 of two objects o1 and o2 (which may be the same object) may be paired with each other so that o1.attr1 refers to o2 if and only if o2.attr2 refers to o1. In such a case attr1 is the opposite of attr2 and attr2 is the opposite of attr1."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="association" eType="#//AssociationClass" eOpposite="#//AssociationClass/unownedAttribute"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implicit" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="defaultExpression" eType="#//OpaqueExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isID" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="keys" ordered="false" upperBound="-1" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isResolveProxies" lowerBound="1" eType="#//Boolean" defaultValueLiteral="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTransient" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnsettable" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isVolatile" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedProperty" ordered="false" upperBound="-1" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subsettedProperty" ordered="false" upperBound="-1" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" eType="#//Property"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="owningType" eType="#//Type" eOpposite="#//Type/ownedAttribute"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PropertyCallExp" eSuperTypes="#//NavigationCallExp #//ReferringElement">
    <eOperations name="getSpecializedReferredPropertyOwningType" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="referredProperty.owningType "/>
      </eAnnotations>
    </eOperations>
    <eOperations name="getSpecializedReferredPropertyType" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="referredProperty.type "/>
      </eAnnotations>
    </eOperations>
    <eOperations name="NonStaticSourceTypeIsConformant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="not referredProperty.isStatic implies source.type.conformsTo(getSpecializedReferredPropertyOwningType())&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eOperations name="CompatibleResultType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="type = getSpecializedReferredPropertyType()&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" eType="#//Property"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A pseudostate is an abstraction that encompasses different types of transient vertices in the state machine graph."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//PseudostateKind" defaultValueLiteral="initial">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State that owns this pseudostate and in which it appears."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RealLiteralExp" eSuperTypes="#//NumericLiteralExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="realSymbol" lowerBound="1" eType="#//Real"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReferringElement" abstract="true" interface="true">
    <eOperations name="getReferredElement" lowerBound="1" eType="#//Element"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A region is an orthogonal part of either a composite state or a state machine. It contains states and transitions."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="transition" ordered="false" upperBound="-1" eType="#//Transition" containment="true"
        eOpposite="#//Transition/container">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of transitions owned by the region. Note that internal transitions are owned by a region, but applies to the source state."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedRegion" eType="#//Region">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The region of which this region is an extension."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="subvertex" ordered="false" upperBound="-1" eType="#//Vertex" containment="true"
        eOpposite="#//Vertex/container">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The set of vertices that are owned by this region."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Root" eSuperTypes="#//Namespace">
    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedPackage" ordered="false" upperBound="-1" eType="#//Package" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="externalURI" eType="#//String"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1" eType="#//Import" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SelfType" eSuperTypes="#//Class">
    <eOperations name="specializeIn" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="selfType&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="expr" lowerBound="1" eType="#//OCLExpression"/>
      <eParameters name="selfType" lowerBound="1" eType="#//Type"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SendSignalAction" eSuperTypes="#//NamedElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" lowerBound="1" eType="#//Signal"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="SequenceType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="SetType" eSuperTypes="#//CollectionType"/>
  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//NamedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Vertex #//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A state models a situation during which some (usually implicit) invariant condition holds."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" lowerBound="1" eType="#//Boolean" volatile="true" transient="true"
        defaultValueLiteral="false" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A state with isComposite=true is said to be a composite state. A composite state is a state that contains at least one region."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrthogonal" lowerBound="1" eType="#//Boolean" volatile="true" transient="true"
        defaultValueLiteral="false" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A state with isOrthogonal=true is said to be an orthogonal composite state. An orthogonal composite state contains two or more regions."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" lowerBound="1" eType="#//Boolean" volatile="true" transient="true"
        defaultValueLiteral="true" derived="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A state with isSimple=true is said to be a simple state. A simple state does not have any regions and it does not refer to any submachine state machine."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubmachineState" lowerBound="1" eType="#//Boolean" defaultValueLiteral="false">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A state with isSubmachineState=true is said to be a submachine state. Such a state refers to a state machine (submachine)."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" eType="#//StateMachine" eOpposite="#//StateMachine/submachineState">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The state machine that is to be inserted in place of the (submachine) state."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="connection" ordered="false" upperBound="-1" eType="#//ConnectionPointReference"
        containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entry and exit connection points used in conjunction with this (submachine) state, i.e. as targets and sources, respectively, in the region with the submachine state. A connection point reference references the corresponding definition of a connection point pseudostate in the statemachine referenced by the submachinestate."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedState" eType="#//State">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The state of which this state is a redefinition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false" upperBound="-1" eType="#//Region" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The regions owned directly by the state."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="stateInvariant" eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies conditions that are always true when this state is the current state. In protocol state machines, state invariants are additional conditions to the preconditions of the outgoing transitions, and to the postcondition of the incoming transitions.&#xD;&#xA;"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional behavior that is executed whenever this state is entered regardless of the transition taken to reach the state. If defined, entry actions are always executed to completion prior to any internal behavior or transitions performed within the state.&#xD;&#xA;"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional behavior that is executed whenever this state is exited regardless of which transition was taken out of the state. If defined, exit actions are always executed to completion only after all internal activities and transition actions have completed execution."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="doActivity" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="An optional behavior that is executed while being in the state. The execution starts when this state is entered, and stops either by itself, or when the state is exited, whichever comes first."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false" upperBound="-1" eType="#//Pseudostate" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The entry and exit pseudostates of a composite state. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite states."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="deferrableTrigger" ordered="false" upperBound="-1" eType="#//Trigger" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A list of triggers that are candidates to be retained by the state machine if they trigger no transitions out of the state (not consumed). A deferred trigger is retained until the state machine reaches a state configuration where it is no longer deferred.&#xD;&#xA;"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateExp" eSuperTypes="#//OCLExpression">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredState" eType="#//State"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="State machines can be used to express the behavior of part of a system. Behavior is modeled as a traversal of a graph of state nodes interconnected by one or more joined transition arcs that are triggered by the dispatching of series of (event) occurrences. During this traversal, the state machine executes a series of activities associated with various elements of the state machine."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false" lowerBound="1" upperBound="-1" eType="#//Region" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The regions owned directly by the state machine."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false" upperBound="-1" eType="#//Pseudostate" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The connection points defined for this state machine. They represent the interface of the state machine when used as part of submachine state."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="submachineState" ordered="false" upperBound="-1" eType="#//State" eOpposite="#//State/submachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="References the submachine(s) in case of a submachine state. Multiple machines are referenced in case of a concurrent state."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedStateMachine" ordered="false" upperBound="-1" eType="#//StateMachine">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The state machines of which this is an extension."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Stereotype" eSuperTypes="#//Class"/>
  <eClassifiers xsi:type="ecore:EClass" name="StringLiteralExp" eSuperTypes="#//PrimitiveLiteralExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringSymbol" lowerBound="1" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A template binding represents a relationship between a templateable element and a template. A template binding specifies the substitutions of actual parameters for the formal parameters of the template."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" lowerBound="1" eType="#//TemplateSignature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The template signature for the template that is the target of the binding."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitution" ordered="false" upperBound="-1" eType="#//TemplateParameterSubstitution"
        containment="true" eOpposite="#//TemplateParameterSubstitution/templateBinding">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The parameter substitutions owned by this template binding."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="boundElement" lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/templateBinding">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The element that is bound by this binding."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A template parameter exposes a parameterable element as a formal template parameter of a template."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" lowerBound="1" eType="#//TemplateSignature" eOpposite="#//TemplateSignature/ownedParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The template signature that owns this template parameter."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameteredElement" lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ParameterableElement/templateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The element exposed by this template parameter."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameteredElement" eType="#//ParameterableElement" containment="true"
        eOpposite="#//ParameterableElement/owningTemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The element that is owned by this template parameter."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//TemplateParameter/parameteredElement"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="default" eType="#//ParameterableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The element that is the default for this formal template parameter."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefault" eType="#//ParameterableElement" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The element that is owned by this template parameter for the purpose of providing a default."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//TemplateParameter/default"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A template parameter substitution relates the actual parameter to a formal template parameter as part of a template binding."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="formal" lowerBound="1" eType="#//TemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal template parameter that is associated with this substitution."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="actual" lowerBound="1" eType="#//ParameterableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The element that is the actual parameter for this substitution."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedActual" eType="#//ParameterableElement" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The actual parameter that is owned by this substitution."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//TemplateParameterSubstitution/actual"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" lowerBound="1" eType="#//TemplateBinding" eOpposite="#//TemplateBinding/parameterSubstitution">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The optional bindings from this element to templates."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterType" eSuperTypes="#//Type">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="specification" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A template signature bundles the set of formal template parameters for a templated element."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1" upperBound="-1" eType="#//TemplateParameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The ordered set of all formal template parameters for this template signature."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1" eType="#//TemplateParameter" containment="true"
        eOpposite="#//TemplateParameter/signature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The formal template parameters that are owned by this template signature."/>
      </eAnnotations>
      <eAnnotations source="subsets" references="#//TemplateSignature/parameter"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="template" lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedTemplateSignature">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The element that owns this template signature."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TemplateableElement" abstract="true" eSuperTypes="#//Element">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A templateable element is an element that can optionally be defined as a template and bound to other templates."/>
    </eAnnotations>
    <eOperations name="parameterableElements" ordered="false" upperBound="-1" eType="#//ParameterableElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isTemplate" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isTemplate() returns whether this templateable element is actually a template."/>
      </eAnnotations>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false" upperBound="-1" eType="#//TemplateBinding"
        containment="true" eOpposite="#//TemplateBinding/boundElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The optional bindings from this element to templates."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateSignature" eType="#//TemplateSignature" containment="true" eOpposite="#//TemplateSignature/template">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The optional template signature specifying the formal template parameters."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="unspecializedElement" eType="#//TemplateableElement" transient="true" resolveProxies="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Namespace">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//TransitionKind" defaultValueLiteral="external">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Indicates  the precise type of the transition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/outgoing">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the originating vertex (state or pseudostate) of the transition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" eType="#//Vertex" eOpposite="#//Vertex/incoming">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the target vertex that is reached when the transition is taken."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//Constraint" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="effect" eType="#//Behavior" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies an optional behavior to be performed when the transition fires."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" ordered="false" upperBound="-1" eType="#//Trigger" containment="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the triggers that may fire the transition."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="container" lowerBound="1" eType="#//Region" eOpposite="#//Region/transition">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Designates the region that owns this transition."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//NamedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralExp" eSuperTypes="#//LiteralExp">
    <eStructuralFeatures xsi:type="ecore:EReference" name="part" upperBound="-1" eType="#//TupleLiteralPart" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralPart" eSuperTypes="#//VariableDeclaration">
    <eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" eType="#//OCLExpression" containment="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TupleType" eSuperTypes="#//DataType"/>
  <eClassifiers xsi:type="ecore:EClass" name="Type" eSuperTypes="#//NamedElement #//TemplateableElement #//ParameterableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A type is a named element that is used as the type for a typed element. A type can be contained in a package.&#xD;&#xA;Type is defined to be a kind of templateable element so that a type can be parameterized. It is also defined to be a kind of parameterable element so that a type can be a formal template parameter."/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EOperation" name="isTemplate" lowerBound="1" eType="#//Boolean">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The query isTemplate() returns whether this templateable element is actually a template."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateableElement/isTemplate"/>
      </contents>
      <contents xsi:type="ecore:EReference" name="templateParameter" eType="#//TemplateParameter" eOpposite="#//TypeTemplateParameter/%duplicates%/parameteredElement">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The template parameter that exposes this element as a formal parameter."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
      </contents>
    </eAnnotations>
    <eOperations name="specializeIn" lowerBound="1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="self&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="expr" lowerBound="1" eType="#//OCLExpression"/>
      <eParameters name="selfType" lowerBound="1" eType="#//Type"/>
    </eOperations>
    <eOperations name="UniqueInvariantName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="ownedInvariant->isUnique(name)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
      <eParameters name="context">
        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
        </eGenericType>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="package" eType="#//Package" eOpposite="#//Package/ownedType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the owning package of this classifier, if any."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1" eType="#//Property" containment="true" eOpposite="#//Property/owningType"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1" eType="#//Operation" containment="true" eOpposite="#//Operation/owningType"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="superClass" upperBound="-1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedInvariant" ordered="false" upperBound="-1" eType="#//Constraint" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceClassName" eType="#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypeExp" eSuperTypes="#//OCLExpression #//ReferringElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredType" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypeTemplateParameter" eSuperTypes="#//TemplateParameter">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A type template parameter exposes a type as a formal template parameter."/>
    </eAnnotations>
    <eAnnotations source="duplicates">
      <contents xsi:type="ecore:EReference" name="parameteredElement" lowerBound="1" eType="#//ParameterableElement" eOpposite="#//Type/%duplicates%/templateParameter">
        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
          <details key="documentation" value="The parameterable classifier for this template parameter."/>
        </eAnnotations>
        <eAnnotations source="redefines" references="#//TemplateParameter/parameteredElement"/>
      </contents>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowSubstitutable" lowerBound="1" eType="#//Boolean" defaultValueLiteral="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainingType" ordered="false" upperBound="-1" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The classifiers that constrain the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any classifier that is compatible with this constraining classifier can be substituted; otherwise, it must be either this classifier or one of its subclasses. If this property is empty, there are no constraints on the classifier that can be used as an argument."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A typed element is a kind of named element that represents an element with a type."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Type">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The type of the TypedElement."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRequired" lowerBound="1" eType="#//Boolean" defaultValueLiteral="true"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="TypedMultiplicityElement" abstract="true" eSuperTypes="#//TypedElement">
    <eOperations name="CompatibleBody" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="&#xA;&#x9;bodySpecification.type.conformsTo(self.type)&#xA;&#xA;"/>
      </eAnnotations>
      <eParameters name="bodySpecification" lowerBound="1" eType="#//ValueSpecification"/>
    </eOperations>
    <eOperations name="makeParameter" lowerBound="1" eType="#//Parameter">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
        <details key="body" value="Parameter{name='name'}&#xA;&#xA;"/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UnlimitedNaturalLiteralExp" eSuperTypes="#//NumericLiteralExp">
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unlimitedNaturalSymbol" lowerBound="1" eType="#//UnlimitedNatural"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UnspecifiedType" eSuperTypes="#//Class">
    <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" lowerBound="1" eType="#//Type"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" lowerBound="1" eType="#//Type"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UnspecifiedValueExp" eSuperTypes="#//OCLExpression"/>
  <eClassifiers xsi:type="ecore:EClass" name="ValueSpecification" abstract="true" eSuperTypes="#//TypedElement #//ParameterableElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A value specification is the specification of a (possibly empty) set of instances, including both objects and data values.&#xD;&#xA;ValueSpecification specializes ParameterableElement to specify that a value specification can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template."/>
    </eAnnotations>
    <eOperations name="isComputable" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all value specifications that it can compute, and to compute all of those for which the operation is true. A conforming implementation is expected to be able to compute the value of all literals."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="integerValue" lowerBound="1" eType="#//Integer">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query integerValue() gives a single Integer value when one can be computed."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="booleanValue" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query booleanValue() gives a single Boolean value when one can be computed."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="stringValue" lowerBound="1" eType="#//String">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query stringValue() gives a single String value when one can be computed."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="unlimitedValue" lowerBound="1" eType="#//UnlimitedNatural">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed."/>
      </eAnnotations>
    </eOperations>
    <eOperations name="isNull" lowerBound="1" eType="#//Boolean">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The query isNull() returns true when it can be computed that the value is null."/>
      </eAnnotations>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//VariableDeclaration">
    <eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" eType="#//OCLExpression" containment="true"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="representedParameter" eType="#//Parameter"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implicit" eType="#//Boolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="VariableDeclaration" abstract="true" eSuperTypes="#//TypedElement"/>
  <eClassifiers xsi:type="ecore:EClass" name="VariableExp" eSuperTypes="#//OCLExpression #//ReferringElement">
    <eStructuralFeatures xsi:type="ecore:EReference" name="referredVariable" eType="#//VariableDeclaration"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="implicit" eType="#//Boolean" defaultValueLiteral="false"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
      <details key="documentation" value="A vertex is an abstraction of a node in a state machine graph. In general, it can be the source or destination of any number of transitions."/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="container" eType="#//Region" eOpposite="#//Region/subvertex">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="The region that contains this vertex."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false" upperBound="-1" eType="#//Transition" eOpposite="#//Transition/source">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the transitions departing from this vertex."/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false" upperBound="-1" eType="#//Transition" eOpposite="#//Transition/target">
      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
        <details key="documentation" value="Specifies the transitions entering this vertex."/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Visitable" instanceClassName="org.eclipse.ocl.examples.pivot.util.Visitable" abstract="true"
      interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="Visitor" instanceClassName="org.eclipse.ocl.examples.pivot.util.Visitor" abstract="true"
      interface="true">
    <eTypeParameters name="R"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="VoidType" eSuperTypes="#//Class"/>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"pivot","nsURI":"http://www.eclipse.org/ocl/3.1.0/Pivot","name":"pivot","id":0,"eClass":"EPackage"},{"instanceTypeName":"boolean","defaultValue":false,"instanceClassName":"boolean","name":"Boolean","instanceClass":"boolean","id":1,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Number","defaultValue":null,"instanceClassName":"java.lang.Number","name":"Integer","instanceClass":"java.lang.Number","id":2,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"org.eclipse.ocl.examples.domain.library.LibraryFeature","defaultValue":null,"instanceClassName":"org.eclipse.ocl.examples.domain.library.LibraryFeature","name":"LibraryFeature","instanceClass":null,"id":3,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Object","defaultValue":null,"instanceClassName":"java.lang.Object","name":"Object","instanceClass":"java.lang.Object","id":4,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Number","defaultValue":null,"instanceClassName":"java.lang.Number","name":"Real","instanceClass":"java.lang.Number","id":5,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.String","defaultValue":null,"instanceClassName":"java.lang.String","name":"String","instanceClass":"java.lang.String","id":6,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Throwable","defaultValue":null,"instanceClassName":"java.lang.Throwable","name":"Throwable","instanceClass":"java.lang.Throwable","id":7,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":"java.lang.Number","defaultValue":null,"instanceClassName":"java.lang.Number","name":"UnlimitedNatural","instanceClass":"java.lang.Number","id":8,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":null,"instanceClassName":null,"name":"AssociativityKind","instanceClass":null,"id":9,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"CollectionKind","instanceClass":null,"id":10,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"PseudostateKind","instanceClass":null,"id":11,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"instanceClassName":null,"name":"TransitionKind","instanceClass":null,"id":12,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Annotation","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AnyType","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssociationClass","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssociationClassCallExp","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BagType","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Behavior","instanceClass":null,"abstract":true,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BooleanLiteralExp","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallExp","instanceClass":null,"abstract":true,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallOperationAction","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Class","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionItem","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralExp","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralPart","instanceClass":null,"abstract":true,"id":25,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionRange","instanceClass":null,"abstract":false,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionType","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Comment","instanceClass":null,"abstract":false,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ConnectionPointReference","instanceClass":null,"abstract":false,"id":29,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Constraint","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ConstructorExp","instanceClass":null,"abstract":false,"id":31,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ConstructorPart","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataType","instanceClass":null,"abstract":false,"id":33,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Detail","instanceClass":null,"abstract":false,"id":34,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicElement","instanceClass":null,"abstract":false,"id":35,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicProperty","instanceClass":null,"abstract":false,"id":36,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DynamicType","instanceClass":null,"abstract":false,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Element","instanceClass":null,"abstract":true,"id":38,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ElementExtension","instanceClass":null,"abstract":false,"id":39,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumLiteralExp","instanceClass":null,"abstract":false,"id":40,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Enumeration","instanceClass":null,"abstract":false,"id":41,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumerationLiteral","instanceClass":null,"abstract":false,"id":42,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpressionInOCL","instanceClass":null,"abstract":false,"id":43,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Feature","instanceClass":null,"abstract":true,"id":44,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FeatureCallExp","instanceClass":null,"abstract":true,"id":45,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FinalState","instanceClass":null,"abstract":false,"id":46,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IfExp","instanceClass":null,"abstract":false,"id":47,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Import","instanceClass":null,"abstract":false,"id":48,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IntegerLiteralExp","instanceClass":null,"abstract":false,"id":49,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidLiteralExp","instanceClass":null,"abstract":false,"id":50,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidType","instanceClass":null,"abstract":false,"id":51,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IterateExp","instanceClass":null,"abstract":false,"id":52,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Iteration","instanceClass":null,"abstract":false,"id":53,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IteratorExp","instanceClass":null,"abstract":false,"id":54,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LambdaType","instanceClass":null,"abstract":false,"id":55,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LetExp","instanceClass":null,"abstract":false,"id":56,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Library","instanceClass":null,"abstract":false,"id":57,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralExp","instanceClass":null,"abstract":true,"id":58,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LoopExp","instanceClass":null,"abstract":true,"id":59,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageExp","instanceClass":null,"abstract":false,"id":60,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageType","instanceClass":null,"abstract":false,"id":61,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Metaclass","instanceClass":null,"abstract":false,"id":62,"interface":false,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.examples.pivot.util.MorePivotable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.examples.pivot.util.MorePivotable","name":"MorePivotable","instanceClass":null,"abstract":true,"id":63,"interface":true,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.examples.domain.elements.Nameable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.examples.domain.elements.Nameable","name":"Nameable","instanceClass":null,"abstract":true,"id":64,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NamedElement","instanceClass":null,"abstract":true,"id":65,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Namespace","instanceClass":null,"abstract":true,"id":66,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NavigationCallExp","instanceClass":null,"abstract":true,"id":67,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NullLiteralExp","instanceClass":null,"abstract":false,"id":68,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NumericLiteralExp","instanceClass":null,"abstract":true,"id":69,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OCLExpression","instanceClass":null,"abstract":true,"id":70,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OpaqueExpression","instanceClass":null,"abstract":false,"id":71,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Operation","instanceClass":null,"abstract":false,"id":72,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationCallExp","instanceClass":null,"abstract":false,"id":73,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationTemplateParameter","instanceClass":null,"abstract":false,"id":74,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OrderedSetType","instanceClass":null,"abstract":false,"id":75,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Package","instanceClass":null,"abstract":false,"id":76,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PackageableElement","instanceClass":null,"abstract":true,"id":77,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Parameter","instanceClass":null,"abstract":false,"id":78,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ParameterableElement","instanceClass":null,"abstract":true,"id":79,"interface":false,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.examples.pivot.util.Pivotable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.examples.pivot.util.Pivotable","name":"Pivotable","instanceClass":null,"abstract":true,"id":80,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Precedence","instanceClass":null,"abstract":false,"id":81,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveLiteralExp","instanceClass":null,"abstract":true,"id":82,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"abstract":false,"id":83,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Profile","instanceClass":null,"abstract":false,"id":84,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Property","instanceClass":null,"abstract":false,"id":85,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PropertyCallExp","instanceClass":null,"abstract":false,"id":86,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Pseudostate","instanceClass":null,"abstract":false,"id":87,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RealLiteralExp","instanceClass":null,"abstract":false,"id":88,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReferringElement","instanceClass":null,"abstract":true,"id":89,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Region","instanceClass":null,"abstract":false,"id":90,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Root","instanceClass":null,"abstract":false,"id":91,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SelfType","instanceClass":null,"abstract":false,"id":92,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SendSignalAction","instanceClass":null,"abstract":false,"id":93,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SequenceType","instanceClass":null,"abstract":false,"id":94,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SetType","instanceClass":null,"abstract":false,"id":95,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Signal","instanceClass":null,"abstract":false,"id":96,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"State","instanceClass":null,"abstract":false,"id":97,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateExp","instanceClass":null,"abstract":false,"id":98,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateMachine","instanceClass":null,"abstract":false,"id":99,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Stereotype","instanceClass":null,"abstract":false,"id":100,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StringLiteralExp","instanceClass":null,"abstract":false,"id":101,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateBinding","instanceClass":null,"abstract":false,"id":102,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateParameter","instanceClass":null,"abstract":false,"id":103,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateParameterSubstitution","instanceClass":null,"abstract":false,"id":104,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateParameterType","instanceClass":null,"abstract":false,"id":105,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateSignature","instanceClass":null,"abstract":false,"id":106,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateableElement","instanceClass":null,"abstract":true,"id":107,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Transition","instanceClass":null,"abstract":false,"id":108,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Trigger","instanceClass":null,"abstract":false,"id":109,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralExp","instanceClass":null,"abstract":false,"id":110,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralPart","instanceClass":null,"abstract":false,"id":111,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleType","instanceClass":null,"abstract":false,"id":112,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Type","instanceClass":null,"abstract":false,"id":113,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeExp","instanceClass":null,"abstract":false,"id":114,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeTemplateParameter","instanceClass":null,"abstract":false,"id":115,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedElement","instanceClass":null,"abstract":true,"id":116,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypedMultiplicityElement","instanceClass":null,"abstract":true,"id":117,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnlimitedNaturalLiteralExp","instanceClass":null,"abstract":false,"id":118,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnspecifiedType","instanceClass":null,"abstract":false,"id":119,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnspecifiedValueExp","instanceClass":null,"abstract":false,"id":120,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ValueSpecification","instanceClass":null,"abstract":true,"id":121,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Variable","instanceClass":null,"abstract":false,"id":122,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableDeclaration","instanceClass":null,"abstract":true,"id":123,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableExp","instanceClass":null,"abstract":false,"id":124,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Vertex","instanceClass":null,"abstract":true,"id":125,"interface":false,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.examples.pivot.util.Visitable","defaultValue":null,"instanceClassName":"org.eclipse.ocl.examples.pivot.util.Visitable","name":"Visitable","instanceClass":null,"abstract":true,"id":126,"interface":true,"eClass":"EClass"},{"instanceTypeName":"org.eclipse.ocl.examples.pivot.util.Visitor","defaultValue":null,"instanceClassName":"org.eclipse.ocl.examples.pivot.util.Visitor","name":"Visitor","instanceClass":null,"abstract":true,"id":127,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VoidType","instanceClass":null,"abstract":false,"id":128,"interface":false,"eClass":"EClass"},{"name":"Left","id":129,"value":0,"literal":"Left","eClass":"EEnumLiteral"},{"name":"Right","id":130,"value":1,"literal":"Right","eClass":"EEnumLiteral"},{"name":"Collection","id":131,"value":0,"literal":"Collection","eClass":"EEnumLiteral"},{"name":"Set","id":132,"value":1,"literal":"Set","eClass":"EEnumLiteral"},{"name":"OrderedSet","id":133,"value":2,"literal":"OrderedSet","eClass":"EEnumLiteral"},{"name":"Bag","id":134,"value":3,"literal":"Bag","eClass":"EEnumLiteral"},{"name":"Sequence","id":135,"value":4,"literal":"Sequence","eClass":"EEnumLiteral"},{"name":"initial","id":136,"value":0,"literal":"initial","eClass":"EEnumLiteral"},{"name":"deepHistory","id":137,"value":1,"literal":"deepHistory","eClass":"EEnumLiteral"},{"name":"shallowHistory","id":138,"value":2,"literal":"shallowHistory","eClass":"EEnumLiteral"},{"name":"join","id":139,"value":3,"literal":"join","eClass":"EEnumLiteral"},{"name":"fork","id":140,"value":4,"literal":"fork","eClass":"EEnumLiteral"},{"name":"junction","id":141,"value":5,"literal":"junction","eClass":"EEnumLiteral"},{"name":"choice","id":142,"value":6,"literal":"choice","eClass":"EEnumLiteral"},{"name":"entryPoint","id":143,"value":7,"literal":"entryPoint","eClass":"EEnumLiteral"},{"name":"exitPoint","id":144,"value":8,"literal":"exitPoint","eClass":"EEnumLiteral"},{"name":"terminate","id":145,"value":9,"literal":"terminate","eClass":"EEnumLiteral"},{"name":"internal","id":146,"value":0,"literal":"internal","eClass":"EEnumLiteral"},{"name":"local","id":147,"value":1,"literal":"local","eClass":"EEnumLiteral"},{"name":"external","id":148,"value":2,"literal":"external","eClass":"EEnumLiteral"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedContent","changeable":true,"resolveProxies":true,"lowerBound":0,"id":149,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedDetail","changeable":true,"resolveProxies":true,"lowerBound":0,"id":150,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"reference","changeable":true,"resolveProxies":true,"lowerBound":0,"id":151,"derived":false},{"id":152,"eClass":"EGenericType"},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"id":155,"eClass":"EGenericType"},{"id":156,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"unownedAttribute","changeable":true,"resolveProxies":true,"lowerBound":0,"id":157,"derived":false},{"id":158,"eClass":"EGenericType"},{"id":159,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"association","changeable":true,"resolveProxies":true,"lowerBound":0,"id":160,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredAssociationClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":161,"derived":false},{"id":162,"eClass":"EGenericType"},{"id":163,"eClass":"EGenericType"},{"id":164,"eClass":"EGenericType"},{"id":165,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"TypeIsBoolean","lowerBound":0,"id":166,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"booleanSymbol","changeable":true,"lowerBound":1,"iD":false,"id":167,"derived":false},{"id":168,"eClass":"EGenericType"},{"id":169,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":170,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":171,"many":false,"required":false,"eClass":"EParameter"},{"id":172,"eClass":"EGenericType"},{"id":173,"eClass":"EGenericType"},{"id":174,"eClass":"EGenericType"},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"source","changeable":true,"resolveProxies":true,"lowerBound":0,"id":177,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"implicit","changeable":true,"lowerBound":0,"iD":false,"id":178,"derived":false},{"id":179,"eClass":"EGenericType"},{"id":180,"eClass":"EGenericType"},{"id":181,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"operation","changeable":true,"resolveProxies":true,"lowerBound":1,"id":182,"derived":false},{"id":183,"eClass":"EGenericType"},{"id":184,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isAbstract","changeable":true,"lowerBound":1,"iD":false,"id":185,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedBehavior","changeable":true,"resolveProxies":true,"lowerBound":0,"id":186,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isInterface","changeable":true,"lowerBound":1,"iD":false,"id":187,"derived":false},{"id":188,"eClass":"EGenericType"},{"id":189,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":190,"derived":false},{"id":191,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"class","changeable":false,"resolveProxies":true,"lowerBound":0,"id":192,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"superClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":193,"derived":false},{"id":194,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"instanceClassName","changeable":true,"lowerBound":0,"iD":false,"id":195,"derived":false},{"id":196,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedAttribute","changeable":true,"resolveProxies":true,"lowerBound":0,"id":197,"derived":false},{"id":198,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"class","changeable":false,"resolveProxies":true,"lowerBound":0,"id":199,"derived":false},{"id":200,"eClass":"EGenericType"},{"id":201,"eClass":"EGenericType"},{"id":202,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"TypeIsItemType","lowerBound":0,"id":203,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"item","changeable":true,"resolveProxies":true,"lowerBound":1,"id":204,"derived":false},{"id":205,"eClass":"EGenericType"},{"id":206,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":207,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":208,"many":false,"required":false,"eClass":"EParameter"},{"id":209,"eClass":"EGenericType"},{"id":210,"eClass":"EGenericType"},{"id":211,"eClass":"EGenericType"},{"id":212,"eClass":"EGenericType"},{"id":213,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"CollectionKindIsConcrete","lowerBound":0,"id":214,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SetKindIsSet","lowerBound":0,"id":215,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"OrderedSetKindIsOrderedSet","lowerBound":0,"id":216,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SequenceKindIsSequence","lowerBound":0,"id":217,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"BagKindIsBag","lowerBound":0,"id":218,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":1,"iD":false,"id":219,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"part","changeable":true,"resolveProxies":true,"lowerBound":0,"id":220,"derived":false},{"id":221,"eClass":"EGenericType"},{"id":222,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":223,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":224,"many":false,"required":false,"eClass":"EParameter"},{"id":225,"eClass":"EGenericType"},{"id":226,"eClass":"EGenericType"},{"id":227,"eClass":"EGenericType"},{"id":228,"eClass":"EGenericType"},{"id":229,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":230,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":231,"many":false,"required":false,"eClass":"EParameter"},{"id":232,"eClass":"EGenericType"},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"id":236,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":237,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":238,"many":false,"required":false,"eClass":"EParameter"},{"id":239,"eClass":"EGenericType"},{"id":240,"eClass":"EGenericType"},{"id":241,"eClass":"EGenericType"},{"id":242,"eClass":"EGenericType"},{"id":243,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":244,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":245,"many":false,"required":false,"eClass":"EParameter"},{"id":246,"eClass":"EGenericType"},{"id":247,"eClass":"EGenericType"},{"id":248,"eClass":"EGenericType"},{"id":249,"eClass":"EGenericType"},{"id":250,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":251,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":252,"many":false,"required":false,"eClass":"EParameter"},{"id":253,"eClass":"EGenericType"},{"id":254,"eClass":"EGenericType"},{"id":255,"eClass":"EGenericType"},{"id":256,"eClass":"EGenericType"},{"id":257,"eClass":"EGenericType"},{"id":258,"eClass":"EGenericType"},{"id":259,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"first","changeable":true,"resolveProxies":true,"lowerBound":1,"id":260,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"last","changeable":true,"resolveProxies":true,"lowerBound":1,"id":261,"derived":false},{"id":262,"eClass":"EGenericType"},{"id":263,"eClass":"EGenericType"},{"id":264,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"elementType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":265,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"lower","changeable":true,"lowerBound":1,"iD":false,"id":266,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"*","unsettable":false,"transient":false,"unique":true,"name":"upper","changeable":true,"lowerBound":1,"iD":false,"id":267,"derived":false},{"id":268,"eClass":"EGenericType"},{"id":269,"eClass":"EGenericType"},{"id":270,"eClass":"EGenericType"},{"id":271,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"body","changeable":true,"lowerBound":0,"iD":false,"id":272,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"annotatedElement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":273,"derived":false},{"id":274,"eClass":"EGenericType"},{"id":275,"eClass":"EGenericType"},{"id":276,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"entry","changeable":true,"resolveProxies":true,"lowerBound":0,"id":277,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"state","changeable":true,"resolveProxies":true,"lowerBound":0,"id":278,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"exit","changeable":true,"resolveProxies":true,"lowerBound":0,"id":279,"derived":false},{"id":280,"eClass":"EGenericType"},{"id":281,"eClass":"EGenericType"},{"id":282,"eClass":"EGenericType"},{"id":283,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"UniqueName","lowerBound":0,"id":284,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"constrainedElement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":285,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"specification","changeable":true,"resolveProxies":true,"lowerBound":1,"id":286,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":true,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"context","changeable":true,"resolveProxies":true,"lowerBound":0,"id":287,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isCallable","changeable":true,"lowerBound":1,"iD":false,"id":288,"derived":false},{"id":289,"eClass":"EGenericType"},{"id":290,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":291,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":292,"many":false,"required":false,"eClass":"EParameter"},{"id":293,"eClass":"EGenericType"},{"id":294,"eClass":"EGenericType"},{"id":295,"eClass":"EGenericType"},{"id":296,"eClass":"EGenericType"},{"id":297,"eClass":"EGenericType"},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"part","changeable":true,"resolveProxies":true,"lowerBound":0,"id":301,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":0,"iD":false,"id":302,"derived":false},{"id":303,"eClass":"EGenericType"},{"id":304,"eClass":"EGenericType"},{"id":305,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":1,"id":306,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"initExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":307,"derived":false},{"id":308,"eClass":"EGenericType"},{"id":309,"eClass":"EGenericType"},{"id":310,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"isSerializable","changeable":true,"lowerBound":1,"iD":false,"id":311,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"behavioralType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":312,"derived":false},{"id":313,"eClass":"EGenericType"},{"id":314,"eClass":"EGenericType"},{"id":315,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":1,"iD":false,"id":316,"derived":false},{"id":317,"eClass":"EGenericType"},{"id":318,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"metaType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":319,"derived":false},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":1,"id":322,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"default","changeable":true,"lowerBound":0,"iD":false,"id":323,"derived":false},{"id":324,"eClass":"EGenericType"},{"id":325,"eClass":"EGenericType"},{"id":326,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":327,"derived":false},{"id":328,"eClass":"EGenericType"},{"id":329,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"metaType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":330,"derived":false},{"id":331,"eClass":"EGenericType"},{"id":332,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"allOwnedElements","lowerBound":0,"id":333,"many":true,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getValue","lowerBound":0,"id":334,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedComment","changeable":true,"resolveProxies":true,"lowerBound":0,"id":335,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"extension","changeable":true,"resolveProxies":true,"lowerBound":0,"id":336,"derived":false},{"id":337,"eClass":"EGenericType"},{"id":338,"eClass":"EGenericType"},{"id":339,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"stereotype","lowerBound":1,"id":340,"many":false,"required":true,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"propertyName","lowerBound":1,"id":341,"many":false,"required":true,"eClass":"EParameter"},{"id":342,"eClass":"EGenericType"},{"id":343,"eClass":"EGenericType"},{"id":344,"eClass":"EGenericType"},{"id":345,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"base","changeable":true,"resolveProxies":true,"lowerBound":1,"id":346,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"stereotype","changeable":true,"resolveProxies":true,"lowerBound":1,"id":347,"derived":false},{"id":348,"eClass":"EGenericType"},{"id":349,"eClass":"EGenericType"},{"id":350,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"TypeIsEnumerationType","lowerBound":0,"id":351,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredEnumLiteral","changeable":true,"resolveProxies":true,"lowerBound":0,"id":352,"derived":false},{"id":353,"eClass":"EGenericType"},{"id":354,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":355,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":356,"many":false,"required":false,"eClass":"EParameter"},{"id":357,"eClass":"EGenericType"},{"id":358,"eClass":"EGenericType"},{"id":359,"eClass":"EGenericType"},{"id":360,"eClass":"EGenericType"},{"id":361,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedLiteral","changeable":true,"resolveProxies":true,"lowerBound":0,"id":362,"derived":false},{"id":363,"eClass":"EGenericType"},{"id":364,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"enumeration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":365,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"value","changeable":true,"lowerBound":0,"iD":false,"id":366,"derived":false},{"id":367,"eClass":"EGenericType"},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bodyExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":370,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"contextVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":371,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"resultVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":372,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"parameterVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":373,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"messageExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":374,"derived":false},{"id":375,"eClass":"EGenericType"},{"id":376,"eClass":"EGenericType"},{"id":377,"eClass":"EGenericType"},{"id":378,"eClass":"EGenericType"},{"id":379,"eClass":"EGenericType"},{"id":380,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"implementationClass","changeable":true,"lowerBound":0,"iD":false,"id":381,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":true,"unique":true,"name":"implementation","changeable":true,"lowerBound":0,"iD":false,"id":382,"derived":false},{"id":383,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"isStatic","changeable":true,"lowerBound":1,"iD":false,"id":384,"derived":false},{"id":385,"eClass":"EGenericType"},{"id":386,"eClass":"EGenericType"},{"id":387,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isPre","changeable":true,"lowerBound":1,"iD":false,"id":388,"derived":false},{"id":389,"eClass":"EGenericType"},{"id":390,"eClass":"EGenericType"},{"id":391,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ConditionTypeIsBoolean","lowerBound":0,"id":392,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"condition","changeable":true,"resolveProxies":true,"lowerBound":1,"id":393,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"thenExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":394,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"elseExpression","changeable":true,"resolveProxies":true,"lowerBound":1,"id":395,"derived":false},{"id":396,"eClass":"EGenericType"},{"id":397,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":398,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":399,"many":false,"required":false,"eClass":"EParameter"},{"id":400,"eClass":"EGenericType"},{"id":401,"eClass":"EGenericType"},{"id":402,"eClass":"EGenericType"},{"id":403,"eClass":"EGenericType"},{"id":404,"eClass":"EGenericType"},{"id":405,"eClass":"EGenericType"},{"id":406,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"importedNamespace","changeable":true,"resolveProxies":true,"lowerBound":1,"id":407,"derived":false},{"id":408,"eClass":"EGenericType"},{"id":409,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"TypeIsInteger","lowerBound":0,"id":410,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"integerSymbol","changeable":true,"lowerBound":1,"iD":false,"id":411,"derived":false},{"id":412,"eClass":"EGenericType"},{"id":413,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":414,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":415,"many":false,"required":false,"eClass":"EParameter"},{"id":416,"eClass":"EGenericType"},{"id":417,"eClass":"EGenericType"},{"id":418,"eClass":"EGenericType"},{"id":419,"eClass":"EGenericType"},{"id":420,"eClass":"EGenericType"},{"id":421,"eClass":"EGenericType"},{"id":422,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"OneInitializer","lowerBound":0,"id":423,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"BodyTypeConformsToResultType","lowerBound":0,"id":424,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"TypeIsResultType","lowerBound":0,"id":425,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"result","changeable":true,"resolveProxies":true,"lowerBound":0,"id":426,"derived":false},{"id":427,"eClass":"EGenericType"},{"id":428,"eClass":"EGenericType"},{"id":429,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":430,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":431,"many":false,"required":false,"eClass":"EParameter"},{"id":432,"eClass":"EGenericType"},{"id":433,"eClass":"EGenericType"},{"id":434,"eClass":"EGenericType"},{"id":435,"eClass":"EGenericType"},{"id":436,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":437,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":438,"many":false,"required":false,"eClass":"EParameter"},{"id":439,"eClass":"EGenericType"},{"id":440,"eClass":"EGenericType"},{"id":441,"eClass":"EGenericType"},{"id":442,"eClass":"EGenericType"},{"id":443,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":444,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":445,"many":false,"required":false,"eClass":"EParameter"},{"id":446,"eClass":"EGenericType"},{"id":447,"eClass":"EGenericType"},{"id":448,"eClass":"EGenericType"},{"id":449,"eClass":"EGenericType"},{"id":450,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedIterator","changeable":true,"resolveProxies":true,"lowerBound":0,"id":451,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedAccumulator","changeable":true,"resolveProxies":true,"lowerBound":0,"id":452,"derived":false},{"id":453,"eClass":"EGenericType"},{"id":454,"eClass":"EGenericType"},{"id":455,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ExistsBodyTypeIsBoolean","lowerBound":0,"id":456,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CollectNestedHasOneIterator","lowerBound":0,"id":457,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ClosureSourceElementTypeIsBodyElementType","lowerBound":0,"id":458,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ExistsTypeIsBoolean","lowerBound":0,"id":459,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CollectTypeIsUnordered","lowerBound":0,"id":460,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ClosureTypeIsUniqueCollection","lowerBound":0,"id":461,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RejectOrSelectTypeIsSourceType","lowerBound":0,"id":462,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SortedByIsOrderedIfSourceIsOrdered","lowerBound":0,"id":463,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AnyTypeIsSourceElementType","lowerBound":0,"id":464,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SortedByHasOneIterator","lowerBound":0,"id":465,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"IteratorTypeIsSourceElementType","lowerBound":0,"id":466,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"OneBodyTypeIsBoolean","lowerBound":0,"id":467,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CollectNestedTypeIsBag","lowerBound":0,"id":468,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AnyHasOneIterator","lowerBound":0,"id":469,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"AnyBodyTypeIsBoolean","lowerBound":0,"id":470,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RejectOrSelectTypeIsBoolean","lowerBound":0,"id":471,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"OneHasOneIterator","lowerBound":0,"id":472,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"OneTypeIsBoolean","lowerBound":0,"id":473,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SortedByElementTypeIsSourceElementType","lowerBound":0,"id":474,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ForAllTypeIsBoolean","lowerBound":0,"id":475,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CollectHasOneIterator","lowerBound":0,"id":476,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ClosureElementTypeIsSourceElementType","lowerBound":0,"id":477,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CollectElementTypeIsSourceElementType","lowerBound":0,"id":478,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ClosureHasOneIterator","lowerBound":0,"id":479,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ClosureBodyTypeIsConformanttoIteratorType","lowerBound":0,"id":480,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"SortedByIteratorTypeIsComparable","lowerBound":0,"id":481,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CollectNestedTypeIsBodyType","lowerBound":0,"id":482,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"IsUniqueHasOneIterator","lowerBound":0,"id":483,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"RejectOrSelectHasOneIterator","lowerBound":0,"id":484,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ForAllBodyTypeIsBoolean","lowerBound":0,"id":485,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"IsUniqueTypeIsBoolean","lowerBound":0,"id":486,"many":false,"required":false,"eClass":"EOperation"},{"id":487,"eClass":"EGenericType"},{"id":488,"eClass":"EGenericType"},{"id":489,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":490,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":491,"many":false,"required":false,"eClass":"EParameter"},{"id":492,"eClass":"EGenericType"},{"id":493,"eClass":"EGenericType"},{"id":494,"eClass":"EGenericType"},{"id":495,"eClass":"EGenericType"},{"id":496,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":497,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":498,"many":false,"required":false,"eClass":"EParameter"},{"id":499,"eClass":"EGenericType"},{"id":500,"eClass":"EGenericType"},{"id":501,"eClass":"EGenericType"},{"id":502,"eClass":"EGenericType"},{"id":503,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":504,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":505,"many":false,"required":false,"eClass":"EParameter"},{"id":506,"eClass":"EGenericType"},{"id":507,"eClass":"EGenericType"},{"id":508,"eClass":"EGenericType"},{"id":509,"eClass":"EGenericType"},{"id":510,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":511,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":512,"many":false,"required":false,"eClass":"EParameter"},{"id":513,"eClass":"EGenericType"},{"id":514,"eClass":"EGenericType"},{"id":515,"eClass":"EGenericType"},{"id":516,"eClass":"EGenericType"},{"id":517,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":518,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":519,"many":false,"required":false,"eClass":"EParameter"},{"id":520,"eClass":"EGenericType"},{"id":521,"eClass":"EGenericType"},{"id":522,"eClass":"EGenericType"},{"id":523,"eClass":"EGenericType"},{"id":524,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":525,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":526,"many":false,"required":false,"eClass":"EParameter"},{"id":527,"eClass":"EGenericType"},{"id":528,"eClass":"EGenericType"},{"id":529,"eClass":"EGenericType"},{"id":530,"eClass":"EGenericType"},{"id":531,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":532,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":533,"many":false,"required":false,"eClass":"EParameter"},{"id":534,"eClass":"EGenericType"},{"id":535,"eClass":"EGenericType"},{"id":536,"eClass":"EGenericType"},{"id":537,"eClass":"EGenericType"},{"id":538,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":539,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":540,"many":false,"required":false,"eClass":"EParameter"},{"id":541,"eClass":"EGenericType"},{"id":542,"eClass":"EGenericType"},{"id":543,"eClass":"EGenericType"},{"id":544,"eClass":"EGenericType"},{"id":545,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":546,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":547,"many":false,"required":false,"eClass":"EParameter"},{"id":548,"eClass":"EGenericType"},{"id":549,"eClass":"EGenericType"},{"id":550,"eClass":"EGenericType"},{"id":551,"eClass":"EGenericType"},{"id":552,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":553,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":554,"many":false,"required":false,"eClass":"EParameter"},{"id":555,"eClass":"EGenericType"},{"id":556,"eClass":"EGenericType"},{"id":557,"eClass":"EGenericType"},{"id":558,"eClass":"EGenericType"},{"id":559,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":560,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":561,"many":false,"required":false,"eClass":"EParameter"},{"id":562,"eClass":"EGenericType"},{"id":563,"eClass":"EGenericType"},{"id":564,"eClass":"EGenericType"},{"id":565,"eClass":"EGenericType"},{"id":566,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":567,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":568,"many":false,"required":false,"eClass":"EParameter"},{"id":569,"eClass":"EGenericType"},{"id":570,"eClass":"EGenericType"},{"id":571,"eClass":"EGenericType"},{"id":572,"eClass":"EGenericType"},{"id":573,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":574,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":575,"many":false,"required":false,"eClass":"EParameter"},{"id":576,"eClass":"EGenericType"},{"id":577,"eClass":"EGenericType"},{"id":578,"eClass":"EGenericType"},{"id":579,"eClass":"EGenericType"},{"id":580,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":581,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":582,"many":false,"required":false,"eClass":"EParameter"},{"id":583,"eClass":"EGenericType"},{"id":584,"eClass":"EGenericType"},{"id":585,"eClass":"EGenericType"},{"id":586,"eClass":"EGenericType"},{"id":587,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":588,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":589,"many":false,"required":false,"eClass":"EParameter"},{"id":590,"eClass":"EGenericType"},{"id":591,"eClass":"EGenericType"},{"id":592,"eClass":"EGenericType"},{"id":593,"eClass":"EGenericType"},{"id":594,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":595,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":596,"many":false,"required":false,"eClass":"EParameter"},{"id":597,"eClass":"EGenericType"},{"id":598,"eClass":"EGenericType"},{"id":599,"eClass":"EGenericType"},{"id":600,"eClass":"EGenericType"},{"id":601,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":602,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":603,"many":false,"required":false,"eClass":"EParameter"},{"id":604,"eClass":"EGenericType"},{"id":605,"eClass":"EGenericType"},{"id":606,"eClass":"EGenericType"},{"id":607,"eClass":"EGenericType"},{"id":608,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":609,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":610,"many":false,"required":false,"eClass":"EParameter"},{"id":611,"eClass":"EGenericType"},{"id":612,"eClass":"EGenericType"},{"id":613,"eClass":"EGenericType"},{"id":614,"eClass":"EGenericType"},{"id":615,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":616,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":617,"many":false,"required":false,"eClass":"EParameter"},{"id":618,"eClass":"EGenericType"},{"id":619,"eClass":"EGenericType"},{"id":620,"eClass":"EGenericType"},{"id":621,"eClass":"EGenericType"},{"id":622,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":623,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":624,"many":false,"required":false,"eClass":"EParameter"},{"id":625,"eClass":"EGenericType"},{"id":626,"eClass":"EGenericType"},{"id":627,"eClass":"EGenericType"},{"id":628,"eClass":"EGenericType"},{"id":629,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":630,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":631,"many":false,"required":false,"eClass":"EParameter"},{"id":632,"eClass":"EGenericType"},{"id":633,"eClass":"EGenericType"},{"id":634,"eClass":"EGenericType"},{"id":635,"eClass":"EGenericType"},{"id":636,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":637,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":638,"many":false,"required":false,"eClass":"EParameter"},{"id":639,"eClass":"EGenericType"},{"id":640,"eClass":"EGenericType"},{"id":641,"eClass":"EGenericType"},{"id":642,"eClass":"EGenericType"},{"id":643,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":644,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":645,"many":false,"required":false,"eClass":"EParameter"},{"id":646,"eClass":"EGenericType"},{"id":647,"eClass":"EGenericType"},{"id":648,"eClass":"EGenericType"},{"id":649,"eClass":"EGenericType"},{"id":650,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":651,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":652,"many":false,"required":false,"eClass":"EParameter"},{"id":653,"eClass":"EGenericType"},{"id":654,"eClass":"EGenericType"},{"id":655,"eClass":"EGenericType"},{"id":656,"eClass":"EGenericType"},{"id":657,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":658,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":659,"many":false,"required":false,"eClass":"EParameter"},{"id":660,"eClass":"EGenericType"},{"id":661,"eClass":"EGenericType"},{"id":662,"eClass":"EGenericType"},{"id":663,"eClass":"EGenericType"},{"id":664,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":665,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":666,"many":false,"required":false,"eClass":"EParameter"},{"id":667,"eClass":"EGenericType"},{"id":668,"eClass":"EGenericType"},{"id":669,"eClass":"EGenericType"},{"id":670,"eClass":"EGenericType"},{"id":671,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":672,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":673,"many":false,"required":false,"eClass":"EParameter"},{"id":674,"eClass":"EGenericType"},{"id":675,"eClass":"EGenericType"},{"id":676,"eClass":"EGenericType"},{"id":677,"eClass":"EGenericType"},{"id":678,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":679,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":680,"many":false,"required":false,"eClass":"EParameter"},{"id":681,"eClass":"EGenericType"},{"id":682,"eClass":"EGenericType"},{"id":683,"eClass":"EGenericType"},{"id":684,"eClass":"EGenericType"},{"id":685,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":686,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":687,"many":false,"required":false,"eClass":"EParameter"},{"id":688,"eClass":"EGenericType"},{"id":689,"eClass":"EGenericType"},{"id":690,"eClass":"EGenericType"},{"id":691,"eClass":"EGenericType"},{"id":692,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":693,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":694,"many":false,"required":false,"eClass":"EParameter"},{"id":695,"eClass":"EGenericType"},{"id":696,"eClass":"EGenericType"},{"id":697,"eClass":"EGenericType"},{"id":698,"eClass":"EGenericType"},{"id":699,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":700,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":701,"many":false,"required":false,"eClass":"EParameter"},{"id":702,"eClass":"EGenericType"},{"id":703,"eClass":"EGenericType"},{"id":704,"eClass":"EGenericType"},{"id":705,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"contextType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":706,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":false,"name":"parameterType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":707,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"resultType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":708,"derived":false},{"id":709,"eClass":"EGenericType"},{"id":710,"eClass":"EGenericType"},{"id":711,"eClass":"EGenericType"},{"id":712,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"TypeIsInType","lowerBound":0,"id":713,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"in","changeable":true,"resolveProxies":true,"lowerBound":1,"id":714,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"variable","changeable":true,"resolveProxies":true,"lowerBound":1,"id":715,"derived":false},{"id":716,"eClass":"EGenericType"},{"id":717,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":718,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":719,"many":false,"required":false,"eClass":"EParameter"},{"id":720,"eClass":"EGenericType"},{"id":721,"eClass":"EGenericType"},{"id":722,"eClass":"EGenericType"},{"id":723,"eClass":"EGenericType"},{"id":724,"eClass":"EGenericType"},{"id":725,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedPrecedence","changeable":true,"resolveProxies":true,"lowerBound":0,"id":726,"derived":false},{"id":727,"eClass":"EGenericType"},{"id":728,"eClass":"EGenericType"},{"id":729,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"SourceIsCollection","lowerBound":0,"id":730,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"NoInitializers","lowerBound":0,"id":731,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"body","changeable":true,"resolveProxies":true,"lowerBound":1,"id":732,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"iterator","changeable":true,"resolveProxies":true,"lowerBound":0,"id":733,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredIteration","changeable":true,"resolveProxies":true,"lowerBound":0,"id":734,"derived":false},{"id":735,"eClass":"EGenericType"},{"id":736,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":737,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":738,"many":false,"required":false,"eClass":"EParameter"},{"id":739,"eClass":"EGenericType"},{"id":740,"eClass":"EGenericType"},{"id":741,"eClass":"EGenericType"},{"id":742,"eClass":"EGenericType"},{"id":743,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":744,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":745,"many":false,"required":false,"eClass":"EParameter"},{"id":746,"eClass":"EGenericType"},{"id":747,"eClass":"EGenericType"},{"id":748,"eClass":"EGenericType"},{"id":749,"eClass":"EGenericType"},{"id":750,"eClass":"EGenericType"},{"id":751,"eClass":"EGenericType"},{"id":752,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"OneCallOrOneSend","lowerBound":0,"id":753,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"TargetIsNotACollection","lowerBound":0,"id":754,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"target","changeable":true,"resolveProxies":true,"lowerBound":1,"id":755,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"argument","changeable":true,"resolveProxies":true,"lowerBound":0,"id":756,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"calledOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":757,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"sentSignal","changeable":true,"resolveProxies":true,"lowerBound":0,"id":758,"derived":false},{"id":759,"eClass":"EGenericType"},{"id":760,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":761,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":762,"many":false,"required":false,"eClass":"EParameter"},{"id":763,"eClass":"EGenericType"},{"id":764,"eClass":"EGenericType"},{"id":765,"eClass":"EGenericType"},{"id":766,"eClass":"EGenericType"},{"id":767,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":768,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":769,"many":false,"required":false,"eClass":"EParameter"},{"id":770,"eClass":"EGenericType"},{"id":771,"eClass":"EGenericType"},{"id":772,"eClass":"EGenericType"},{"id":773,"eClass":"EGenericType"},{"id":774,"eClass":"EGenericType"},{"id":775,"eClass":"EGenericType"},{"id":776,"eClass":"EGenericType"},{"id":777,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredSignal","changeable":true,"resolveProxies":true,"lowerBound":0,"id":778,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":779,"derived":false},{"id":780,"eClass":"EGenericType"},{"id":781,"eClass":"EGenericType"},{"id":782,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"instanceType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":783,"derived":false},{"id":784,"eClass":"EGenericType"},{"id":785,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":786,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"isStatic","changeable":true,"lowerBound":1,"iD":false,"id":787,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedAnnotation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":788,"derived":false},{"id":789,"eClass":"EGenericType"},{"id":790,"eClass":"EGenericType"},{"id":791,"eClass":"EGenericType"},{"id":792,"eClass":"EGenericType"},{"id":793,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedRule","changeable":true,"resolveProxies":true,"lowerBound":0,"id":794,"derived":false},{"id":795,"eClass":"EGenericType"},{"id":796,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"qualifier","changeable":true,"resolveProxies":true,"lowerBound":0,"id":797,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"navigationSource","changeable":true,"resolveProxies":true,"lowerBound":0,"id":798,"derived":false},{"id":799,"eClass":"EGenericType"},{"id":800,"eClass":"EGenericType"},{"id":801,"eClass":"EGenericType"},{"id":802,"eClass":"EGenericType"},{"id":803,"eClass":"EGenericType"},{"id":804,"eClass":"EGenericType"},{"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"body","changeable":true,"lowerBound":0,"iD":false,"id":805,"derived":false},{"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"language","changeable":true,"lowerBound":0,"iD":false,"id":806,"derived":false},{"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"message","changeable":true,"lowerBound":0,"iD":false,"id":807,"derived":false},{"id":808,"eClass":"EGenericType"},{"id":809,"eClass":"EGenericType"},{"id":810,"eClass":"EGenericType"},{"id":811,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"CompatibleReturn","lowerBound":0,"id":812,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"LoadableImplementation","lowerBound":0,"id":813,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"UniquePreconditionName","lowerBound":0,"id":814,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"UniquePostconditionName","lowerBound":0,"id":815,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"raisedException","changeable":true,"resolveProxies":true,"lowerBound":0,"id":816,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":817,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":818,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"precondition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":819,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"postcondition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":820,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"bodyExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":821,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isInvalidating","changeable":true,"lowerBound":1,"iD":false,"id":822,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isValidating","changeable":true,"lowerBound":1,"iD":false,"id":823,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"precedence","changeable":true,"resolveProxies":true,"lowerBound":0,"id":824,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":825,"derived":false},{"id":826,"eClass":"EGenericType"},{"id":827,"eClass":"EGenericType"},{"id":828,"eClass":"EGenericType"},{"id":829,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"templateParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":830,"derived":false},{"id":831,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parameteredElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":832,"derived":false},{"id":833,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":834,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":835,"many":false,"required":false,"eClass":"EParameter"},{"id":836,"eClass":"EGenericType"},{"id":837,"eClass":"EGenericType"},{"id":838,"eClass":"EGenericType"},{"id":839,"eClass":"EGenericType"},{"id":840,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":841,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":842,"many":false,"required":false,"eClass":"EParameter"},{"id":843,"eClass":"EGenericType"},{"id":844,"eClass":"EGenericType"},{"id":845,"eClass":"EGenericType"},{"id":846,"eClass":"EGenericType"},{"id":847,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":848,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":849,"many":false,"required":false,"eClass":"EParameter"},{"id":850,"eClass":"EGenericType"},{"id":851,"eClass":"EGenericType"},{"id":852,"eClass":"EGenericType"},{"id":853,"eClass":"EGenericType"},{"id":854,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":855,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":856,"many":false,"required":false,"eClass":"EParameter"},{"id":857,"eClass":"EGenericType"},{"id":858,"eClass":"EGenericType"},{"id":859,"eClass":"EGenericType"},{"id":860,"eClass":"EGenericType"},{"id":861,"eClass":"EGenericType"},{"id":862,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"operation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":863,"derived":false},{"id":864,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":865,"derived":false},{"id":866,"eClass":"EGenericType"},{"id":867,"eClass":"EGenericType"},{"id":868,"eClass":"EGenericType"},{"id":869,"eClass":"EGenericType"},{"id":870,"eClass":"EGenericType"},{"id":871,"eClass":"EGenericType"},{"id":872,"eClass":"EGenericType"},{"id":873,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"ArgumentCount","lowerBound":0,"id":874,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"ArgumentTypeIsConformant","lowerBound":0,"id":875,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"argument","changeable":true,"resolveProxies":true,"lowerBound":0,"id":876,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredOperation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":877,"derived":false},{"id":878,"eClass":"EGenericType"},{"id":879,"eClass":"EGenericType"},{"id":880,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":881,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":882,"many":false,"required":false,"eClass":"EParameter"},{"id":883,"eClass":"EGenericType"},{"id":884,"eClass":"EGenericType"},{"id":885,"eClass":"EGenericType"},{"id":886,"eClass":"EGenericType"},{"id":887,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":888,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":889,"many":false,"required":false,"eClass":"EParameter"},{"id":890,"eClass":"EGenericType"},{"id":891,"eClass":"EGenericType"},{"id":892,"eClass":"EGenericType"},{"id":893,"eClass":"EGenericType"},{"id":894,"eClass":"EGenericType"},{"id":895,"eClass":"EGenericType"},{"id":896,"eClass":"EGenericType"},{"id":897,"eClass":"EGenericType"},{"id":898,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"nestedPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":899,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"nestingPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":900,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"nsPrefix","changeable":true,"lowerBound":0,"iD":false,"id":901,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"nsURI","changeable":true,"lowerBound":0,"iD":false,"id":902,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"importedPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":903,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":904,"derived":false},{"id":905,"eClass":"EGenericType"},{"id":906,"eClass":"EGenericType"},{"id":907,"eClass":"EGenericType"},{"id":908,"eClass":"EGenericType"},{"id":909,"eClass":"EGenericType"},{"id":910,"eClass":"EGenericType"},{"id":911,"eClass":"EGenericType"},{"id":912,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"package","changeable":true,"resolveProxies":true,"lowerBound":0,"id":913,"derived":false},{"id":914,"eClass":"EGenericType"},{"id":915,"eClass":"EGenericType"},{"id":916,"eClass":"EGenericType"},{"id":917,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isTemplateParameter","lowerBound":1,"id":918,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isCompatibleWith","lowerBound":1,"id":919,"many":false,"required":true,"eClass":"EOperation"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningTemplateParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":920,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"templateParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":921,"derived":false},{"id":922,"eClass":"EGenericType"},{"id":923,"eClass":"EGenericType"},{"id":924,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"p","lowerBound":1,"id":925,"many":false,"required":true,"eClass":"EParameter"},{"id":926,"eClass":"EGenericType"},{"id":927,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedParameteredElement","changeable":true,"resolveProxies":true,"lowerBound":0,"id":928,"derived":false},{"id":929,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parameteredElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":930,"derived":false},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"Left","unsettable":false,"transient":false,"unique":true,"name":"associativity","changeable":true,"lowerBound":0,"iD":false,"id":931,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"0","unsettable":false,"transient":false,"unique":true,"name":"order","changeable":true,"lowerBound":1,"iD":false,"id":932,"derived":false},{"id":933,"eClass":"EGenericType"},{"id":934,"eClass":"EGenericType"},{"id":935,"eClass":"EGenericType"},{"id":936,"eClass":"EGenericType"},{"id":937,"eClass":"EGenericType"},{"id":938,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isAttribute","lowerBound":1,"id":939,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CompatibleDefaultExpression","lowerBound":0,"id":940,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isReadOnly","changeable":true,"lowerBound":1,"iD":false,"id":941,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"default","changeable":true,"lowerBound":0,"iD":false,"id":942,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isComposite","changeable":true,"lowerBound":1,"iD":false,"id":943,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isDerived","changeable":true,"lowerBound":1,"iD":false,"id":944,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"opposite","changeable":true,"resolveProxies":true,"lowerBound":0,"id":945,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"implicit","changeable":true,"lowerBound":0,"iD":false,"id":946,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"defaultExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":947,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isID","changeable":true,"lowerBound":1,"iD":false,"id":948,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"keys","changeable":true,"resolveProxies":true,"lowerBound":0,"id":949,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"isResolveProxies","changeable":true,"lowerBound":1,"iD":false,"id":950,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isTransient","changeable":true,"lowerBound":1,"iD":false,"id":951,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isUnsettable","changeable":true,"lowerBound":1,"iD":false,"id":952,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isVolatile","changeable":true,"lowerBound":1,"iD":false,"id":953,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":954,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"subsettedProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":955,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":956,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"owningType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":957,"derived":false},{"id":958,"eClass":"EGenericType"},{"id":959,"eClass":"EGenericType"},{"id":960,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"p","lowerBound":1,"id":961,"many":false,"required":true,"eClass":"EParameter"},{"id":962,"eClass":"EGenericType"},{"id":963,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":964,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":965,"many":false,"required":false,"eClass":"EParameter"},{"id":966,"eClass":"EGenericType"},{"id":967,"eClass":"EGenericType"},{"id":968,"eClass":"EGenericType"},{"id":969,"eClass":"EGenericType"},{"id":970,"eClass":"EGenericType"},{"id":971,"eClass":"EGenericType"},{"id":972,"eClass":"EGenericType"},{"id":973,"eClass":"EGenericType"},{"id":974,"eClass":"EGenericType"},{"id":975,"eClass":"EGenericType"},{"id":976,"eClass":"EGenericType"},{"id":977,"eClass":"EGenericType"},{"id":978,"eClass":"EGenericType"},{"id":979,"eClass":"EGenericType"},{"id":980,"eClass":"EGenericType"},{"id":981,"eClass":"EGenericType"},{"id":982,"eClass":"EGenericType"},{"id":983,"eClass":"EGenericType"},{"id":984,"eClass":"EGenericType"},{"id":985,"eClass":"EGenericType"},{"id":986,"eClass":"EGenericType"},{"id":987,"eClass":"EGenericType"},{"id":988,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedAttribute","changeable":true,"resolveProxies":true,"lowerBound":0,"id":989,"derived":false},{"ordered":true,"upperBound":1,"unique":true,"name":"getSpecializedReferredPropertyOwningType","lowerBound":1,"id":990,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getSpecializedReferredPropertyType","lowerBound":1,"id":991,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"NonStaticSourceTypeIsConformant","lowerBound":0,"id":992,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"CompatibleResultType","lowerBound":0,"id":993,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredProperty","changeable":true,"resolveProxies":true,"lowerBound":0,"id":994,"derived":false},{"id":995,"eClass":"EGenericType"},{"id":996,"eClass":"EGenericType"},{"id":997,"eClass":"EGenericType"},{"id":998,"eClass":"EGenericType"},{"id":999,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1000,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1001,"many":false,"required":false,"eClass":"EParameter"},{"id":1002,"eClass":"EGenericType"},{"id":1003,"eClass":"EGenericType"},{"id":1004,"eClass":"EGenericType"},{"id":1005,"eClass":"EGenericType"},{"id":1006,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1007,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1008,"many":false,"required":false,"eClass":"EParameter"},{"id":1009,"eClass":"EGenericType"},{"id":1010,"eClass":"EGenericType"},{"id":1011,"eClass":"EGenericType"},{"id":1012,"eClass":"EGenericType"},{"id":1013,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"initial","unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":1,"iD":false,"id":1014,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"stateMachine","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1015,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"state","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1016,"derived":false},{"id":1017,"eClass":"EGenericType"},{"id":1018,"eClass":"EGenericType"},{"id":1019,"eClass":"EGenericType"},{"id":1020,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"realSymbol","changeable":true,"lowerBound":1,"iD":false,"id":1021,"derived":false},{"id":1022,"eClass":"EGenericType"},{"id":1023,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"getReferredElement","lowerBound":1,"id":1024,"many":false,"required":true,"eClass":"EOperation"},{"id":1025,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"transition","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1026,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"stateMachine","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1027,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"state","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1028,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"extendedRegion","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1029,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"subvertex","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1030,"derived":false},{"id":1031,"eClass":"EGenericType"},{"id":1032,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"container","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1033,"derived":false},{"id":1034,"eClass":"EGenericType"},{"id":1035,"eClass":"EGenericType"},{"id":1036,"eClass":"EGenericType"},{"id":1037,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"container","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1038,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"nestedPackage","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1039,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"externalURI","changeable":true,"lowerBound":0,"iD":false,"id":1040,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"imports","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1041,"derived":false},{"id":1042,"eClass":"EGenericType"},{"id":1043,"eClass":"EGenericType"},{"id":1044,"eClass":"EGenericType"},{"id":1045,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"specializeIn","lowerBound":1,"id":1046,"many":false,"required":true,"eClass":"EOperation"},{"id":1047,"eClass":"EGenericType"},{"id":1048,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"expr","lowerBound":1,"id":1049,"many":false,"required":true,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"selfType","lowerBound":1,"id":1050,"many":false,"required":true,"eClass":"EParameter"},{"id":1051,"eClass":"EGenericType"},{"id":1052,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"signal","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1053,"derived":false},{"id":1054,"eClass":"EGenericType"},{"id":1055,"eClass":"EGenericType"},{"id":1056,"eClass":"EGenericType"},{"id":1057,"eClass":"EGenericType"},{"id":1058,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":true,"unique":true,"name":"isComposite","changeable":true,"lowerBound":1,"iD":false,"id":1059,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":true,"unique":true,"name":"isOrthogonal","changeable":true,"lowerBound":1,"iD":false,"id":1060,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":true,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":true,"unique":true,"name":"isSimple","changeable":true,"lowerBound":1,"iD":false,"id":1061,"derived":true},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"isSubmachineState","changeable":true,"lowerBound":1,"iD":false,"id":1062,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"submachine","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1063,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"connection","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1064,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"redefinedState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1065,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"region","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1066,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"stateInvariant","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1067,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"entry","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1068,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"exit","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1069,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"doActivity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1070,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"connectionPoint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1071,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"deferrableTrigger","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1072,"derived":false},{"id":1073,"eClass":"EGenericType"},{"id":1074,"eClass":"EGenericType"},{"id":1075,"eClass":"EGenericType"},{"id":1076,"eClass":"EGenericType"},{"id":1077,"eClass":"EGenericType"},{"id":1078,"eClass":"EGenericType"},{"id":1079,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"submachineState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1080,"derived":false},{"id":1081,"eClass":"EGenericType"},{"id":1082,"eClass":"EGenericType"},{"id":1083,"eClass":"EGenericType"},{"id":1084,"eClass":"EGenericType"},{"id":1085,"eClass":"EGenericType"},{"id":1086,"eClass":"EGenericType"},{"id":1087,"eClass":"EGenericType"},{"id":1088,"eClass":"EGenericType"},{"id":1089,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredState","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1090,"derived":false},{"id":1091,"eClass":"EGenericType"},{"id":1092,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"region","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1093,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"connectionPoint","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1094,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"extendedStateMachine","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1095,"derived":false},{"id":1096,"eClass":"EGenericType"},{"id":1097,"eClass":"EGenericType"},{"id":1098,"eClass":"EGenericType"},{"id":1099,"eClass":"EGenericType"},{"id":1100,"eClass":"EGenericType"},{"id":1101,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"stringSymbol","changeable":true,"lowerBound":1,"iD":false,"id":1102,"derived":false},{"id":1103,"eClass":"EGenericType"},{"id":1104,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"signature","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1105,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"parameterSubstitution","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1106,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"boundElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1107,"derived":false},{"id":1108,"eClass":"EGenericType"},{"id":1109,"eClass":"EGenericType"},{"id":1110,"eClass":"EGenericType"},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"templateBinding","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1111,"derived":false},{"id":1112,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"templateBinding","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1113,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"signature","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1114,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"default","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1115,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedDefault","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1116,"derived":false},{"id":1117,"eClass":"EGenericType"},{"id":1118,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1119,"derived":false},{"id":1120,"eClass":"EGenericType"},{"id":1121,"eClass":"EGenericType"},{"id":1122,"eClass":"EGenericType"},{"id":1123,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"formal","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1124,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"actual","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1125,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedActual","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1126,"derived":false},{"id":1127,"eClass":"EGenericType"},{"id":1128,"eClass":"EGenericType"},{"id":1129,"eClass":"EGenericType"},{"id":1130,"eClass":"EGenericType"},{"id":1131,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"specification","changeable":true,"lowerBound":0,"iD":false,"id":1132,"derived":false},{"id":1133,"eClass":"EGenericType"},{"id":1134,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parameter","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1135,"derived":false},{"container":true,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"template","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1136,"derived":false},{"id":1137,"eClass":"EGenericType"},{"id":1138,"eClass":"EGenericType"},{"id":1139,"eClass":"EGenericType"},{"id":1140,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedTemplateSignature","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1141,"derived":false},{"ordered":false,"upperBound":-1,"unique":true,"name":"parameterableElements","lowerBound":0,"id":1142,"many":true,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isTemplate","lowerBound":1,"id":1143,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":true,"unique":true,"name":"unspecializedElement","changeable":true,"resolveProxies":false,"lowerBound":0,"id":1144,"derived":false},{"id":1145,"eClass":"EGenericType"},{"id":1146,"eClass":"EGenericType"},{"id":1147,"eClass":"EGenericType"},{"id":1148,"eClass":"EGenericType"},{"id":1149,"eClass":"EGenericType"},{"id":1150,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"external","unsettable":false,"transient":false,"unique":true,"name":"kind","changeable":true,"lowerBound":1,"iD":false,"id":1151,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"source","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1152,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"target","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1153,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"guard","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1154,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"effect","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1155,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"trigger","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1156,"derived":false},{"id":1157,"eClass":"EGenericType"},{"id":1158,"eClass":"EGenericType"},{"id":1159,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"outgoing","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1160,"derived":false},{"id":1161,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"incoming","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1162,"derived":false},{"id":1163,"eClass":"EGenericType"},{"id":1164,"eClass":"EGenericType"},{"id":1165,"eClass":"EGenericType"},{"id":1166,"eClass":"EGenericType"},{"id":1167,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"part","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1168,"derived":false},{"id":1169,"eClass":"EGenericType"},{"id":1170,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"initExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1171,"derived":false},{"id":1172,"eClass":"EGenericType"},{"id":1173,"eClass":"EGenericType"},{"id":1174,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"specializeIn","lowerBound":1,"id":1175,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"UniqueInvariantName","lowerBound":0,"id":1176,"many":false,"required":false,"eClass":"EOperation"},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"superClass","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1177,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"ownedInvariant","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1178,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"instanceClassName","changeable":true,"lowerBound":0,"iD":false,"id":1179,"derived":false},{"id":1180,"eClass":"EGenericType"},{"id":1181,"eClass":"EGenericType"},{"id":1182,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isTemplate","lowerBound":1,"id":1183,"many":false,"required":true,"eClass":"EOperation"},{"id":1184,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"templateParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1185,"derived":false},{"id":1186,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"parameteredElement","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1187,"derived":false},{"id":1188,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"expr","lowerBound":1,"id":1189,"many":false,"required":true,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"selfType","lowerBound":1,"id":1190,"many":false,"required":true,"eClass":"EParameter"},{"id":1191,"eClass":"EGenericType"},{"id":1192,"eClass":"EGenericType"},{"id":1193,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"diagnostics","lowerBound":0,"id":1194,"many":false,"required":false,"eClass":"EParameter"},{"ordered":true,"upperBound":1,"unique":true,"name":"context","lowerBound":0,"id":1195,"many":false,"required":false,"eClass":"EParameter"},{"id":1196,"eClass":"EGenericType"},{"id":1197,"eClass":"EGenericType"},{"id":1198,"eClass":"EGenericType"},{"id":1199,"eClass":"EGenericType"},{"id":1200,"eClass":"EGenericType"},{"id":1201,"eClass":"EGenericType"},{"id":1202,"eClass":"EGenericType"},{"id":1203,"eClass":"EGenericType"},{"id":1204,"eClass":"EGenericType"},{"id":1205,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1206,"derived":false},{"id":1207,"eClass":"EGenericType"},{"id":1208,"eClass":"EGenericType"},{"id":1209,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"allowSubstitutable","changeable":true,"lowerBound":1,"iD":false,"id":1210,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"constrainingType","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1211,"derived":false},{"id":1212,"eClass":"EGenericType"},{"id":1213,"eClass":"EGenericType"},{"id":1214,"eClass":"EGenericType"},{"id":1215,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"type","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1216,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"isRequired","changeable":true,"lowerBound":1,"iD":false,"id":1217,"derived":false},{"id":1218,"eClass":"EGenericType"},{"id":1219,"eClass":"EGenericType"},{"id":1220,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"CompatibleBody","lowerBound":1,"id":1221,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"makeParameter","lowerBound":1,"id":1222,"many":false,"required":true,"eClass":"EOperation"},{"id":1223,"eClass":"EGenericType"},{"id":1224,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"bodySpecification","lowerBound":1,"id":1225,"many":false,"required":true,"eClass":"EParameter"},{"id":1226,"eClass":"EGenericType"},{"id":1227,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"unlimitedNaturalSymbol","changeable":true,"lowerBound":1,"iD":false,"id":1228,"derived":false},{"id":1229,"eClass":"EGenericType"},{"id":1230,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"lowerBound","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1231,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"upperBound","changeable":true,"resolveProxies":true,"lowerBound":1,"id":1232,"derived":false},{"id":1233,"eClass":"EGenericType"},{"id":1234,"eClass":"EGenericType"},{"id":1235,"eClass":"EGenericType"},{"id":1236,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"isComputable","lowerBound":1,"id":1237,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"integerValue","lowerBound":1,"id":1238,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"booleanValue","lowerBound":1,"id":1239,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"stringValue","lowerBound":1,"id":1240,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"unlimitedValue","lowerBound":1,"id":1241,"many":false,"required":true,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"isNull","lowerBound":1,"id":1242,"many":false,"required":true,"eClass":"EOperation"},{"id":1243,"eClass":"EGenericType"},{"id":1244,"eClass":"EGenericType"},{"id":1245,"eClass":"EGenericType"},{"id":1246,"eClass":"EGenericType"},{"id":1247,"eClass":"EGenericType"},{"id":1248,"eClass":"EGenericType"},{"id":1249,"eClass":"EGenericType"},{"id":1250,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"initExpression","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1251,"derived":false},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"representedParameter","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1252,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"implicit","changeable":true,"lowerBound":0,"iD":false,"id":1253,"derived":false},{"id":1254,"eClass":"EGenericType"},{"id":1255,"eClass":"EGenericType"},{"id":1256,"eClass":"EGenericType"},{"id":1257,"eClass":"EGenericType"},{"id":1258,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredVariable","changeable":true,"resolveProxies":true,"lowerBound":0,"id":1259,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":"false","unsettable":false,"transient":false,"unique":true,"name":"implicit","changeable":true,"lowerBound":0,"iD":false,"id":1260,"derived":false},{"id":1261,"eClass":"EGenericType"},{"id":1262,"eClass":"EGenericType"},{"id":1263,"eClass":"EGenericType"},{"id":1264,"eClass":"EGenericType"},{"id":1265,"eClass":"EGenericType"},{"id":1266,"eClass":"EGenericType"},{"id":1267,"eClass":"EGenericType"},{"id":1268,"eClass":"EGenericType"},{"name":"R","id":1269,"eClass":"ETypeParameter"},{"id":1270,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":0,"target":17},{"source":0,"target":18},{"source":0,"target":19},{"source":0,"target":20},{"source":0,"target":21},{"source":0,"target":22},{"source":0,"target":23},{"source":0,"target":24},{"source":0,"target":25},{"source":0,"target":26},{"source":0,"target":27},{"source":0,"target":28},{"source":0,"target":29},{"source":0,"target":30},{"source":0,"target":31},{"source":0,"target":32},{"source":0,"target":33},{"source":0,"target":34},{"source":0,"target":35},{"source":0,"target":36},{"source":0,"target":37},{"source":0,"target":38},{"source":0,"target":39},{"source":0,"target":40},{"source":0,"target":41},{"source":0,"target":42},{"source":0,"target":43},{"source":0,"target":44},{"source":0,"target":45},{"source":0,"target":46},{"source":0,"target":47},{"source":0,"target":48},{"source":0,"target":49},{"source":0,"target":50},{"source":0,"target":51},{"source":0,"target":52},{"source":0,"target":53},{"source":0,"target":54},{"source":0,"target":55},{"source":0,"target":56},{"source":0,"target":57},{"source":0,"target":58},{"source":0,"target":59},{"source":0,"target":60},{"source":0,"target":61},{"source":0,"target":62},{"source":0,"target":63},{"source":0,"target":64},{"source":0,"target":65},{"source":0,"target":66},{"source":0,"target":67},{"source":0,"target":68},{"source":0,"target":69},{"source":0,"target":70},{"source":0,"target":71},{"source":0,"target":72},{"source":0,"target":73},{"source":0,"target":74},{"source":0,"target":75},{"source":0,"target":76},{"source":0,"target":77},{"source":0,"target":78},{"source":0,"target":79},{"source":0,"target":80},{"source":0,"target":81},{"source":0,"target":82},{"source":0,"target":83},{"source":0,"target":84},{"source":0,"target":85},{"source":0,"target":86},{"source":0,"target":87},{"source":0,"target":88},{"source":0,"target":89},{"source":0,"target":90},{"source":0,"target":91},{"source":0,"target":92},{"source":0,"target":93},{"source":0,"target":94},{"source":0,"target":95},{"source":0,"target":96},{"source":0,"target":97},{"source":0,"target":98},{"source":0,"target":99},{"source":0,"target":100},{"source":0,"target":101},{"source":0,"target":102},{"source":0,"target":103},{"source":0,"target":104},{"source":0,"target":105},{"source":0,"target":106},{"source":0,"target":107},{"source":0,"target":108},{"source":0,"target":109},{"source":0,"target":110},{"source":0,"target":111},{"source":0,"target":112},{"source":0,"target":113},{"source":0,"target":114},{"source":0,"target":115},{"source":0,"target":116},{"source":0,"target":117},{"source":0,"target":118},{"source":0,"target":119},{"source":0,"target":120},{"source":0,"target":121},{"source":0,"target":122},{"source":0,"target":123},{"source":0,"target":124},{"source":0,"target":125},{"source":0,"target":126},{"source":0,"target":127},{"source":0,"target":128},{"source":1,"target":0},{"source":2,"target":0},{"source":3,"target":0},{"source":4,"target":0},{"source":5,"target":0},{"source":6,"target":0},{"source":7,"target":0},{"source":8,"target":0},{"source":9,"target":0},{"source":9,"target":129},{"source":9,"target":130},{"source":129,"target":9},{"source":130,"target":9},{"source":10,"target":0},{"source":10,"target":131},{"source":10,"target":132},{"source":10,"target":133},{"source":10,"target":134},{"source":10,"target":135},{"source":131,"target":10},{"source":132,"target":10},{"source":133,"target":10},{"source":134,"target":10},{"source":135,"target":10},{"source":11,"target":0},{"source":11,"target":136},{"source":11,"target":137},{"source":11,"target":138},{"source":11,"target":139},{"source":11,"target":140},{"source":11,"target":141},{"source":11,"target":142},{"source":11,"target":143},{"source":11,"target":144},{"source":11,"target":145},{"source":136,"target":11},{"source":137,"target":11},{"source":138,"target":11},{"source":139,"target":11},{"source":140,"target":11},{"source":141,"target":11},{"source":142,"target":11},{"source":143,"target":11},{"source":144,"target":11},{"source":145,"target":11},{"source":12,"target":0},{"source":12,"target":146},{"source":12,"target":147},{"source":12,"target":148},{"source":146,"target":12},{"source":147,"target":12},{"source":148,"target":12},{"source":13,"target":0},{"source":13,"target":65},{"source":13,"target":149},{"source":13,"target":150},{"source":13,"target":151},{"source":13,"target":152},{"source":149,"target":38},{"source":149,"target":153},{"source":149,"target":13},{"source":153,"target":38},{"source":150,"target":34},{"source":150,"target":154},{"source":150,"target":13},{"source":154,"target":34},{"source":151,"target":38},{"source":151,"target":155},{"source":151,"target":13},{"source":155,"target":38},{"source":152,"target":65},{"source":14,"target":0},{"source":14,"target":22},{"source":14,"target":156},{"source":156,"target":22},{"source":15,"target":0},{"source":15,"target":22},{"source":15,"target":157},{"source":15,"target":158},{"source":157,"target":85},{"source":157,"target":159},{"source":157,"target":15},{"source":157,"target":160},{"source":159,"target":85},{"source":158,"target":22},{"source":16,"target":0},{"source":16,"target":67},{"source":16,"target":161},{"source":16,"target":162},{"source":161,"target":15},{"source":161,"target":163},{"source":161,"target":16},{"source":163,"target":15},{"source":162,"target":67},{"source":17,"target":0},{"source":17,"target":27},{"source":17,"target":164},{"source":164,"target":27},{"source":18,"target":0},{"source":18,"target":22},{"source":18,"target":165},{"source":165,"target":22},{"source":19,"target":0},{"source":19,"target":82},{"source":19,"target":166},{"source":19,"target":167},{"source":19,"target":168},{"source":166,"target":169},{"source":166,"target":19},{"source":166,"target":170},{"source":166,"target":171},{"source":170,"target":172},{"source":170,"target":166},{"source":171,"target":173},{"source":171,"target":166},{"source":173,"target":174},{"source":173,"target":175},{"source":167,"target":1},{"source":167,"target":176},{"source":167,"target":19},{"source":176,"target":1},{"source":168,"target":82},{"source":20,"target":0},{"source":20,"target":70},{"source":20,"target":177},{"source":20,"target":178},{"source":20,"target":179},{"source":177,"target":70},{"source":177,"target":180},{"source":177,"target":20},{"source":180,"target":70},{"source":178,"target":1},{"source":178,"target":181},{"source":178,"target":20},{"source":181,"target":1},{"source":179,"target":70},{"source":21,"target":0},{"source":21,"target":65},{"source":21,"target":182},{"source":21,"target":183},{"source":182,"target":72},{"source":182,"target":184},{"source":182,"target":21},{"source":184,"target":72},{"source":183,"target":65},{"source":22,"target":0},{"source":22,"target":113},{"source":22,"target":66},{"source":22,"target":185},{"source":22,"target":186},{"source":22,"target":187},{"source":22,"target":188},{"source":22,"target":189},{"source":190,"target":72},{"source":190,"target":191},{"source":190,"target":192},{"source":191,"target":72},{"source":193,"target":22},{"source":193,"target":194},{"source":194,"target":22},{"source":195,"target":6},{"source":195,"target":196},{"source":196,"target":6},{"source":197,"target":85},{"source":197,"target":198},{"source":197,"target":199},{"source":198,"target":85},{"source":185,"target":1},{"source":185,"target":200},{"source":185,"target":22},{"source":200,"target":1},{"source":186,"target":18},{"source":186,"target":201},{"source":186,"target":22},{"source":201,"target":18},{"source":187,"target":1},{"source":187,"target":202},{"source":187,"target":22},{"source":202,"target":1},{"source":188,"target":113},{"source":189,"target":66},{"source":23,"target":0},{"source":23,"target":25},{"source":23,"target":203},{"source":23,"target":204},{"source":23,"target":205},{"source":203,"target":206},{"source":203,"target":23},{"source":203,"target":207},{"source":203,"target":208},{"source":207,"target":209},{"source":207,"target":203},{"source":208,"target":210},{"source":208,"target":203},{"source":210,"target":211},{"source":210,"target":212},{"source":204,"target":70},{"source":204,"target":213},{"source":204,"target":23},{"source":213,"target":70},{"source":205,"target":25},{"source":24,"target":0},{"source":24,"target":58},{"source":24,"target":214},{"source":24,"target":215},{"source":24,"target":216},{"source":24,"target":217},{"source":24,"target":218},{"source":24,"target":219},{"source":24,"target":220},{"source":24,"target":221},{"source":214,"target":222},{"source":214,"target":24},{"source":214,"target":223},{"source":214,"target":224},{"source":223,"target":225},{"source":223,"target":214},{"source":224,"target":226},{"source":224,"target":214},{"source":226,"target":227},{"source":226,"target":228},{"source":215,"target":229},{"source":215,"target":24},{"source":215,"target":230},{"source":215,"target":231},{"source":230,"target":232},{"source":230,"target":215},{"source":231,"target":233},{"source":231,"target":215},{"source":233,"target":234},{"source":233,"target":235},{"source":216,"target":236},{"source":216,"target":24},{"source":216,"target":237},{"source":216,"target":238},{"source":237,"target":239},{"source":237,"target":216},{"source":238,"target":240},{"source":238,"target":216},{"source":240,"target":241},{"source":240,"target":242},{"source":217,"target":243},{"source":217,"target":24},{"source":217,"target":244},{"source":217,"target":245},{"source":244,"target":246},{"source":244,"target":217},{"source":245,"target":247},{"source":245,"target":217},{"source":247,"target":248},{"source":247,"target":249},{"source":218,"target":250},{"source":218,"target":24},{"source":218,"target":251},{"source":218,"target":252},{"source":251,"target":253},{"source":251,"target":218},{"source":252,"target":254},{"source":252,"target":218},{"source":254,"target":255},{"source":254,"target":256},{"source":219,"target":10},{"source":219,"target":257},{"source":219,"target":24},{"source":257,"target":10},{"source":220,"target":25},{"source":220,"target":258},{"source":220,"target":24},{"source":258,"target":25},{"source":221,"target":58},{"source":25,"target":0},{"source":25,"target":116},{"source":25,"target":259},{"source":259,"target":116},{"source":26,"target":0},{"source":26,"target":25},{"source":26,"target":260},{"source":26,"target":261},{"source":26,"target":262},{"source":260,"target":70},{"source":260,"target":263},{"source":260,"target":26},{"source":263,"target":70},{"source":261,"target":70},{"source":261,"target":264},{"source":261,"target":26},{"source":264,"target":70},{"source":262,"target":25},{"source":27,"target":0},{"source":27,"target":33},{"source":27,"target":265},{"source":27,"target":266},{"source":27,"target":267},{"source":27,"target":268},{"source":265,"target":113},{"source":265,"target":269},{"source":265,"target":27},{"source":269,"target":113},{"source":266,"target":2},{"source":266,"target":270},{"source":266,"target":27},{"source":270,"target":2},{"source":267,"target":8},{"source":267,"target":271},{"source":267,"target":27},{"source":271,"target":8},{"source":268,"target":33},{"source":28,"target":0},{"source":28,"target":38},{"source":28,"target":272},{"source":28,"target":273},{"source":28,"target":274},{"source":272,"target":6},{"source":272,"target":275},{"source":272,"target":28},{"source":275,"target":6},{"source":273,"target":38},{"source":273,"target":276},{"source":273,"target":28},{"source":276,"target":38},{"source":274,"target":38},{"source":29,"target":0},{"source":29,"target":125},{"source":29,"target":277},{"source":29,"target":278},{"source":29,"target":279},{"source":29,"target":280},{"source":277,"target":87},{"source":277,"target":281},{"source":277,"target":29},{"source":281,"target":87},{"source":278,"target":97},{"source":278,"target":282},{"source":278,"target":29},{"source":282,"target":97},{"source":279,"target":87},{"source":279,"target":283},{"source":279,"target":29},{"source":283,"target":87},{"source":280,"target":125},{"source":30,"target":0},{"source":30,"target":65},{"source":30,"target":284},{"source":30,"target":285},{"source":30,"target":286},{"source":30,"target":287},{"source":30,"target":288},{"source":30,"target":289},{"source":284,"target":290},{"source":284,"target":30},{"source":284,"target":291},{"source":284,"target":292},{"source":291,"target":293},{"source":291,"target":284},{"source":292,"target":294},{"source":292,"target":284},{"source":294,"target":295},{"source":294,"target":296},{"source":285,"target":38},{"source":285,"target":297},{"source":285,"target":30},{"source":297,"target":38},{"source":286,"target":71},{"source":286,"target":298},{"source":286,"target":30},{"source":298,"target":71},{"source":287,"target":66},{"source":287,"target":299},{"source":287,"target":30},{"source":299,"target":66},{"source":288,"target":1},{"source":288,"target":300},{"source":288,"target":30},{"source":300,"target":1},{"source":289,"target":65},{"source":31,"target":0},{"source":31,"target":70},{"source":31,"target":301},{"source":31,"target":302},{"source":31,"target":303},{"source":301,"target":32},{"source":301,"target":304},{"source":301,"target":31},{"source":304,"target":32},{"source":302,"target":6},{"source":302,"target":305},{"source":302,"target":31},{"source":305,"target":6},{"source":303,"target":70},{"source":32,"target":0},{"source":32,"target":116},{"source":32,"target":306},{"source":32,"target":307},{"source":32,"target":308},{"source":306,"target":85},{"source":306,"target":309},{"source":306,"target":32},{"source":309,"target":85},{"source":307,"target":70},{"source":307,"target":310},{"source":307,"target":32},{"source":310,"target":70},{"source":308,"target":116},{"source":33,"target":0},{"source":33,"target":22},{"source":33,"target":311},{"source":33,"target":312},{"source":33,"target":313},{"source":311,"target":1},{"source":311,"target":314},{"source":311,"target":33},{"source":314,"target":1},{"source":312,"target":113},{"source":312,"target":315},{"source":312,"target":33},{"source":315,"target":113},{"source":313,"target":22},{"source":34,"target":0},{"source":34,"target":65},{"source":34,"target":316},{"source":34,"target":317},{"source":316,"target":6},{"source":316,"target":318},{"source":316,"target":34},{"source":318,"target":6},{"source":317,"target":65},{"source":35,"target":0},{"source":35,"target":38},{"source":35,"target":319},{"source":35,"target":320},{"source":319,"target":113},{"source":319,"target":321},{"source":319,"target":35},{"source":321,"target":113},{"source":320,"target":38},{"source":36,"target":0},{"source":36,"target":38},{"source":36,"target":322},{"source":36,"target":323},{"source":36,"target":324},{"source":322,"target":85},{"source":322,"target":325},{"source":322,"target":36},{"source":325,"target":85},{"source":323,"target":6},{"source":323,"target":326},{"source":323,"target":36},{"source":326,"target":6},{"source":324,"target":38},{"source":37,"target":0},{"source":37,"target":113},{"source":37,"target":35},{"source":37,"target":327},{"source":37,"target":328},{"source":37,"target":329},{"source":330,"target":113},{"source":330,"target":331},{"source":331,"target":113},{"source":327,"target":36},{"source":327,"target":332},{"source":327,"target":37},{"source":332,"target":36},{"source":328,"target":113},{"source":329,"target":35},{"source":38,"target":0},{"source":38,"target":126},{"source":38,"target":333},{"source":38,"target":334},{"source":38,"target":335},{"source":38,"target":336},{"source":38,"target":337},{"source":333,"target":38},{"source":333,"target":338},{"source":333,"target":38},{"source":338,"target":38},{"source":334,"target":38},{"source":334,"target":339},{"source":334,"target":38},{"source":334,"target":340},{"source":334,"target":341},{"source":339,"target":38},{"source":340,"target":113},{"source":340,"target":342},{"source":340,"target":334},{"source":342,"target":113},{"source":341,"target":6},{"source":341,"target":343},{"source":341,"target":334},{"source":343,"target":6},{"source":335,"target":28},{"source":335,"target":344},{"source":335,"target":38},{"source":344,"target":28},{"source":336,"target":39},{"source":336,"target":345},{"source":336,"target":38},{"source":336,"target":346},{"source":345,"target":39},{"source":337,"target":126},{"source":39,"target":0},{"source":39,"target":113},{"source":39,"target":347},{"source":39,"target":346},{"source":39,"target":348},{"source":347,"target":113},{"source":347,"target":349},{"source":347,"target":39},{"source":349,"target":113},{"source":346,"target":38},{"source":346,"target":350},{"source":346,"target":39},{"source":346,"target":336},{"source":350,"target":38},{"source":348,"target":113},{"source":40,"target":0},{"source":40,"target":58},{"source":40,"target":351},{"source":40,"target":352},{"source":40,"target":353},{"source":351,"target":354},{"source":351,"target":40},{"source":351,"target":355},{"source":351,"target":356},{"source":355,"target":357},{"source":355,"target":351},{"source":356,"target":358},{"source":356,"target":351},{"source":358,"target":359},{"source":358,"target":360},{"source":352,"target":42},{"source":352,"target":361},{"source":352,"target":40},{"source":361,"target":42},{"source":353,"target":58},{"source":41,"target":0},{"source":41,"target":33},{"source":41,"target":362},{"source":41,"target":363},{"source":362,"target":42},{"source":362,"target":364},{"source":362,"target":41},{"source":362,"target":365},{"source":364,"target":42},{"source":363,"target":33},{"source":42,"target":0},{"source":42,"target":65},{"source":42,"target":365},{"source":42,"target":366},{"source":42,"target":367},{"source":365,"target":41},{"source":365,"target":368},{"source":365,"target":42},{"source":365,"target":362},{"source":368,"target":41},{"source":366,"target":2},{"source":366,"target":369},{"source":366,"target":42},{"source":369,"target":2},{"source":367,"target":65},{"source":43,"target":0},{"source":43,"target":71},{"source":43,"target":370},{"source":43,"target":371},{"source":43,"target":372},{"source":43,"target":373},{"source":43,"target":374},{"source":43,"target":375},{"source":370,"target":70},{"source":370,"target":376},{"source":370,"target":43},{"source":376,"target":70},{"source":371,"target":122},{"source":371,"target":377},{"source":371,"target":43},{"source":377,"target":122},{"source":372,"target":122},{"source":372,"target":378},{"source":372,"target":43},{"source":378,"target":122},{"source":373,"target":122},{"source":373,"target":379},{"source":373,"target":43},{"source":379,"target":122},{"source":374,"target":70},{"source":374,"target":380},{"source":374,"target":43},{"source":380,"target":70},{"source":375,"target":71},{"source":44,"target":0},{"source":44,"target":117},{"source":44,"target":381},{"source":44,"target":382},{"source":44,"target":383},{"source":384,"target":1},{"source":384,"target":385},{"source":385,"target":1},{"source":381,"target":6},{"source":381,"target":386},{"source":381,"target":44},{"source":386,"target":6},{"source":382,"target":3},{"source":382,"target":387},{"source":382,"target":44},{"source":387,"target":3},{"source":383,"target":117},{"source":45,"target":0},{"source":45,"target":20},{"source":45,"target":388},{"source":45,"target":389},{"source":388,"target":1},{"source":388,"target":390},{"source":388,"target":45},{"source":390,"target":1},{"source":389,"target":20},{"source":46,"target":0},{"source":46,"target":97},{"source":46,"target":391},{"source":391,"target":97},{"source":47,"target":0},{"source":47,"target":70},{"source":47,"target":392},{"source":47,"target":393},{"source":47,"target":394},{"source":47,"target":395},{"source":47,"target":396},{"source":392,"target":397},{"source":392,"target":47},{"source":392,"target":398},{"source":392,"target":399},{"source":398,"target":400},{"source":398,"target":392},{"source":399,"target":401},{"source":399,"target":392},{"source":401,"target":402},{"source":401,"target":403},{"source":393,"target":70},{"source":393,"target":404},{"source":393,"target":47},{"source":404,"target":70},{"source":394,"target":70},{"source":394,"target":405},{"source":394,"target":47},{"source":405,"target":70},{"source":395,"target":70},{"source":395,"target":406},{"source":395,"target":47},{"source":406,"target":70},{"source":396,"target":70},{"source":48,"target":0},{"source":48,"target":65},{"source":48,"target":407},{"source":48,"target":408},{"source":407,"target":66},{"source":407,"target":409},{"source":407,"target":48},{"source":409,"target":66},{"source":408,"target":65},{"source":49,"target":0},{"source":49,"target":69},{"source":49,"target":410},{"source":49,"target":411},{"source":49,"target":412},{"source":410,"target":413},{"source":410,"target":49},{"source":410,"target":414},{"source":410,"target":415},{"source":414,"target":416},{"source":414,"target":410},{"source":415,"target":417},{"source":415,"target":410},{"source":417,"target":418},{"source":417,"target":419},{"source":411,"target":2},{"source":411,"target":420},{"source":411,"target":49},{"source":420,"target":2},{"source":412,"target":69},{"source":50,"target":0},{"source":50,"target":58},{"source":50,"target":421},{"source":421,"target":58},{"source":51,"target":0},{"source":51,"target":22},{"source":51,"target":422},{"source":422,"target":22},{"source":52,"target":0},{"source":52,"target":59},{"source":52,"target":89},{"source":52,"target":423},{"source":52,"target":424},{"source":52,"target":425},{"source":52,"target":426},{"source":52,"target":427},{"source":52,"target":428},{"source":423,"target":429},{"source":423,"target":52},{"source":423,"target":430},{"source":423,"target":431},{"source":430,"target":432},{"source":430,"target":423},{"source":431,"target":433},{"source":431,"target":423},{"source":433,"target":434},{"source":433,"target":435},{"source":424,"target":436},{"source":424,"target":52},{"source":424,"target":437},{"source":424,"target":438},{"source":437,"target":439},{"source":437,"target":424},{"source":438,"target":440},{"source":438,"target":424},{"source":440,"target":441},{"source":440,"target":442},{"source":425,"target":443},{"source":425,"target":52},{"source":425,"target":444},{"source":425,"target":445},{"source":444,"target":446},{"source":444,"target":425},{"source":445,"target":447},{"source":445,"target":425},{"source":447,"target":448},{"source":447,"target":449},{"source":426,"target":122},{"source":426,"target":450},{"source":426,"target":52},{"source":450,"target":122},{"source":427,"target":59},{"source":428,"target":89},{"source":53,"target":0},{"source":53,"target":72},{"source":53,"target":451},{"source":53,"target":452},{"source":53,"target":453},{"source":451,"target":78},{"source":451,"target":454},{"source":451,"target":53},{"source":454,"target":78},{"source":452,"target":78},{"source":452,"target":455},{"source":452,"target":53},{"source":455,"target":78},{"source":453,"target":72},{"source":54,"target":0},{"source":54,"target":59},{"source":54,"target":89},{"source":54,"target":456},{"source":54,"target":457},{"source":54,"target":458},{"source":54,"target":459},{"source":54,"target":460},{"source":54,"target":461},{"source":54,"target":462},{"source":54,"target":463},{"source":54,"target":464},{"source":54,"target":465},{"source":54,"target":466},{"source":54,"target":467},{"source":54,"target":468},{"source":54,"target":469},{"source":54,"target":470},{"source":54,"target":471},{"source":54,"target":472},{"source":54,"target":473},{"source":54,"target":474},{"source":54,"target":475},{"source":54,"target":476},{"source":54,"target":477},{"source":54,"target":478},{"source":54,"target":479},{"source":54,"target":480},{"source":54,"target":481},{"source":54,"target":482},{"source":54,"target":483},{"source":54,"target":484},{"source":54,"target":485},{"source":54,"target":486},{"source":54,"target":487},{"source":54,"target":488},{"source":456,"target":489},{"source":456,"target":54},{"source":456,"target":490},{"source":456,"target":491},{"source":490,"target":492},{"source":490,"target":456},{"source":491,"target":493},{"source":491,"target":456},{"source":493,"target":494},{"source":493,"target":495},{"source":457,"target":496},{"source":457,"target":54},{"source":457,"target":497},{"source":457,"target":498},{"source":497,"target":499},{"source":497,"target":457},{"source":498,"target":500},{"source":498,"target":457},{"source":500,"target":501},{"source":500,"target":502},{"source":458,"target":503},{"source":458,"target":54},{"source":458,"target":504},{"source":458,"target":505},{"source":504,"target":506},{"source":504,"target":458},{"source":505,"target":507},{"source":505,"target":458},{"source":507,"target":508},{"source":507,"target":509},{"source":459,"target":510},{"source":459,"target":54},{"source":459,"target":511},{"source":459,"target":512},{"source":511,"target":513},{"source":511,"target":459},{"source":512,"target":514},{"source":512,"target":459},{"source":514,"target":515},{"source":514,"target":516},{"source":460,"target":517},{"source":460,"target":54},{"source":460,"target":518},{"source":460,"target":519},{"source":518,"target":520},{"source":518,"target":460},{"source":519,"target":521},{"source":519,"target":460},{"source":521,"target":522},{"source":521,"target":523},{"source":461,"target":524},{"source":461,"target":54},{"source":461,"target":525},{"source":461,"target":526},{"source":525,"target":527},{"source":525,"target":461},{"source":526,"target":528},{"source":526,"target":461},{"source":528,"target":529},{"source":528,"target":530},{"source":462,"target":531},{"source":462,"target":54},{"source":462,"target":532},{"source":462,"target":533},{"source":532,"target":534},{"source":532,"target":462},{"source":533,"target":535},{"source":533,"target":462},{"source":535,"target":536},{"source":535,"target":537},{"source":463,"target":538},{"source":463,"target":54},{"source":463,"target":539},{"source":463,"target":540},{"source":539,"target":541},{"source":539,"target":463},{"source":540,"target":542},{"source":540,"target":463},{"source":542,"target":543},{"source":542,"target":544},{"source":464,"target":545},{"source":464,"target":54},{"source":464,"target":546},{"source":464,"target":547},{"source":546,"target":548},{"source":546,"target":464},{"source":547,"target":549},{"source":547,"target":464},{"source":549,"target":550},{"source":549,"target":551},{"source":465,"target":552},{"source":465,"target":54},{"source":465,"target":553},{"source":465,"target":554},{"source":553,"target":555},{"source":553,"target":465},{"source":554,"target":556},{"source":554,"target":465},{"source":556,"target":557},{"source":556,"target":558},{"source":466,"target":559},{"source":466,"target":54},{"source":466,"target":560},{"source":466,"target":561},{"source":560,"target":562},{"source":560,"target":466},{"source":561,"target":563},{"source":561,"target":466},{"source":563,"target":564},{"source":563,"target":565},{"source":467,"target":566},{"source":467,"target":54},{"source":467,"target":567},{"source":467,"target":568},{"source":567,"target":569},{"source":567,"target":467},{"source":568,"target":570},{"source":568,"target":467},{"source":570,"target":571},{"source":570,"target":572},{"source":468,"target":573},{"source":468,"target":54},{"source":468,"target":574},{"source":468,"target":575},{"source":574,"target":576},{"source":574,"target":468},{"source":575,"target":577},{"source":575,"target":468},{"source":577,"target":578},{"source":577,"target":579},{"source":469,"target":580},{"source":469,"target":54},{"source":469,"target":581},{"source":469,"target":582},{"source":581,"target":583},{"source":581,"target":469},{"source":582,"target":584},{"source":582,"target":469},{"source":584,"target":585},{"source":584,"target":586},{"source":470,"target":587},{"source":470,"target":54},{"source":470,"target":588},{"source":470,"target":589},{"source":588,"target":590},{"source":588,"target":470},{"source":589,"target":591},{"source":589,"target":470},{"source":591,"target":592},{"source":591,"target":593},{"source":471,"target":594},{"source":471,"target":54},{"source":471,"target":595},{"source":471,"target":596},{"source":595,"target":597},{"source":595,"target":471},{"source":596,"target":598},{"source":596,"target":471},{"source":598,"target":599},{"source":598,"target":600},{"source":472,"target":601},{"source":472,"target":54},{"source":472,"target":602},{"source":472,"target":603},{"source":602,"target":604},{"source":602,"target":472},{"source":603,"target":605},{"source":603,"target":472},{"source":605,"target":606},{"source":605,"target":607},{"source":473,"target":608},{"source":473,"target":54},{"source":473,"target":609},{"source":473,"target":610},{"source":609,"target":611},{"source":609,"target":473},{"source":610,"target":612},{"source":610,"target":473},{"source":612,"target":613},{"source":612,"target":614},{"source":474,"target":615},{"source":474,"target":54},{"source":474,"target":616},{"source":474,"target":617},{"source":616,"target":618},{"source":616,"target":474},{"source":617,"target":619},{"source":617,"target":474},{"source":619,"target":620},{"source":619,"target":621},{"source":475,"target":622},{"source":475,"target":54},{"source":475,"target":623},{"source":475,"target":624},{"source":623,"target":625},{"source":623,"target":475},{"source":624,"target":626},{"source":624,"target":475},{"source":626,"target":627},{"source":626,"target":628},{"source":476,"target":629},{"source":476,"target":54},{"source":476,"target":630},{"source":476,"target":631},{"source":630,"target":632},{"source":630,"target":476},{"source":631,"target":633},{"source":631,"target":476},{"source":633,"target":634},{"source":633,"target":635},{"source":477,"target":636},{"source":477,"target":54},{"source":477,"target":637},{"source":477,"target":638},{"source":637,"target":639},{"source":637,"target":477},{"source":638,"target":640},{"source":638,"target":477},{"source":640,"target":641},{"source":640,"target":642},{"source":478,"target":643},{"source":478,"target":54},{"source":478,"target":644},{"source":478,"target":645},{"source":644,"target":646},{"source":644,"target":478},{"source":645,"target":647},{"source":645,"target":478},{"source":647,"target":648},{"source":647,"target":649},{"source":479,"target":650},{"source":479,"target":54},{"source":479,"target":651},{"source":479,"target":652},{"source":651,"target":653},{"source":651,"target":479},{"source":652,"target":654},{"source":652,"target":479},{"source":654,"target":655},{"source":654,"target":656},{"source":480,"target":657},{"source":480,"target":54},{"source":480,"target":658},{"source":480,"target":659},{"source":658,"target":660},{"source":658,"target":480},{"source":659,"target":661},{"source":659,"target":480},{"source":661,"target":662},{"source":661,"target":663},{"source":481,"target":664},{"source":481,"target":54},{"source":481,"target":665},{"source":481,"target":666},{"source":665,"target":667},{"source":665,"target":481},{"source":666,"target":668},{"source":666,"target":481},{"source":668,"target":669},{"source":668,"target":670},{"source":482,"target":671},{"source":482,"target":54},{"source":482,"target":672},{"source":482,"target":673},{"source":672,"target":674},{"source":672,"target":482},{"source":673,"target":675},{"source":673,"target":482},{"source":675,"target":676},{"source":675,"target":677},{"source":483,"target":678},{"source":483,"target":54},{"source":483,"target":679},{"source":483,"target":680},{"source":679,"target":681},{"source":679,"target":483},{"source":680,"target":682},{"source":680,"target":483},{"source":682,"target":683},{"source":682,"target":684},{"source":484,"target":685},{"source":484,"target":54},{"source":484,"target":686},{"source":484,"target":687},{"source":686,"target":688},{"source":686,"target":484},{"source":687,"target":689},{"source":687,"target":484},{"source":689,"target":690},{"source":689,"target":691},{"source":485,"target":692},{"source":485,"target":54},{"source":485,"target":693},{"source":485,"target":694},{"source":693,"target":695},{"source":693,"target":485},{"source":694,"target":696},{"source":694,"target":485},{"source":696,"target":697},{"source":696,"target":698},{"source":486,"target":699},{"source":486,"target":54},{"source":486,"target":700},{"source":486,"target":701},{"source":700,"target":702},{"source":700,"target":486},{"source":701,"target":703},{"source":701,"target":486},{"source":703,"target":704},{"source":703,"target":705},{"source":487,"target":59},{"source":488,"target":89},{"source":55,"target":0},{"source":55,"target":33},{"source":55,"target":706},{"source":55,"target":707},{"source":55,"target":708},{"source":55,"target":709},{"source":706,"target":113},{"source":706,"target":710},{"source":706,"target":55},{"source":710,"target":113},{"source":707,"target":113},{"source":707,"target":711},{"source":707,"target":55},{"source":711,"target":113},{"source":708,"target":113},{"source":708,"target":712},{"source":708,"target":55},{"source":712,"target":113},{"source":709,"target":33},{"source":56,"target":0},{"source":56,"target":70},{"source":56,"target":713},{"source":56,"target":714},{"source":56,"target":715},{"source":56,"target":716},{"source":713,"target":717},{"source":713,"target":56},{"source":713,"target":718},{"source":713,"target":719},{"source":718,"target":720},{"source":718,"target":713},{"source":719,"target":721},{"source":719,"target":713},{"source":721,"target":722},{"source":721,"target":723},{"source":714,"target":70},{"source":714,"target":724},{"source":714,"target":56},{"source":724,"target":70},{"source":715,"target":122},{"source":715,"target":725},{"source":715,"target":56},{"source":725,"target":122},{"source":716,"target":70},{"source":57,"target":0},{"source":57,"target":76},{"source":57,"target":726},{"source":57,"target":727},{"source":726,"target":81},{"source":726,"target":728},{"source":726,"target":57},{"source":728,"target":81},{"source":727,"target":76},{"source":58,"target":0},{"source":58,"target":70},{"source":58,"target":729},{"source":729,"target":70},{"source":59,"target":0},{"source":59,"target":20},{"source":59,"target":730},{"source":59,"target":731},{"source":59,"target":732},{"source":59,"target":733},{"source":59,"target":734},{"source":59,"target":735},{"source":730,"target":736},{"source":730,"target":59},{"source":730,"target":737},{"source":730,"target":738},{"source":737,"target":739},{"source":737,"target":730},{"source":738,"target":740},{"source":738,"target":730},{"source":740,"target":741},{"source":740,"target":742},{"source":731,"target":743},{"source":731,"target":59},{"source":731,"target":744},{"source":731,"target":745},{"source":744,"target":746},{"source":744,"target":731},{"source":745,"target":747},{"source":745,"target":731},{"source":747,"target":748},{"source":747,"target":749},{"source":732,"target":70},{"source":732,"target":750},{"source":732,"target":59},{"source":750,"target":70},{"source":733,"target":122},{"source":733,"target":751},{"source":733,"target":59},{"source":751,"target":122},{"source":734,"target":53},{"source":734,"target":752},{"source":734,"target":59},{"source":752,"target":53},{"source":735,"target":20},{"source":60,"target":0},{"source":60,"target":70},{"source":60,"target":753},{"source":60,"target":754},{"source":60,"target":755},{"source":60,"target":756},{"source":60,"target":757},{"source":60,"target":758},{"source":60,"target":759},{"source":753,"target":760},{"source":753,"target":60},{"source":753,"target":761},{"source":753,"target":762},{"source":761,"target":763},{"source":761,"target":753},{"source":762,"target":764},{"source":762,"target":753},{"source":764,"target":765},{"source":764,"target":766},{"source":754,"target":767},{"source":754,"target":60},{"source":754,"target":768},{"source":754,"target":769},{"source":768,"target":770},{"source":768,"target":754},{"source":769,"target":771},{"source":769,"target":754},{"source":771,"target":772},{"source":771,"target":773},{"source":755,"target":70},{"source":755,"target":774},{"source":755,"target":60},{"source":774,"target":70},{"source":756,"target":70},{"source":756,"target":775},{"source":756,"target":60},{"source":775,"target":70},{"source":757,"target":21},{"source":757,"target":776},{"source":757,"target":60},{"source":776,"target":21},{"source":758,"target":93},{"source":758,"target":777},{"source":758,"target":60},{"source":777,"target":93},{"source":759,"target":70},{"source":61,"target":0},{"source":61,"target":113},{"source":61,"target":778},{"source":61,"target":779},{"source":61,"target":780},{"source":778,"target":96},{"source":778,"target":781},{"source":778,"target":61},{"source":781,"target":96},{"source":779,"target":72},{"source":779,"target":782},{"source":779,"target":61},{"source":782,"target":72},{"source":780,"target":113},{"source":62,"target":0},{"source":62,"target":22},{"source":62,"target":783},{"source":62,"target":784},{"source":783,"target":113},{"source":783,"target":785},{"source":783,"target":62},{"source":785,"target":113},{"source":784,"target":22},{"source":63,"target":0},{"source":64,"target":0},{"source":65,"target":0},{"source":65,"target":38},{"source":65,"target":64},{"source":65,"target":786},{"source":65,"target":787},{"source":65,"target":788},{"source":65,"target":789},{"source":65,"target":790},{"source":786,"target":6},{"source":786,"target":791},{"source":786,"target":65},{"source":791,"target":6},{"source":787,"target":1},{"source":787,"target":792},{"source":787,"target":65},{"source":792,"target":1},{"source":788,"target":13},{"source":788,"target":793},{"source":788,"target":65},{"source":793,"target":13},{"source":789,"target":38},{"source":790,"target":64},{"source":66,"target":0},{"source":66,"target":65},{"source":66,"target":794},{"source":66,"target":795},{"source":794,"target":30},{"source":794,"target":796},{"source":794,"target":66},{"source":796,"target":30},{"source":795,"target":65},{"source":67,"target":0},{"source":67,"target":45},{"source":67,"target":797},{"source":67,"target":798},{"source":67,"target":799},{"source":797,"target":70},{"source":797,"target":800},{"source":797,"target":67},{"source":800,"target":70},{"source":798,"target":85},{"source":798,"target":801},{"source":798,"target":67},{"source":801,"target":85},{"source":799,"target":45},{"source":68,"target":0},{"source":68,"target":82},{"source":68,"target":802},{"source":802,"target":82},{"source":69,"target":0},{"source":69,"target":82},{"source":69,"target":803},{"source":803,"target":82},{"source":70,"target":0},{"source":70,"target":116},{"source":70,"target":804},{"source":804,"target":116},{"source":71,"target":0},{"source":71,"target":121},{"source":71,"target":805},{"source":71,"target":806},{"source":71,"target":807},{"source":71,"target":808},{"source":805,"target":6},{"source":805,"target":809},{"source":805,"target":71},{"source":809,"target":6},{"source":806,"target":6},{"source":806,"target":810},{"source":806,"target":71},{"source":810,"target":6},{"source":807,"target":6},{"source":807,"target":811},{"source":807,"target":71},{"source":811,"target":6},{"source":808,"target":121},{"source":72,"target":0},{"source":72,"target":44},{"source":72,"target":66},{"source":72,"target":107},{"source":72,"target":79},{"source":72,"target":812},{"source":72,"target":813},{"source":72,"target":814},{"source":72,"target":815},{"source":72,"target":816},{"source":72,"target":817},{"source":72,"target":818},{"source":72,"target":819},{"source":72,"target":820},{"source":72,"target":821},{"source":72,"target":822},{"source":72,"target":823},{"source":72,"target":824},{"source":72,"target":825},{"source":72,"target":192},{"source":72,"target":826},{"source":72,"target":827},{"source":72,"target":828},{"source":72,"target":829},{"source":830,"target":103},{"source":830,"target":831},{"source":830,"target":832},{"source":831,"target":103},{"source":812,"target":833},{"source":812,"target":72},{"source":812,"target":834},{"source":812,"target":835},{"source":834,"target":836},{"source":834,"target":812},{"source":835,"target":837},{"source":835,"target":812},{"source":837,"target":838},{"source":837,"target":839},{"source":813,"target":840},{"source":813,"target":72},{"source":813,"target":841},{"source":813,"target":842},{"source":841,"target":843},{"source":841,"target":813},{"source":842,"target":844},{"source":842,"target":813},{"source":844,"target":845},{"source":844,"target":846},{"source":814,"target":847},{"source":814,"target":72},{"source":814,"target":848},{"source":814,"target":849},{"source":848,"target":850},{"source":848,"target":814},{"source":849,"target":851},{"source":849,"target":814},{"source":851,"target":852},{"source":851,"target":853},{"source":815,"target":854},{"source":815,"target":72},{"source":815,"target":855},{"source":815,"target":856},{"source":855,"target":857},{"source":855,"target":815},{"source":856,"target":858},{"source":856,"target":815},{"source":858,"target":859},{"source":858,"target":860},{"source":816,"target":113},{"source":816,"target":861},{"source":816,"target":72},{"source":861,"target":113},{"source":817,"target":78},{"source":817,"target":862},{"source":817,"target":72},{"source":817,"target":863},{"source":862,"target":78},{"source":818,"target":113},{"source":818,"target":864},{"source":818,"target":72},{"source":818,"target":865},{"source":864,"target":113},{"source":819,"target":30},{"source":819,"target":866},{"source":819,"target":72},{"source":866,"target":30},{"source":820,"target":30},{"source":820,"target":867},{"source":820,"target":72},{"source":867,"target":30},{"source":821,"target":71},{"source":821,"target":868},{"source":821,"target":72},{"source":868,"target":71},{"source":822,"target":1},{"source":822,"target":869},{"source":822,"target":72},{"source":869,"target":1},{"source":823,"target":1},{"source":823,"target":870},{"source":823,"target":72},{"source":870,"target":1},{"source":824,"target":81},{"source":824,"target":871},{"source":824,"target":72},{"source":871,"target":81},{"source":825,"target":72},{"source":825,"target":872},{"source":825,"target":72},{"source":872,"target":72},{"source":192,"target":22},{"source":192,"target":873},{"source":192,"target":72},{"source":873,"target":22},{"source":826,"target":44},{"source":827,"target":66},{"source":828,"target":107},{"source":829,"target":79},{"source":73,"target":0},{"source":73,"target":45},{"source":73,"target":89},{"source":73,"target":874},{"source":73,"target":875},{"source":73,"target":876},{"source":73,"target":877},{"source":73,"target":878},{"source":73,"target":879},{"source":874,"target":880},{"source":874,"target":73},{"source":874,"target":881},{"source":874,"target":882},{"source":881,"target":883},{"source":881,"target":874},{"source":882,"target":884},{"source":882,"target":874},{"source":884,"target":885},{"source":884,"target":886},{"source":875,"target":887},{"source":875,"target":73},{"source":875,"target":888},{"source":875,"target":889},{"source":888,"target":890},{"source":888,"target":875},{"source":889,"target":891},{"source":889,"target":875},{"source":891,"target":892},{"source":891,"target":893},{"source":876,"target":70},{"source":876,"target":894},{"source":876,"target":73},{"source":894,"target":70},{"source":877,"target":72},{"source":877,"target":895},{"source":877,"target":73},{"source":895,"target":72},{"source":878,"target":45},{"source":879,"target":89},{"source":74,"target":0},{"source":74,"target":103},{"source":74,"target":896},{"source":832,"target":79},{"source":832,"target":897},{"source":832,"target":830},{"source":897,"target":79},{"source":896,"target":103},{"source":75,"target":0},{"source":75,"target":27},{"source":75,"target":898},{"source":898,"target":27},{"source":76,"target":0},{"source":76,"target":66},{"source":76,"target":107},{"source":76,"target":899},{"source":76,"target":900},{"source":76,"target":901},{"source":76,"target":902},{"source":76,"target":903},{"source":76,"target":904},{"source":76,"target":905},{"source":76,"target":906},{"source":899,"target":76},{"source":899,"target":907},{"source":899,"target":76},{"source":899,"target":900},{"source":907,"target":76},{"source":900,"target":76},{"source":900,"target":908},{"source":900,"target":76},{"source":900,"target":899},{"source":908,"target":76},{"source":901,"target":6},{"source":901,"target":909},{"source":901,"target":76},{"source":909,"target":6},{"source":902,"target":6},{"source":902,"target":910},{"source":902,"target":76},{"source":910,"target":6},{"source":903,"target":76},{"source":903,"target":911},{"source":903,"target":76},{"source":911,"target":76},{"source":904,"target":113},{"source":904,"target":912},{"source":904,"target":76},{"source":904,"target":913},{"source":912,"target":113},{"source":905,"target":66},{"source":906,"target":107},{"source":77,"target":0},{"source":77,"target":79},{"source":77,"target":914},{"source":914,"target":79},{"source":78,"target":0},{"source":78,"target":117},{"source":78,"target":123},{"source":78,"target":863},{"source":78,"target":915},{"source":78,"target":916},{"source":863,"target":72},{"source":863,"target":917},{"source":863,"target":78},{"source":863,"target":817},{"source":917,"target":72},{"source":915,"target":117},{"source":916,"target":123},{"source":79,"target":0},{"source":79,"target":38},{"source":79,"target":918},{"source":79,"target":919},{"source":79,"target":920},{"source":79,"target":921},{"source":79,"target":922},{"source":918,"target":1},{"source":918,"target":923},{"source":918,"target":79},{"source":923,"target":1},{"source":919,"target":1},{"source":919,"target":924},{"source":919,"target":79},{"source":919,"target":925},{"source":924,"target":1},{"source":925,"target":79},{"source":925,"target":926},{"source":925,"target":919},{"source":926,"target":79},{"source":920,"target":103},{"source":920,"target":927},{"source":920,"target":79},{"source":920,"target":928},{"source":927,"target":103},{"source":921,"target":103},{"source":921,"target":929},{"source":921,"target":79},{"source":921,"target":930},{"source":929,"target":103},{"source":922,"target":38},{"source":80,"target":0},{"source":81,"target":0},{"source":81,"target":65},{"source":81,"target":931},{"source":81,"target":932},{"source":81,"target":933},{"source":931,"target":9},{"source":931,"target":934},{"source":931,"target":81},{"source":934,"target":9},{"source":932,"target":2},{"source":932,"target":935},{"source":932,"target":81},{"source":935,"target":2},{"source":933,"target":65},{"source":82,"target":0},{"source":82,"target":58},{"source":82,"target":936},{"source":936,"target":58},{"source":83,"target":0},{"source":83,"target":33},{"source":83,"target":937},{"source":937,"target":33},{"source":84,"target":0},{"source":84,"target":76},{"source":84,"target":938},{"source":938,"target":76},{"source":85,"target":0},{"source":85,"target":44},{"source":85,"target":79},{"source":85,"target":939},{"source":85,"target":940},{"source":85,"target":941},{"source":85,"target":942},{"source":85,"target":943},{"source":85,"target":944},{"source":85,"target":199},{"source":85,"target":945},{"source":85,"target":160},{"source":85,"target":946},{"source":85,"target":947},{"source":85,"target":948},{"source":85,"target":949},{"source":85,"target":950},{"source":85,"target":951},{"source":85,"target":952},{"source":85,"target":953},{"source":85,"target":954},{"source":85,"target":955},{"source":85,"target":956},{"source":85,"target":957},{"source":85,"target":958},{"source":85,"target":959},{"source":939,"target":1},{"source":939,"target":960},{"source":939,"target":85},{"source":939,"target":961},{"source":960,"target":1},{"source":961,"target":85},{"source":961,"target":962},{"source":961,"target":939},{"source":962,"target":85},{"source":940,"target":963},{"source":940,"target":85},{"source":940,"target":964},{"source":940,"target":965},{"source":964,"target":966},{"source":964,"target":940},{"source":965,"target":967},{"source":965,"target":940},{"source":967,"target":968},{"source":967,"target":969},{"source":941,"target":1},{"source":941,"target":970},{"source":941,"target":85},{"source":970,"target":1},{"source":942,"target":6},{"source":942,"target":971},{"source":942,"target":85},{"source":971,"target":6},{"source":943,"target":1},{"source":943,"target":972},{"source":943,"target":85},{"source":972,"target":1},{"source":944,"target":1},{"source":944,"target":973},{"source":944,"target":85},{"source":973,"target":1},{"source":199,"target":22},{"source":199,"target":974},{"source":199,"target":85},{"source":974,"target":22},{"source":945,"target":85},{"source":945,"target":975},{"source":945,"target":85},{"source":975,"target":85},{"source":160,"target":15},{"source":160,"target":976},{"source":160,"target":85},{"source":160,"target":157},{"source":976,"target":15},{"source":946,"target":1},{"source":946,"target":977},{"source":946,"target":85},{"source":977,"target":1},{"source":947,"target":71},{"source":947,"target":978},{"source":947,"target":85},{"source":978,"target":71},{"source":948,"target":1},{"source":948,"target":979},{"source":948,"target":85},{"source":979,"target":1},{"source":949,"target":85},{"source":949,"target":980},{"source":949,"target":85},{"source":980,"target":85},{"source":950,"target":1},{"source":950,"target":981},{"source":950,"target":85},{"source":981,"target":1},{"source":951,"target":1},{"source":951,"target":982},{"source":951,"target":85},{"source":982,"target":1},{"source":952,"target":1},{"source":952,"target":983},{"source":952,"target":85},{"source":983,"target":1},{"source":953,"target":1},{"source":953,"target":984},{"source":953,"target":85},{"source":984,"target":1},{"source":954,"target":85},{"source":954,"target":985},{"source":954,"target":85},{"source":985,"target":85},{"source":955,"target":85},{"source":955,"target":986},{"source":955,"target":85},{"source":986,"target":85},{"source":956,"target":85},{"source":956,"target":987},{"source":956,"target":85},{"source":987,"target":85},{"source":957,"target":113},{"source":957,"target":988},{"source":957,"target":85},{"source":957,"target":989},{"source":988,"target":113},{"source":958,"target":44},{"source":959,"target":79},{"source":86,"target":0},{"source":86,"target":67},{"source":86,"target":89},{"source":86,"target":990},{"source":86,"target":991},{"source":86,"target":992},{"source":86,"target":993},{"source":86,"target":994},{"source":86,"target":995},{"source":86,"target":996},{"source":990,"target":113},{"source":990,"target":997},{"source":990,"target":86},{"source":997,"target":113},{"source":991,"target":113},{"source":991,"target":998},{"source":991,"target":86},{"source":998,"target":113},{"source":992,"target":999},{"source":992,"target":86},{"source":992,"target":1000},{"source":992,"target":1001},{"source":1000,"target":1002},{"source":1000,"target":992},{"source":1001,"target":1003},{"source":1001,"target":992},{"source":1003,"target":1004},{"source":1003,"target":1005},{"source":993,"target":1006},{"source":993,"target":86},{"source":993,"target":1007},{"source":993,"target":1008},{"source":1007,"target":1009},{"source":1007,"target":993},{"source":1008,"target":1010},{"source":1008,"target":993},{"source":1010,"target":1011},{"source":1010,"target":1012},{"source":994,"target":85},{"source":994,"target":1013},{"source":994,"target":86},{"source":1013,"target":85},{"source":995,"target":67},{"source":996,"target":89},{"source":87,"target":0},{"source":87,"target":125},{"source":87,"target":1014},{"source":87,"target":1015},{"source":87,"target":1016},{"source":87,"target":1017},{"source":1014,"target":11},{"source":1014,"target":1018},{"source":1014,"target":87},{"source":1018,"target":11},{"source":1015,"target":99},{"source":1015,"target":1019},{"source":1015,"target":87},{"source":1019,"target":99},{"source":1016,"target":97},{"source":1016,"target":1020},{"source":1016,"target":87},{"source":1020,"target":97},{"source":1017,"target":125},{"source":88,"target":0},{"source":88,"target":69},{"source":88,"target":1021},{"source":88,"target":1022},{"source":1021,"target":5},{"source":1021,"target":1023},{"source":1021,"target":88},{"source":1023,"target":5},{"source":1022,"target":69},{"source":89,"target":0},{"source":89,"target":1024},{"source":1024,"target":38},{"source":1024,"target":1025},{"source":1024,"target":89},{"source":1025,"target":38},{"source":90,"target":0},{"source":90,"target":66},{"source":90,"target":1026},{"source":90,"target":1027},{"source":90,"target":1028},{"source":90,"target":1029},{"source":90,"target":1030},{"source":90,"target":1031},{"source":1026,"target":108},{"source":1026,"target":1032},{"source":1026,"target":90},{"source":1026,"target":1033},{"source":1032,"target":108},{"source":1027,"target":99},{"source":1027,"target":1034},{"source":1027,"target":90},{"source":1034,"target":99},{"source":1028,"target":97},{"source":1028,"target":1035},{"source":1028,"target":90},{"source":1035,"target":97},{"source":1029,"target":90},{"source":1029,"target":1036},{"source":1029,"target":90},{"source":1036,"target":90},{"source":1030,"target":125},{"source":1030,"target":1037},{"source":1030,"target":90},{"source":1030,"target":1038},{"source":1037,"target":125},{"source":1031,"target":66},{"source":91,"target":0},{"source":91,"target":66},{"source":91,"target":1039},{"source":91,"target":1040},{"source":91,"target":1041},{"source":91,"target":1042},{"source":1039,"target":76},{"source":1039,"target":1043},{"source":1039,"target":91},{"source":1043,"target":76},{"source":1040,"target":6},{"source":1040,"target":1044},{"source":1040,"target":91},{"source":1044,"target":6},{"source":1041,"target":48},{"source":1041,"target":1045},{"source":1041,"target":91},{"source":1045,"target":48},{"source":1042,"target":66},{"source":92,"target":0},{"source":92,"target":22},{"source":92,"target":1046},{"source":92,"target":1047},{"source":1046,"target":113},{"source":1046,"target":1048},{"source":1046,"target":92},{"source":1046,"target":1049},{"source":1046,"target":1050},{"source":1048,"target":113},{"source":1049,"target":70},{"source":1049,"target":1051},{"source":1049,"target":1046},{"source":1051,"target":70},{"source":1050,"target":113},{"source":1050,"target":1052},{"source":1050,"target":1046},{"source":1052,"target":113},{"source":1047,"target":22},{"source":93,"target":0},{"source":93,"target":65},{"source":93,"target":1053},{"source":93,"target":1054},{"source":1053,"target":96},{"source":1053,"target":1055},{"source":1053,"target":93},{"source":1055,"target":96},{"source":1054,"target":65},{"source":94,"target":0},{"source":94,"target":27},{"source":94,"target":1056},{"source":1056,"target":27},{"source":95,"target":0},{"source":95,"target":27},{"source":95,"target":1057},{"source":1057,"target":27},{"source":96,"target":0},{"source":96,"target":65},{"source":96,"target":1058},{"source":1058,"target":65},{"source":97,"target":0},{"source":97,"target":125},{"source":97,"target":66},{"source":97,"target":1059},{"source":97,"target":1060},{"source":97,"target":1061},{"source":97,"target":1062},{"source":97,"target":1063},{"source":97,"target":1064},{"source":97,"target":1065},{"source":97,"target":1066},{"source":97,"target":1067},{"source":97,"target":1068},{"source":97,"target":1069},{"source":97,"target":1070},{"source":97,"target":1071},{"source":97,"target":1072},{"source":97,"target":1073},{"source":97,"target":1074},{"source":1059,"target":1},{"source":1059,"target":1075},{"source":1059,"target":97},{"source":1075,"target":1},{"source":1060,"target":1},{"source":1060,"target":1076},{"source":1060,"target":97},{"source":1076,"target":1},{"source":1061,"target":1},{"source":1061,"target":1077},{"source":1061,"target":97},{"source":1077,"target":1},{"source":1062,"target":1},{"source":1062,"target":1078},{"source":1062,"target":97},{"source":1078,"target":1},{"source":1063,"target":99},{"source":1063,"target":1079},{"source":1063,"target":97},{"source":1063,"target":1080},{"source":1079,"target":99},{"source":1064,"target":29},{"source":1064,"target":1081},{"source":1064,"target":97},{"source":1081,"target":29},{"source":1065,"target":97},{"source":1065,"target":1082},{"source":1065,"target":97},{"source":1082,"target":97},{"source":1066,"target":90},{"source":1066,"target":1083},{"source":1066,"target":97},{"source":1083,"target":90},{"source":1067,"target":30},{"source":1067,"target":1084},{"source":1067,"target":97},{"source":1084,"target":30},{"source":1068,"target":18},{"source":1068,"target":1085},{"source":1068,"target":97},{"source":1085,"target":18},{"source":1069,"target":18},{"source":1069,"target":1086},{"source":1069,"target":97},{"source":1086,"target":18},{"source":1070,"target":18},{"source":1070,"target":1087},{"source":1070,"target":97},{"source":1087,"target":18},{"source":1071,"target":87},{"source":1071,"target":1088},{"source":1071,"target":97},{"source":1088,"target":87},{"source":1072,"target":109},{"source":1072,"target":1089},{"source":1072,"target":97},{"source":1089,"target":109},{"source":1073,"target":125},{"source":1074,"target":66},{"source":98,"target":0},{"source":98,"target":70},{"source":98,"target":1090},{"source":98,"target":1091},{"source":1090,"target":97},{"source":1090,"target":1092},{"source":1090,"target":98},{"source":1092,"target":97},{"source":1091,"target":70},{"source":99,"target":0},{"source":99,"target":18},{"source":99,"target":1093},{"source":99,"target":1094},{"source":99,"target":1080},{"source":99,"target":1095},{"source":99,"target":1096},{"source":1093,"target":90},{"source":1093,"target":1097},{"source":1093,"target":99},{"source":1097,"target":90},{"source":1094,"target":87},{"source":1094,"target":1098},{"source":1094,"target":99},{"source":1098,"target":87},{"source":1080,"target":97},{"source":1080,"target":1099},{"source":1080,"target":99},{"source":1080,"target":1063},{"source":1099,"target":97},{"source":1095,"target":99},{"source":1095,"target":1100},{"source":1095,"target":99},{"source":1100,"target":99},{"source":1096,"target":18},{"source":100,"target":0},{"source":100,"target":22},{"source":100,"target":1101},{"source":1101,"target":22},{"source":101,"target":0},{"source":101,"target":82},{"source":101,"target":1102},{"source":101,"target":1103},{"source":1102,"target":6},{"source":1102,"target":1104},{"source":1102,"target":101},{"source":1104,"target":6},{"source":1103,"target":82},{"source":102,"target":0},{"source":102,"target":38},{"source":102,"target":1105},{"source":102,"target":1106},{"source":102,"target":1107},{"source":102,"target":1108},{"source":1105,"target":106},{"source":1105,"target":1109},{"source":1105,"target":102},{"source":1109,"target":106},{"source":1106,"target":104},{"source":1106,"target":1110},{"source":1106,"target":102},{"source":1106,"target":1111},{"source":1110,"target":104},{"source":1107,"target":107},{"source":1107,"target":1112},{"source":1107,"target":102},{"source":1107,"target":1113},{"source":1112,"target":107},{"source":1108,"target":38},{"source":103,"target":0},{"source":103,"target":38},{"source":103,"target":1114},{"source":103,"target":930},{"source":103,"target":928},{"source":103,"target":1115},{"source":103,"target":1116},{"source":103,"target":1117},{"source":1114,"target":106},{"source":1114,"target":1118},{"source":1114,"target":103},{"source":1114,"target":1119},{"source":1118,"target":106},{"source":930,"target":79},{"source":930,"target":1120},{"source":930,"target":103},{"source":930,"target":921},{"source":1120,"target":79},{"source":928,"target":79},{"source":928,"target":1121},{"source":928,"target":103},{"source":928,"target":920},{"source":1121,"target":79},{"source":1115,"target":79},{"source":1115,"target":1122},{"source":1115,"target":103},{"source":1122,"target":79},{"source":1116,"target":79},{"source":1116,"target":1123},{"source":1116,"target":103},{"source":1123,"target":79},{"source":1117,"target":38},{"source":104,"target":0},{"source":104,"target":38},{"source":104,"target":1124},{"source":104,"target":1125},{"source":104,"target":1126},{"source":104,"target":1111},{"source":104,"target":1127},{"source":1124,"target":103},{"source":1124,"target":1128},{"source":1124,"target":104},{"source":1128,"target":103},{"source":1125,"target":79},{"source":1125,"target":1129},{"source":1125,"target":104},{"source":1129,"target":79},{"source":1126,"target":79},{"source":1126,"target":1130},{"source":1126,"target":104},{"source":1130,"target":79},{"source":1111,"target":102},{"source":1111,"target":1131},{"source":1111,"target":104},{"source":1111,"target":1106},{"source":1131,"target":102},{"source":1127,"target":38},{"source":105,"target":0},{"source":105,"target":113},{"source":105,"target":1132},{"source":105,"target":1133},{"source":1132,"target":6},{"source":1132,"target":1134},{"source":1132,"target":105},{"source":1134,"target":6},{"source":1133,"target":113},{"source":106,"target":0},{"source":106,"target":38},{"source":106,"target":1135},{"source":106,"target":1119},{"source":106,"target":1136},{"source":106,"target":1137},{"source":1135,"target":103},{"source":1135,"target":1138},{"source":1135,"target":106},{"source":1138,"target":103},{"source":1119,"target":103},{"source":1119,"target":1139},{"source":1119,"target":106},{"source":1119,"target":1114},{"source":1139,"target":103},{"source":1136,"target":107},{"source":1136,"target":1140},{"source":1136,"target":106},{"source":1136,"target":1141},{"source":1140,"target":107},{"source":1137,"target":38},{"source":107,"target":0},{"source":107,"target":38},{"source":107,"target":1142},{"source":107,"target":1143},{"source":107,"target":1113},{"source":107,"target":1141},{"source":107,"target":1144},{"source":107,"target":1145},{"source":1142,"target":79},{"source":1142,"target":1146},{"source":1142,"target":107},{"source":1146,"target":79},{"source":1143,"target":1},{"source":1143,"target":1147},{"source":1143,"target":107},{"source":1147,"target":1},{"source":1113,"target":102},{"source":1113,"target":1148},{"source":1113,"target":107},{"source":1113,"target":1107},{"source":1148,"target":102},{"source":1141,"target":106},{"source":1141,"target":1149},{"source":1141,"target":107},{"source":1141,"target":1136},{"source":1149,"target":106},{"source":1144,"target":107},{"source":1144,"target":1150},{"source":1144,"target":107},{"source":1150,"target":107},{"source":1145,"target":38},{"source":108,"target":0},{"source":108,"target":66},{"source":108,"target":1151},{"source":108,"target":1152},{"source":108,"target":1153},{"source":108,"target":1154},{"source":108,"target":1155},{"source":108,"target":1156},{"source":108,"target":1033},{"source":108,"target":1157},{"source":1151,"target":12},{"source":1151,"target":1158},{"source":1151,"target":108},{"source":1158,"target":12},{"source":1152,"target":125},{"source":1152,"target":1159},{"source":1152,"target":108},{"source":1152,"target":1160},{"source":1159,"target":125},{"source":1153,"target":125},{"source":1153,"target":1161},{"source":1153,"target":108},{"source":1153,"target":1162},{"source":1161,"target":125},{"source":1154,"target":30},{"source":1154,"target":1163},{"source":1154,"target":108},{"source":1163,"target":30},{"source":1155,"target":18},{"source":1155,"target":1164},{"source":1155,"target":108},{"source":1164,"target":18},{"source":1156,"target":109},{"source":1156,"target":1165},{"source":1156,"target":108},{"source":1165,"target":109},{"source":1033,"target":90},{"source":1033,"target":1166},{"source":1033,"target":108},{"source":1033,"target":1026},{"source":1166,"target":90},{"source":1157,"target":66},{"source":109,"target":0},{"source":109,"target":65},{"source":109,"target":1167},{"source":1167,"target":65},{"source":110,"target":0},{"source":110,"target":58},{"source":110,"target":1168},{"source":110,"target":1169},{"source":1168,"target":111},{"source":1168,"target":1170},{"source":1168,"target":110},{"source":1170,"target":111},{"source":1169,"target":58},{"source":111,"target":0},{"source":111,"target":123},{"source":111,"target":1171},{"source":111,"target":1172},{"source":1171,"target":70},{"source":1171,"target":1173},{"source":1171,"target":111},{"source":1173,"target":70},{"source":1172,"target":123},{"source":112,"target":0},{"source":112,"target":33},{"source":112,"target":1174},{"source":1174,"target":33},{"source":113,"target":0},{"source":113,"target":65},{"source":113,"target":107},{"source":113,"target":79},{"source":113,"target":1175},{"source":113,"target":1176},{"source":113,"target":913},{"source":113,"target":989},{"source":113,"target":865},{"source":113,"target":1177},{"source":113,"target":1178},{"source":113,"target":1179},{"source":113,"target":1180},{"source":113,"target":1181},{"source":113,"target":1182},{"source":1183,"target":1},{"source":1183,"target":1184},{"source":1184,"target":1},{"source":1185,"target":103},{"source":1185,"target":1186},{"source":1185,"target":1187},{"source":1186,"target":103},{"source":1175,"target":113},{"source":1175,"target":1188},{"source":1175,"target":113},{"source":1175,"target":1189},{"source":1175,"target":1190},{"source":1188,"target":113},{"source":1189,"target":70},{"source":1189,"target":1191},{"source":1189,"target":1175},{"source":1191,"target":70},{"source":1190,"target":113},{"source":1190,"target":1192},{"source":1190,"target":1175},{"source":1192,"target":113},{"source":1176,"target":1193},{"source":1176,"target":113},{"source":1176,"target":1194},{"source":1176,"target":1195},{"source":1194,"target":1196},{"source":1194,"target":1176},{"source":1195,"target":1197},{"source":1195,"target":1176},{"source":1197,"target":1198},{"source":1197,"target":1199},{"source":913,"target":76},{"source":913,"target":1200},{"source":913,"target":113},{"source":913,"target":904},{"source":1200,"target":76},{"source":989,"target":85},{"source":989,"target":1201},{"source":989,"target":113},{"source":989,"target":957},{"source":1201,"target":85},{"source":865,"target":72},{"source":865,"target":1202},{"source":865,"target":113},{"source":865,"target":818},{"source":1202,"target":72},{"source":1177,"target":113},{"source":1177,"target":1203},{"source":1177,"target":113},{"source":1203,"target":113},{"source":1178,"target":30},{"source":1178,"target":1204},{"source":1178,"target":113},{"source":1204,"target":30},{"source":1179,"target":6},{"source":1179,"target":1205},{"source":1179,"target":113},{"source":1205,"target":6},{"source":1180,"target":65},{"source":1181,"target":107},{"source":1182,"target":79},{"source":114,"target":0},{"source":114,"target":70},{"source":114,"target":89},{"source":114,"target":1206},{"source":114,"target":1207},{"source":114,"target":1208},{"source":1206,"target":113},{"source":1206,"target":1209},{"source":1206,"target":114},{"source":1209,"target":113},{"source":1207,"target":70},{"source":1208,"target":89},{"source":115,"target":0},{"source":115,"target":103},{"source":115,"target":1210},{"source":115,"target":1211},{"source":115,"target":1212},{"source":1187,"target":79},{"source":1187,"target":1213},{"source":1187,"target":1185},{"source":1213,"target":79},{"source":1210,"target":1},{"source":1210,"target":1214},{"source":1210,"target":115},{"source":1214,"target":1},{"source":1211,"target":113},{"source":1211,"target":1215},{"source":1211,"target":115},{"source":1215,"target":113},{"source":1212,"target":103},{"source":116,"target":0},{"source":116,"target":65},{"source":116,"target":1216},{"source":116,"target":1217},{"source":116,"target":1218},{"source":1216,"target":113},{"source":1216,"target":1219},{"source":1216,"target":116},{"source":1219,"target":113},{"source":1217,"target":1},{"source":1217,"target":1220},{"source":1217,"target":116},{"source":1220,"target":1},{"source":1218,"target":65},{"source":117,"target":0},{"source":117,"target":116},{"source":117,"target":1221},{"source":117,"target":1222},{"source":117,"target":1223},{"source":1221,"target":1},{"source":1221,"target":1224},{"source":1221,"target":117},{"source":1221,"target":1225},{"source":1224,"target":1},{"source":1225,"target":121},{"source":1225,"target":1226},{"source":1225,"target":1221},{"source":1226,"target":121},{"source":1222,"target":78},{"source":1222,"target":1227},{"source":1222,"target":117},{"source":1227,"target":78},{"source":1223,"target":116},{"source":118,"target":0},{"source":118,"target":69},{"source":118,"target":1228},{"source":118,"target":1229},{"source":1228,"target":8},{"source":1228,"target":1230},{"source":1228,"target":118},{"source":1230,"target":8},{"source":1229,"target":69},{"source":119,"target":0},{"source":119,"target":22},{"source":119,"target":1231},{"source":119,"target":1232},{"source":119,"target":1233},{"source":1231,"target":113},{"source":1231,"target":1234},{"source":1231,"target":119},{"source":1234,"target":113},{"source":1232,"target":113},{"source":1232,"target":1235},{"source":1232,"target":119},{"source":1235,"target":113},{"source":1233,"target":22},{"source":120,"target":0},{"source":120,"target":70},{"source":120,"target":1236},{"source":1236,"target":70},{"source":121,"target":0},{"source":121,"target":116},{"source":121,"target":79},{"source":121,"target":1237},{"source":121,"target":1238},{"source":121,"target":1239},{"source":121,"target":1240},{"source":121,"target":1241},{"source":121,"target":1242},{"source":121,"target":1243},{"source":121,"target":1244},{"source":1237,"target":1},{"source":1237,"target":1245},{"source":1237,"target":121},{"source":1245,"target":1},{"source":1238,"target":2},{"source":1238,"target":1246},{"source":1238,"target":121},{"source":1246,"target":2},{"source":1239,"target":1},{"source":1239,"target":1247},{"source":1239,"target":121},{"source":1247,"target":1},{"source":1240,"target":6},{"source":1240,"target":1248},{"source":1240,"target":121},{"source":1248,"target":6},{"source":1241,"target":8},{"source":1241,"target":1249},{"source":1241,"target":121},{"source":1249,"target":8},{"source":1242,"target":1},{"source":1242,"target":1250},{"source":1242,"target":121},{"source":1250,"target":1},{"source":1243,"target":116},{"source":1244,"target":79},{"source":122,"target":0},{"source":122,"target":123},{"source":122,"target":1251},{"source":122,"target":1252},{"source":122,"target":1253},{"source":122,"target":1254},{"source":1251,"target":70},{"source":1251,"target":1255},{"source":1251,"target":122},{"source":1255,"target":70},{"source":1252,"target":78},{"source":1252,"target":1256},{"source":1252,"target":122},{"source":1256,"target":78},{"source":1253,"target":1},{"source":1253,"target":1257},{"source":1253,"target":122},{"source":1257,"target":1},{"source":1254,"target":123},{"source":123,"target":0},{"source":123,"target":116},{"source":123,"target":1258},{"source":1258,"target":116},{"source":124,"target":0},{"source":124,"target":70},{"source":124,"target":89},{"source":124,"target":1259},{"source":124,"target":1260},{"source":124,"target":1261},{"source":124,"target":1262},{"source":1259,"target":123},{"source":1259,"target":1263},{"source":1259,"target":124},{"source":1263,"target":123},{"source":1260,"target":1},{"source":1260,"target":1264},{"source":1260,"target":124},{"source":1264,"target":1},{"source":1261,"target":70},{"source":1262,"target":89},{"source":125,"target":0},{"source":125,"target":65},{"source":125,"target":1038},{"source":125,"target":1160},{"source":125,"target":1162},{"source":125,"target":1265},{"source":1038,"target":90},{"source":1038,"target":1266},{"source":1038,"target":125},{"source":1038,"target":1030},{"source":1266,"target":90},{"source":1160,"target":108},{"source":1160,"target":1267},{"source":1160,"target":125},{"source":1160,"target":1152},{"source":1267,"target":108},{"source":1162,"target":108},{"source":1162,"target":1268},{"source":1162,"target":125},{"source":1162,"target":1153},{"source":1268,"target":108},{"source":1265,"target":65},{"source":126,"target":0},{"source":127,"target":0},{"source":127,"target":1269},{"source":128,"target":0},{"source":128,"target":22},{"source":128,"target":1270},{"source":1270,"target":22}],"multigraph":true}