
(object Petal
    version    	50
    _written   	"Rose 2006.0.0.060314"
    charSet    	0)

(object Class_Category "notation"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	(value Text "org.eclipse.gmf.runtime"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsPrefix"
	    value      	(value Text "notation"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	(value Text "http://www.eclipse.org/gmf/runtime/1.0.1/notation")))
    quid       	"3C753ED90058"
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "Edge"
	    quid       	"3C75409C00F5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"3C7BA4ED039B"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"))
	    operations 	(list Operations
		(object Operation "createBendpoints"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"4098F1D0014A"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"4098F2040011"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"Bendpoints"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"4033EB630327")
		(object Operation "createSourceAnchor"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"4098F21801FB"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"4098F22A032F"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"Anchor"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"4033EB570149")
		(object Operation "createTargetAnchor"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"4098F23C035D"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"4098F254029B"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"Anchor"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"4033EB570149")))
	(object Class "Node"
	    quid       	"3C7540CF026C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4033D3D0019D"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"))
	    operations 	(list Operations
		(object Operation "createLayoutConstraint"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"4098F10D02E8"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"40990E310379"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"LayoutConstraint"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"4033E463037F")))
	(object Class "Style"
	    quid       	"4033D424039B"
	    stereotype 	"Interface")
	(object Class "FillStyle"
	    quid       	"4033D8C6002F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4034CC390310"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "fillColor"
		    quid       	"4033D90303D6"
		    type       	"int"
		    initv      	"16777215"
		    exportControl 	"Public")))
	(object Class "LineStyle"
	    quid       	"4033D98502ED"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"403984E802F9"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "lineColor"
		    quid       	"4033D9950317"
		    type       	"int"
		    initv      	"11579568"
		    exportControl 	"Public")))
	(object Class "FontStyle"
	    quid       	"4033D9EA0313"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4034CC3F0282"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "fontColor"
		    quid       	"40356E0302F7"
		    type       	"int"
		    initv      	"0"
		    exportControl 	"Public")
		(object ClassAttribute "fontName"
		    quid       	"4033DA03008C"
		    type       	"String"
		    initv      	"Tahoma"
		    exportControl 	"Public")
		(object ClassAttribute "fontHeight"
		    quid       	"4033DC2A0375"
		    type       	"int"
		    initv      	"9"
		    exportControl 	"Public")
		(object ClassAttribute "bold"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"4033DC4602AB"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")
		(object ClassAttribute "italic"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"4033DC6A0066"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")
		(object ClassAttribute "underline"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"4033DD2F0119"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")
		(object ClassAttribute "strikeThrough"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"40356DA602E6"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")))
	(object Class "TitleStyle"
	    quid       	"4033DE790338"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4039845602CD"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "showTitle"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"4033DE9603E1"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")))
	(object Class "SortingStyle"
	    quid       	"4033DEDB0197"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"403983FF02B3"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "sorting"
		    quid       	"4033DF4F02B8"
		    type       	"Sorting"
		    quidu      	"4033F1B70395"
		    initv      	"None"
		    exportControl 	"Public")
		(object ClassAttribute "sortingKeys"
		    quid       	"40C8929D0221"
		    type       	"SortKeyMap"
		    quidu      	"40F588C0027E"
		    exportControl 	"Public")))
	(object Class "DescriptionStyle"
	    quid       	"4033E35B00CB"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4034CC42027D"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "description"
		    quid       	"4033E36A028E"
		    type       	"String"
		    initv      	
|""
		    
		    exportControl 	"Public")))
	(object Class "LayoutConstraint"
	    quid       	"4033E463037F"
	    stereotype 	"Interface")
	(object Class "Size"
	    quid       	"4033E572020D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"43D14D33007C"
		    supplier   	"Logical View::notation::LayoutConstraint"
		    quidu      	"4033E463037F"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "width"
		    quid       	"4033E57F0283"
		    type       	"int"
		    initv      	"-1"
		    exportControl 	"Public")
		(object ClassAttribute "height"
		    quid       	"4033E5850137"
		    type       	"int"
		    initv      	"-1"
		    exportControl 	"Public")))
	(object Class "Location"
	    quid       	"4033E9C603B9"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"43D14D370230"
		    supplier   	"Logical View::notation::LayoutConstraint"
		    quidu      	"4033E463037F"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "x"
		    quid       	"4033E9D9033E"
		    type       	"int"
		    initv      	"0"
		    exportControl 	"Public")
		(object ClassAttribute "y"
		    quid       	"4033E9E10340"
		    type       	"int"
		    initv      	"0"
		    exportControl 	"Public")))
	(object Class "Bounds"
	    quid       	"4033EA3A018F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4033EB2B0326"
		    supplier   	"Logical View::notation::Size"
		    quidu      	"4033E572020D")
		(object Inheritance_Relationship
		    quid       	"4033EB2F01F6"
		    supplier   	"Logical View::notation::Location"
		    quidu      	"4033E9C603B9")))
	(object Class "Ratio"
	    quid       	"4033EAA101AB"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4033EB1F0171"
		    supplier   	"Logical View::notation::LayoutConstraint"
		    quidu      	"4033E463037F"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"4033EABB0068"
		    type       	"double"
		    initv      	"-1"
		    exportControl 	"Public")))
	(object Class "Anchor"
	    quid       	"4033EB570149"
	    stereotype 	"Interface")
	(object Class "Bendpoints"
	    quid       	"4033EB630327"
	    stereotype 	"Interface")
	(object Class "Sorting"
	    quid       	"4033F1B70395"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "None"
		    quid       	"4033F1E402A9"
		    exportControl 	"Public")
		(object ClassAttribute "Manual"
		    quid       	"4033F2C40297"
		    exportControl 	"Public")
		(object ClassAttribute "Automatic"
		    quid       	"4058A746001C"
		    exportControl 	"Public")))
	(object Class "Filtering"
	    quid       	"4033F3A302AC"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "None"
		    quid       	"4033F3B70319"
		    exportControl 	"Public")
		(object ClassAttribute "Manual"
		    quid       	"4033F3BA02D7"
		    exportControl 	"Public")
		(object ClassAttribute "Automatic"
		    quid       	"4033F3CA02D0"
		    exportControl 	"Public")))
	(object Class "IdentityAnchor"
	    quid       	"4033F4C9006A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4033F56A02C4"
		    supplier   	"Logical View::notation::Anchor"
		    quidu      	"4033EB570149"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "id"
		    quid       	"4033F4DC0071"
		    type       	"String"
		    initv      	"anchor"
		    exportControl 	"Public")))
	(object Class "Routing"
	    quid       	"4033F64C01ED"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "Manual"
		    quid       	"4033F65D01B5"
		    exportControl 	"Public")
		(object ClassAttribute "Rectilinear"
		    quid       	"4033F6710218"
		    exportControl 	"Public")
		(object ClassAttribute "Tree"
		    quid       	"403570A20229"
		    exportControl 	"Public")))
	(object Class "Smoothness"
	    quid       	"4033F7160111"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "None"
		    quid       	"4033F72E01A1"
		    exportControl 	"Public")
		(object ClassAttribute "Normal"
		    quid       	"4033F731023C"
		    exportControl 	"Public")
		(object ClassAttribute "Less"
		    quid       	"4033F7350039"
		    exportControl 	"Public")
		(object ClassAttribute "More"
		    quid       	"4033F7380138"
		    exportControl 	"Public")))
	(object Class "JumpLinkStatus"
	    quid       	"4033F7BF0146"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "None"
		    quid       	"4033F7D40146"
		    exportControl 	"Public")
		(object ClassAttribute "All"
		    quid       	"4033F7E1007C"
		    exportControl 	"Public")
		(object ClassAttribute "Below"
		    quid       	"4033F7E400E5"
		    exportControl 	"Public")
		(object ClassAttribute "Above"
		    quid       	"4033F7E80344"
		    exportControl 	"Public")))
	(object Class "JumpLinkType"
	    quid       	"4033F82B02BE"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "Semicircle"
		    quid       	"4033F8550079"
		    exportControl 	"Public")
		(object ClassAttribute "Square"
		    quid       	"4033F86E02B0"
		    exportControl 	"Public")
		(object ClassAttribute "Chamfered"
		    quid       	"4033F87303BC"
		    exportControl 	"Public")))
	(object Class "RoutingStyle"
	    quid       	"4034CBCA012F"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4034CC1C023C"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "routing"
		    quid       	"3C87B7750126"
		    type       	"Routing"
		    quidu      	"4033F64C01ED"
		    initv      	"Manual"
		    exportControl 	"Public")
		(object ClassAttribute "smoothness"
		    quid       	"3C87B7980145"
		    type       	"Smoothness"
		    quidu      	"4033F7160111"
		    initv      	"None"
		    exportControl 	"Public")
		(object ClassAttribute "avoidObstructions"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"3C87B7C8004B"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")
		(object ClassAttribute "closestDistance"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"3C87B7E700F7"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")
		(object ClassAttribute "jumpLinkStatus"
		    quid       	"3CF548DF0064"
		    type       	"JumpLinkStatus"
		    quidu      	"4033F7BF0146"
		    initv      	"None"
		    exportControl 	"Public")
		(object ClassAttribute "jumpLinkType"
		    quid       	"3CF548FE0313"
		    type       	"JumpLinkType"
		    quidu      	"4033F82B02BE"
		    initv      	"Semicircle"
		    exportControl 	"Public")
		(object ClassAttribute "jumpLinksReverse"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"3CF5491F03A0"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")))
	(object Class "View"
	    quid       	"4037B95B01CA"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4037B98401AC"
		    supplier   	"Logical View::ecore::EModelElement"
		    quidu      	"3903D4E40050"))
	    operations 	(list Operations
		(object Operation "getStyle"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"405B558F014A"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"405B55B000B3"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"Style"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"4033D424039B")
		(object Operation "createChild"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"4098F0080087"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"40990CC0013F"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"Node"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3C7540CF026C")
		(object Operation "createStyle"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"4098F0D10313"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"40990D9101B8"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"Style"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"4033D424039B")
		(object Operation "getNamedStyle"
		    quid       	"464382AA02AF"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"464382C902AF"
			    type       	"EClass"
			    quidu      	"3903D5BF000A")
			(object Parameter "name"
			    quid       	"464382DD0000"
			    type       	"EString"
			    quidu      	"39EB7E000186"))
		    result     	"NamedStyle"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "visible"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"3C8682FC0246"
		    type       	"boolean"
		    initv      	"true"
		    exportControl 	"Public")
		(object ClassAttribute "type"
		    quid       	"3E6CC00B0236"
		    type       	"String"
		    initv      	
|""
		    
		    exportControl 	"Public")
		(object ClassAttribute "mutable"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"41EEDB5A02FC"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public"))
	    abstract   	TRUE)
	(object Class "RelativeBendpoints"
	    quid       	"40395B1100D3"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40395EF400D8"
		    supplier   	"Logical View::notation::Bendpoints"
		    quidu      	"4033EB630327"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "points"
		    quid       	"40C9AC21035C"
		    type       	"RelativeBendpointList"
		    quidu      	"40C9ABB702CF"
		    exportControl 	"Public")))
	(object Class "Diagram"
	    quid       	"403A64600345"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"403A64690252"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"))
	    operations 	(list Operations
		(object Operation "createEdge"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Data Modeler"
			    name       	"KeyList"
			    value      	""))
		    quid       	"4098F16E00E0"
		    parameters 	(list Parameters
			(object Parameter "eClass"
			    quid       	"4098F1940263"
			    type       	"EClass"
			    quidu      	"3903D5BF000A"))
		    result     	"Edge"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3C75409C00F5"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"40587BC6006A"
		    type       	"String"
		    initv      	
|""
		    
		    exportControl 	"Public")
		(object ClassAttribute "measurementUnit"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"43D14C6C030B"
		    type       	"MeasurementUnit"
		    quidu      	"43D015E002C0"
		    initv      	"Himetric"
		    exportControl 	"Public")))
	(object Class "Image"
	    quid       	"405B34B802BF"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "data"
		    quid       	"405B34C902ED"
		    type       	"EByteArray"
		    quidu      	"3FC62489001C"
		    exportControl 	"Public")))
	(object Class "CanonicalStyle"
	    quid       	"40A0D8C90004"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40A0D9610111"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "canonical"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"40A0D8E70332"
		    type       	"boolean"
		    initv      	"true"
		    exportControl 	"Public")))
	(object Class "ShapeStyle"
	    quid       	"40B538340372"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40B53A780327"
		    supplier   	"Logical View::notation::FillStyle"
		    quidu      	"4033D8C6002F")
		(object Inheritance_Relationship
		    quid       	"40B53A82030E"
		    supplier   	"Logical View::notation::LineStyle"
		    quidu      	"4033D98502ED")
		(object Inheritance_Relationship
		    quid       	"40B53A93036D"
		    supplier   	"Logical View::notation::FontStyle"
		    quidu      	"4033D9EA0313")
		(object Inheritance_Relationship
		    quid       	"40C9B1840085"
		    stereotype 	"extend"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123")
		(object Inheritance_Relationship
		    quid       	"40CB44D302DF"
		    supplier   	"Logical View::notation::DescriptionStyle"
		    quidu      	"4033E35B00CB")))
	(object Class "ConnectorStyle"
	    quid       	"40B5385000F2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40B53BCE039E"
		    supplier   	"Logical View::notation::RoutingStyle"
		    quidu      	"4034CBCA012F")
		(object Inheritance_Relationship
		    quid       	"40B53BDF0295"
		    supplier   	"Logical View::notation::LineStyle"
		    quidu      	"4033D98502ED")
		(object Inheritance_Relationship
		    quid       	"40C9B2490253"
		    stereotype 	"extend"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123")))
	(object Class "RelativeBendpointList"
	    quid       	"40C9ABB702CF"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.util.List"
		    quid       	"40C9ABEC0325"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "PageStyle"
	    quid       	"40CDA75702C1"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40CDA7BB00DC"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "pageX"
		    quid       	"40F4536100C4"
		    type       	"int"
		    initv      	"0"
		    exportControl 	"Public")
		(object ClassAttribute "pageY"
		    quid       	"40F4550B02A2"
		    type       	"int"
		    initv      	"0"
		    exportControl 	"Public")
		(object ClassAttribute "pageWidth"
		    quid       	"40CDA76E0076"
		    type       	"int"
		    initv      	"100"
		    exportControl 	"Public")
		(object ClassAttribute "pageHeight"
		    quid       	"40CDA77B0179"
		    type       	"int"
		    initv      	"100"
		    exportControl 	"Public")))
	(object Class "DrawerStyle"
	    quid       	"40F45AA70294"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40F4611702A9"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "collapsed"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"4033DEAA0046"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")))
	(object Class "GuideStyle"
	    quid       	"40F53BCC01F1"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40F542E50345"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "horizontalGuides"
		    quid       	"40F542870199"
		    stereotype 	"0..*"
		    type       	"Guide"
		    quidu      	"40F5426703AF"
		    exportControl 	"Public")
		(object ClassAttribute "verticalGuides"
		    quid       	"40F542900070"
		    stereotype 	"0..*"
		    type       	"Guide"
		    quidu      	"40F5426703AF"
		    exportControl 	"Public")))
	(object Class "Guide"
	    quid       	"40F5426703AF"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "position"
		    quid       	"40F54315016E"
		    type       	"int"
		    initv      	"0"
		    exportControl 	"Public")))
	(object Class "NodeEntry"
	    quid       	"40F545C0003D"
	    stereotype 	"MapEntry"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "value"
		    quid       	"419BA078032A"
		    type       	"Alignment"
		    quidu      	"40F548520137"
		    initv      	"Center"
		    exportControl 	"Public")))
	(object Class "Alignment"
	    quid       	"40F548520137"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "Left"
		    quid       	"40F5487700D7"
		    exportControl 	"Public")
		(object ClassAttribute "Right"
		    quid       	"40F5492A004C"
		    exportControl 	"Public")
		(object ClassAttribute "Center"
		    quid       	"40F54895017B"
		    exportControl 	"Public")
		(object ClassAttribute "Top"
		    quid       	"40F5487F0359"
		    exportControl 	"Public")
		(object ClassAttribute "Bottom"
		    quid       	"40F548A1022D"
		    exportControl 	"Public")))
	(object Class "FilteringStyle"
	    quid       	"40F54A610352"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"40F54BAE0091"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "filtering"
		    quid       	"4033DF7B0218"
		    type       	"Filtering"
		    quidu      	"4033F3A302AC"
		    initv      	"None"
		    exportControl 	"Public")
		(object ClassAttribute "filteringKeys"
		    quid       	"4033DF85004F"
		    type       	"FilterKeyList"
		    quidu      	"40F5886C0220"
		    exportControl 	"Public")))
	(object Class "FilterKeyList"
	    quid       	"40F5886C0220"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.util.List"
		    quid       	"40F58890037F"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "SortKeyMap"
	    quid       	"40F588C0027E"
	    stereotype 	"datatype"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.util.Map"
		    quid       	"40F588D70188"
		    stereotype 	"javaclass"
		    exportControl 	"Public")))
	(object Class "SortingDirection"
	    quid       	"40F5895B035C"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "Ascending"
		    quid       	"40F589830269"
		    exportControl 	"Public")
		(object ClassAttribute "Descending"
		    quid       	"40F5898801D3"
		    exportControl 	"Public")))
	(object Class "DiagramStyle"
	    quid       	"419A47F800E2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"419A4846006D"
		    stereotype 	"extend"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123")
		(object Inheritance_Relationship
		    quid       	"419A48B202EC"
		    supplier   	"Logical View::notation::PageStyle"
		    quidu      	"40CDA75702C1")
		(object Inheritance_Relationship
		    quid       	"419A48B60111"
		    supplier   	"Logical View::notation::GuideStyle"
		    quidu      	"40F53BCC01F1")
		(object Inheritance_Relationship
		    quid       	"419A48B90210"
		    supplier   	"Logical View::notation::DescriptionStyle"
		    quidu      	"4033E35B00CB")))
	(object Class "ImageStyle"
	    quid       	"421DF3290185"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"421DF49302BC"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "antiAlias"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"421DF3830275"
		    type       	"Boolean"
		    initv      	"true"
		    exportControl 	"Public")
		(object ClassAttribute "maintainAspectRatio"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	FALSE))
		    quid       	"421DF39B019D"
		    type       	"Boolean"
		    initv      	"true"
		    exportControl 	"Public")))
	(object Class "ImageBufferStyle"
	    quid       	"421DF69802B5"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"421DF6D20205"
		    supplier   	"Logical View::notation::ImageStyle"
		    quidu      	"421DF3290185")))
	(object Class "MeasurementUnit"
	    quid       	"43D015E002C0"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "Himetric"
		    quid       	"43D015F60163"
		    exportControl 	"Public")
		(object ClassAttribute "Pixel"
		    quid       	"43D015FD03B2"
		    exportControl 	"Public")))
	(object Class "PropertiesSetStyle"
	    quid       	"463A02870157"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"463A029A033C"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    operations 	(list Operations
		(object Operation "getProperty"
		    quid       	"463F774A008C"
		    parameters 	(list Parameters
			(object Parameter "propertyName"
			    quid       	"463F776603D8"
			    type       	"EString"
			    quidu      	"39EB7E000186"))
		    result     	"EJavaObject"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3ACDF8200182")
		(object Operation "setProperty"
		    quid       	"463F781602EE"
		    parameters 	(list Parameters
			(object Parameter "propertyName"
			    quid       	"463F787F0251"
			    type       	"EString"
			    quidu      	"39EB7E000186")
			(object Parameter "newValue"
			    quid       	"463F7890003E"
			    type       	"EJavaObject"
			    quidu      	"3ACDF8200182"))
		    result     	"EBoolean"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3D0672EC0024")
		(object Operation "createProperty"
		    quid       	"463F78D70177"
		    parameters 	(list Parameters
			(object Parameter "propertyName"
			    quid       	"463F78F702AF"
			    type       	"EString"
			    quidu      	"39EB7E000186")
			(object Parameter "instanceType"
			    quid       	"463F790A0399"
			    type       	"EDataType"
			    quidu      	"3903D525033E")
			(object Parameter "initialValue"
			    quid       	"463F792501C5"
			    type       	"EJavaObject"
			    quidu      	"3ACDF8200182"))
		    result     	"EBoolean"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3D0672EC0024")
		(object Operation "removeProperty"
		    quid       	"463F794A01D4"
		    parameters 	(list Parameters
			(object Parameter "propertyName"
			    quid       	"463F7974009C"
			    type       	"EString"
			    quidu      	"39EB7E000186"))
		    result     	"EBoolean"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3D0672EC0024")
		(object Operation "hasProperty"
		    quid       	"463F79A3003E"
		    parameters 	(list Parameters
			(object Parameter "propertyName"
			    quid       	"463F79B4003E"
			    type       	"EString"
			    quidu      	"39EB7E000186"))
		    result     	"EBoolean"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3D0672EC0024")
		(object Operation "createProperty"
		    quid       	"4640893501E4"
		    parameters 	(list Parameters
			(object Parameter "propertyName"
			    quid       	"4640895500EA"
			    type       	"EString"
			    quidu      	"39EB7E000186")
			(object Parameter "initialValue"
			    quid       	"464089660128"
			    type       	"EString"
			    quidu      	"39EB7E000186"))
		    result     	"EBoolean"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3D0672EC0024")))
	(object Class "StringToPropertyValueMapEntry"
	    quid       	"463F53AC01B5"
	    stereotype 	"MapEntry"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "key"
		    quid       	"463F53CC0138"
		    type       	"EString"
		    quidu      	"39EB7E000186"
		    exportControl 	"Public")
		(object ClassAttribute "value"
		    quid       	"463F53EB00FA"
		    type       	"PropertyValue"
		    quidu      	"463F6B0A0242"
		    exportControl 	"Public")))
	(object Class "PropertyValue"
	    quid       	"463F6B0A0242"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4643369A004E"
		    supplier   	"Logical View::notation::StringObjectConverter"
		    quidu      	"464334EC0290"))
	    operations 	(list Operations
		(object Operation "getValue"
		    quid       	"463F74670399"
		    result     	"EJavaObject"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3ACDF8200182")
		(object Operation "setValue"
		    quid       	"463F747200CB"
		    parameters 	(list Parameters
			(object Parameter "newValue"
			    quid       	"463F749302BF"
			    type       	"EJavaObject"
			    quidu      	"3ACDF8200182"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "rawValue"
		    quid       	"463F6B2D00EA"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "SingleValueStyle"
	    quid       	"4641EA1200DA"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46433CE2008C"
		    supplier   	"Logical View::notation::DataTypeStyle"
		    quidu      	"46433CA90186"))
	    operations 	(list Operations
		(object Operation "getValue"
		    quid       	"4641EBEB0251"
		    result     	"EJavaObject"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3ACDF8200182")
		(object Operation "setValue"
		    quid       	"4641EC1A0242"
		    parameters 	(list Parameters
			(object Parameter "newValue"
			    quid       	"4641EC2E0399"
			    type       	"EJavaObject"
			    quidu      	"3ACDF8200182"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "rawValue"
		    attributes 	(list Attribute_Set)
		    quid       	"4641EB7302AF"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "ListValueStyle"
	    quid       	"46420D89035B"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46433CDE02FD"
		    supplier   	"Logical View::notation::DataTypeStyle"
		    quidu      	"46433CA90186"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "rawValuesList"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnique"
			    value      	FALSE))
		    quid       	"46448AA301A5"
		    stereotype 	"0..n"
		    type       	"EString"
		    quidu      	"39EB7E000186"
		    exportControl 	"Public")))
	(object Class "NamedStyle"
	    quid       	"46420DE40213"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46420E0401F4"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "name"
		    quid       	"46420E4E003E"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "StringObjectConverter"
	    quid       	"464334EC0290"
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "getStringFromObject"
		    quid       	"464335270119"
		    parameters 	(list Parameters
			(object Parameter "objectValue"
			    quid       	"46433541038A"
			    type       	"EJavaObject"
			    quidu      	"3ACDF8200182"))
		    result     	"EString"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"39EB7E000186")
		(object Operation "getObjectFromString"
		    quid       	"46433565037A"
		    parameters 	(list Parameters
			(object Parameter "stringValue"
			    quid       	"4643357E034B"
			    type       	"EString"
			    quidu      	"39EB7E000186"))
		    result     	"EJavaObject"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0
		    quidu      	"3ACDF8200182")))
	(object Class "DataTypeStyle"
	    quid       	"46433CA90186"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46433CD500FA"
		    supplier   	"Logical View::notation::StringObjectConverter"
		    quidu      	"464334EC0290")
		(object Inheritance_Relationship
		    quid       	"46433CDA01A5"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213")))
	(object Class "IntValueStyle"
	    quid       	"4643681A00BB"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"464369CA0186"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "intValue"
		    quid       	"4643693C01F4"
		    type       	"EInt"
		    quidu      	"3D0674720115"
		    exportControl 	"Public")))
	(object Class "IntListValueStyle"
	    quid       	"464369010271"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"464369CD0251"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "intListValue"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnique"
			    value      	FALSE))
		    quid       	"4643699F00BB"
		    stereotype 	"0..*"
		    type       	"EInt"
		    quidu      	"3D0674720115"
		    exportControl 	"Public")))
	(object Class "BooleanValueStyle"
	    quid       	"46436B2201F4"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46436FCC0186"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "booleanValue"
		    attributes 	(list Attribute_Set)
		    quid       	"46436B2F030D"
		    type       	"EBoolean"
		    quidu      	"3D0672EC0024"
		    exportControl 	"Public")))
	(object Class "DoubleValueStyle"
	    quid       	"46436C4D0203"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46436FDD0251"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "doubleValue"
		    quid       	"46436C5B03C8"
		    type       	"EDouble"
		    quidu      	"3D06745D0364"
		    exportControl 	"Public")))
	(object Class "DoubleListValueStyle"
	    quid       	"46436CE3032C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46436FE1003E"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "doubleListValue"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnique"
			    value      	FALSE))
		    quid       	"46436CF70186"
		    stereotype 	"0..n"
		    type       	"EDoubleObject"
		    quidu      	"3A68EBB8012A"
		    exportControl 	"Public")))
	(object Class "StringValueStyle"
	    quid       	"46436D330280"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46436FE903B9"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "stringValue"
		    quid       	"46436D4002DE"
		    type       	"EString"
		    quidu      	"39EB7E000186"
		    exportControl 	"Public")))
	(object Class "StringListValueStyle"
	    quid       	"46436DA60280"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46436FED0119"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "stringListValue"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnique"
			    value      	FALSE))
		    quid       	"46436DC0031C"
		    stereotype 	"0..n"
		    type       	"EString"
		    quidu      	"39EB7E000186"
		    exportControl 	"Public")))
	(object Class "EObjectValueStyle"
	    quid       	"46436DED003E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46436FF20280"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213")))
	(object Class "EObjectListValueStyle"
	    quid       	"46436EEA0251"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46436FFC009C"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213")))
	(object Class "ByteArrayValueStyle"
	    quid       	"46438CAB0186"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"46438CFC02EE"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "byteArrayValue"
		    quid       	"46438CDD033C"
		    type       	"EByteArray"
		    quidu      	"3FC62489001C"
		    exportControl 	"Public")))
	(object Class "BooleanListValueStyle"
	    quid       	"4644B00A0109"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4644B05B01C5"
		    supplier   	"Logical View::notation::NamedStyle"
		    quidu      	"46420DE40213"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "booleanListValue"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnique"
			    value      	FALSE))
		    quid       	"4644B0260196"
		    stereotype 	"0..n"
		    type       	"EBooleanObject"
		    quidu      	"39EB7E1202AF"
		    exportControl 	"Public")))
	(object Class "HintedDiagramLinkStyle"
	    quid       	"4649D7D5005D"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4649D916038A"
		    supplier   	"Logical View::notation::DiagramLinkStyle"
		    quidu      	"4649D89302DE")
		(object Inheritance_Relationship
		    quid       	"4649D9C200DA"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "hint"
		    quid       	"4649D8690148"
		    type       	"EString"
		    quidu      	"39EB7E000186"
		    exportControl 	"Public")))
	(object Class "DiagramLinkStyle"
	    quid       	"4649D89302DE"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4649DA4E0271"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B")))
	(object Class "MultiDiagramLinkStyle"
	    quid       	"4649D922032C"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4649DA4402DE"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B")))
	(object Association "$UNNAMED$0"
	    quid       	"3D418E7600BA"
	    roles      	(list role_list
		(object Role "source"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3D418E7701E3"
		    label      	"source"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "sourceEdges"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D418E7701F2"
		    label      	"sourceEdges"
		    supplier   	"Logical View::notation::Edge"
		    quidu      	"3C75409C00F5"
		    client_cardinality 	(value cardinality "0..*")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$1"
	    quid       	"3D418EA4030F"
	    roles      	(list role_list
		(object Role "target"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"3D418EA5038C"
		    label      	"target"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "targetEdges"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"3D418EA5039B"
		    label      	"targetEdges"
		    supplier   	"Logical View::notation::Edge"
		    quidu      	"3C75409C00F5"
		    client_cardinality 	(value cardinality "0..*")
		    is_navigable 	TRUE)))
	(object Association "$UNNAMED$2"
	    quid       	"4033CCBD03B5"
	    roles      	(list role_list
		(object Role "persistedChildren"
		    quid       	"4033CCC30346"
		    label      	"persistedChildren"
		    supplier   	"Logical View::notation::Node"
		    quidu      	"3C7540CF026C"
		    client_cardinality 	(value cardinality "0..*")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$3"
		    quid       	"4033CCC3035A"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$4"
	    quid       	"4033D44501BB"
	    roles      	(list role_list
		(object Role "styles"
		    quid       	"4033D4470331"
		    label      	"styles"
		    supplier   	"Logical View::notation::Style"
		    quidu      	"4033D424039B"
		    client_cardinality 	(value cardinality "0..*")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$5"
		    quid       	"4033D447033B"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$6"
	    quid       	"4033E4C3011D"
	    roles      	(list role_list
		(object Role "layoutConstraint"
		    quid       	"4033E4C50120"
		    label      	"layoutConstraint"
		    supplier   	"Logical View::notation::LayoutConstraint"
		    quidu      	"4033E463037F"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$7"
		    quid       	"4033E4C5012A"
		    supplier   	"Logical View::notation::Node"
		    quidu      	"3C7540CF026C"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$8"
	    quid       	"4033ED76019A"
	    roles      	(list role_list
		(object Role "bendpoints"
		    quid       	"4033ED78012F"
		    label      	"bendpoints"
		    supplier   	"Logical View::notation::Bendpoints"
		    quidu      	"4033EB630327"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$9"
		    quid       	"4033ED780139"
		    supplier   	"Logical View::notation::Edge"
		    quidu      	"3C75409C00F5"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$10"
	    quid       	"4033EDEC0302"
	    roles      	(list role_list
		(object Role "sourceAnchor"
		    quid       	"4033EDED03B8"
		    label      	"sourceAnchor"
		    supplier   	"Logical View::notation::Anchor"
		    quidu      	"4033EB570149"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$11"
		    quid       	"4033EDED03C2"
		    supplier   	"Logical View::notation::Edge"
		    quidu      	"3C75409C00F5"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$12"
	    quid       	"4033EE200176"
	    roles      	(list role_list
		(object Role "targetAnchor"
		    quid       	"4033EE220332"
		    label      	"targetAnchor"
		    supplier   	"Logical View::notation::Anchor"
		    quidu      	"4033EB570149"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$13"
		    quid       	"4033EE22033C"
		    supplier   	"Logical View::notation::Edge"
		    quidu      	"3C75409C00F5"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$14"
	    quid       	"403A6768039D"
	    roles      	(list role_list
		(object Role "element"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isUnsettable"
			    value      	TRUE))
		    quid       	"403A67690290"
		    label      	"element"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$15"
		    quid       	"403A6769029A"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA")))
	(object Association "$UNNAMED$16"
	    quid       	"405B279E0009"
	    roles      	(list role_list
		(object Role "persistedEdges"
		    quid       	"405B279F022C"
		    label      	"persistedEdges"
		    supplier   	"Logical View::notation::Edge"
		    quidu      	"3C75409C00F5"
		    client_cardinality 	(value cardinality "0..*")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$17"
		    quid       	"405B279F022E"
		    supplier   	"Logical View::notation::Diagram"
		    quidu      	"403A64600345"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$18"
	    quid       	"405B283E0075"
	    roles      	(list role_list
		(object Role "diagram"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isVolatile"
			    value      	TRUE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isChangeable"
			    value      	FALSE)
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"405B283F01B1"
		    label      	"diagram"
		    supplier   	"Logical View::notation::Diagram"
		    quidu      	"403A64600345"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$19"
		    quid       	"405B283F01BB"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA")))
	(object Association "$UNNAMED$20"
	    quid       	"40F5468302C3"
	    roles      	(list role_list
		(object Role "nodeMap"
		    quid       	"40F546840396"
		    label      	"nodeMap"
		    supplier   	"Logical View::notation::NodeEntry"
		    quidu      	"40F545C0003D"
		    client_cardinality 	(value cardinality "0..*")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$21"
		    quid       	"40F5468403A0"
		    supplier   	"Logical View::notation::Guide"
		    quidu      	"40F5426703AF"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$22"
	    quid       	"40F6D8720203"
	    roles      	(list role_list
		(object Role "sortedObjects"
		    quid       	"40F6D8730092"
		    label      	"sortedObjects"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123"
		    client_cardinality 	(value cardinality "0..*")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$23"
		    quid       	"40F6D87300A6"
		    supplier   	"Logical View::notation::SortingStyle"
		    quidu      	"4033DEDB0197")))
	(object Association "$UNNAMED$24"
	    quid       	"40F6D8B4021E"
	    roles      	(list role_list
		(object Role "filteredObjects"
		    quid       	"40F6D8B50247"
		    label      	"filteredObjects"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123"
		    client_cardinality 	(value cardinality "0..*")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$25"
		    quid       	"40F6D8B5025B"
		    supplier   	"Logical View::notation::FilteringStyle"
		    quidu      	"40F54A610352")))
	(object Association "$UNNAMED$26"
	    quid       	"419BA0560172"
	    roles      	(list role_list
		(object Role "key"
		    quid       	"419BA05702FA"
		    label      	"key"
		    supplier   	"Logical View::notation::Node"
		    quidu      	"3C7540CF026C"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$27"
		    quid       	"419BA05702FC"
		    supplier   	"Logical View::notation::NodeEntry"
		    quidu      	"40F545C0003D")))
	(object Association "$UNNAMED$28"
	    quid       	"41E44AEC02CF"
	    roles      	(list role_list
		(object Role "transientChildren "
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"41E44AEE0160"
		    label      	"transientChildren "
		    supplier   	"Logical View::notation::Node"
		    quidu      	"3C7540CF026C"
		    client_cardinality 	(value cardinality "0..*")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$29"
		    quid       	"41E44AEE016A"
		    supplier   	"Logical View::notation::View"
		    quidu      	"4037B95B01CA"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$30"
	    quid       	"41EC3D6A0161"
	    roles      	(list role_list
		(object Role "TransientEdges"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    quid       	"41EC3D7E0138"
		    label      	"TransientEdges"
		    supplier   	"Logical View::notation::Edge"
		    quidu      	"3C75409C00F5"
		    client_cardinality 	(value cardinality "0..*")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$31"
		    quid       	"41EC3D7E013A"
		    supplier   	"Logical View::notation::Diagram"
		    quidu      	"403A64600345"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$32"
	    quid       	"421DF5390058"
	    roles      	(list role_list
		(object Role "cropBound"
		    quid       	"421DF53A0077"
		    label      	"cropBound"
		    supplier   	"Logical View::notation::Bounds"
		    quidu      	"4033EA3A018F"
		    client_cardinality 	(value cardinality "n")
		    Containment 	"By Value")
		(object Role "$UNNAMED$33"
		    quid       	"421DF53A008B"
		    supplier   	"Logical View::notation::ImageStyle"
		    quidu      	"421DF3290185"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$34"
	    quid       	"421DF6150112"
	    roles      	(list role_list
		(object Role "cropBound"
		    quid       	"421DF61701B6"
		    label      	"cropBound"
		    supplier   	"Logical View::notation::Bounds"
		    quidu      	"4033EA3A018F"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$35"
		    quid       	"421DF61701CA"
		    supplier   	"Logical View::notation::ImageStyle"
		    quidu      	"421DF3290185"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$36"
	    quid       	"421DF75802B2"
	    roles      	(list role_list
		(object Role "imageBuffer"
		    quid       	"421DF75A035F"
		    label      	"imageBuffer"
		    supplier   	"Logical View::notation::Image"
		    quidu      	"405B34B802BF"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$37"
		    quid       	"421DF75A0369"
		    supplier   	"Logical View::notation::ImageBufferStyle"
		    quidu      	"421DF69802B5"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$38"
	    quid       	"46432F700186"
	    roles      	(list role_list
		(object Role "propertiesMap"
		    quid       	"46432F720157"
		    label      	"propertiesMap"
		    supplier   	"Logical View::notation::StringToPropertyValueMapEntry"
		    quidu      	"463F53AC01B5"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$39"
		    quid       	"46432F720167"
		    supplier   	"Logical View::notation::PropertiesSetStyle"
		    quidu      	"463A02870157"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$40"
	    quid       	"464340D00251"
	    roles      	(list role_list
		(object Role "instanceType"
		    quid       	"464340D101E4"
		    label      	"instanceType"
		    supplier   	"Logical View::ecore::EDataType"
		    quidu      	"3903D525033E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$41"
		    quid       	"464340D101E6"
		    supplier   	"Logical View::notation::DataTypeStyle"
		    quidu      	"46433CA90186")))
	(object Association "$UNNAMED$42"
	    quid       	"464340E50148"
	    roles      	(list role_list
		(object Role "instanceType"
		    quid       	"464340E6001F"
		    label      	"instanceType"
		    supplier   	"Logical View::ecore::EDataType"
		    quidu      	"3903D525033E"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$43"
		    quid       	"464340E6002E"
		    supplier   	"Logical View::notation::PropertyValue"
		    quidu      	"463F6B0A0242")))
	(object Association "$UNNAMED$44"
	    quid       	"46436E6403D8"
	    roles      	(list role_list
		(object Role "eObjectValue"
		    quid       	"46436E66007D"
		    label      	"eObjectValue"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123"
		    client_cardinality 	(value cardinality "0..1")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$45"
		    quid       	"46436E66008C"
		    supplier   	"Logical View::notation::EObjectValueStyle"
		    quidu      	"46436DED003E")))
	(object Association "$UNNAMED$46"
	    quid       	"46436F1E0399"
	    roles      	(list role_list
		(object Role "eObjectListValue"
		    quid       	"46436F1F029F"
		    label      	"eObjectListValue"
		    supplier   	"Logical View::ecore::EObject"
		    quidu      	"3C4F1C860123"
		    client_cardinality 	(value cardinality "0..n")
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$47"
		    quid       	"46436F1F02BF"
		    supplier   	"Logical View::notation::EObjectListValueStyle"
		    quidu      	"46436EEA0251")))
	(object Association "$UNNAMED$48"
	    quid       	"4649D8FA000F"
	    roles      	(list role_list
		(object Role "diagramLink"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"4649D8FB01F4"
		    label      	"diagramLink"
		    supplier   	"Logical View::notation::Diagram"
		    quidu      	"403A64600345"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$49"
		    quid       	"4649D8FB01F6"
		    supplier   	"Logical View::notation::DiagramLinkStyle"
		    quidu      	"4649D89302DE"
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$50"
	    quid       	"4649D93E0128"
	    roles      	(list role_list
		(object Role "diagramLinks"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isResolveProxies"
			    value      	FALSE))
		    quid       	"4649D93F0119"
		    label      	"diagramLinks"
		    supplier   	"Logical View::notation::Diagram"
		    quidu      	"403A64600345"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Reference"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$51"
		    quid       	"4649D93F0128"
		    supplier   	"Logical View::notation::MultiDiagramLinkStyle"
		    quidu      	"4649D922032C"
		    is_aggregate 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "Main"
	    quid       	"3C753EFE025C"
	    title      	"Main"
	    zoom       	75
	    max_height 	28350
	    max_width  	21600
	    origin_x   	5266
	    origin_y   	4876
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::ecore::EModelElement" @1
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2304, 800)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(2116, 718)
			fill_color 	13434879
			nlines     	1
			max_width  	376
			justify    	0
			label      	"EModelElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8421631
		    quidu      	"3903D4E40050"
		    width      	394
		    height     	190
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::FillStyle" @2
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5184, 3408)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(4903, 3323)
			fill_color 	13434879
			nlines     	1
			max_width  	562
			justify    	0
			label      	"FillStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D8C6002F"
		    compartment 	(object Compartment
			Parent_View 	@2
			location   	(4903, 3388)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	559
			justify    	1)
		    width      	580
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::LineStyle" @3
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5216, 3152)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(4922, 3067)
			fill_color 	13434879
			nlines     	1
			max_width  	588
			justify    	0
			label      	"LineStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D98502ED"
		    compartment 	(object Compartment
			Parent_View 	@3
			location   	(4922, 3132)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	584
			justify    	1)
		    width      	606
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::FontStyle" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5248, 2656)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(4911, 2409)
			fill_color 	13434879
			nlines     	1
			max_width  	674
			justify    	0
			label      	"FontStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D9EA0313"
		    compartment 	(object Compartment
			Parent_View 	@4
			location   	(4911, 2474)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	8
			max_width  	671
			justify    	1)
		    width      	692
		    height     	518
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::TitleStyle" @5
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5216, 2192)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@5
			location   	(4916, 2107)
			fill_color 	13434879
			nlines     	1
			max_width  	600
			justify    	0
			label      	"TitleStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033DE790338"
		    compartment 	(object Compartment
			Parent_View 	@5
			location   	(4916, 2172)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	596
			justify    	1)
		    width      	618
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DescriptionStyle" @6
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5136, 720)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(4876, 635)
			fill_color 	13434879
			nlines     	1
			max_width  	520
			justify    	0
			label      	"DescriptionStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033E35B00CB"
		    compartment 	(object Compartment
			Parent_View 	@6
			location   	(4876, 700)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	517
			justify    	1)
		    width      	538
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Size" @7
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1168, 2720)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@7
			location   	(983, 2608)
			fill_color 	13434879
			nlines     	1
			max_width  	370
			justify    	0
			label      	"Size")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033E572020D"
		    compartment 	(object Compartment
			Parent_View 	@7
			location   	(983, 2673)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	367
			justify    	1)
		    width      	388
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Ratio" @8
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(528, 2704)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@8
			location   	(307, 2619)
			fill_color 	13434879
			nlines     	1
			max_width  	442
			justify    	0
			label      	"Ratio")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033EAA101AB"
		    compartment 	(object Compartment
			Parent_View 	@8
			location   	(307, 2684)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	438
			justify    	1)
		    width      	460
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Location" @9
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1760, 2720)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@9
			location   	(1634, 2608)
			fill_color 	13434879
			nlines     	1
			max_width  	252
			justify    	0
			label      	"Location")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033E9C603B9"
		    compartment 	(object Compartment
			Parent_View 	@9
			location   	(1634, 2673)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	250
			justify    	1)
		    width      	270
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Sorting" @10
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 4928)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@10
			location   	(208, 4806)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"Sorting")
		    stereotype 	(object ItemLabel
			Parent_View 	@10
			location   	(208, 4756)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4033F1B70395"
		    compartment 	(object Compartment
			Parent_View 	@10
			location   	(208, 4871)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	243
			justify    	1)
		    width      	434
		    height     	368
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Filtering" @11
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(896, 4928)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@11
			location   	(688, 4806)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"Filtering")
		    stereotype 	(object ItemLabel
			Parent_View 	@11
			location   	(688, 4756)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4033F3A302AC"
		    compartment 	(object Compartment
			Parent_View 	@11
			location   	(688, 4871)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	243
			justify    	1)
		    width      	434
		    height     	368
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::IdentityAnchor" @12
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3936, 2560)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@12
			location   	(3714, 2475)
			fill_color 	13434879
			nlines     	1
			max_width  	444
			justify    	0
			label      	"IdentityAnchor")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033F4C9006A"
		    compartment 	(object Compartment
			Parent_View 	@12
			location   	(3714, 2540)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	442
			justify    	1)
		    width      	462
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Routing" @13
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1392, 4928)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@13
			location   	(1184, 4806)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"Routing")
		    stereotype 	(object ItemLabel
			Parent_View 	@13
			location   	(1184, 4756)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4033F64C01ED"
		    compartment 	(object Compartment
			Parent_View 	@13
			location   	(1184, 4871)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	250
			justify    	1)
		    width      	434
		    height     	368
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Smoothness" @14
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 4944)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@14
			location   	(1696, 4795)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"Smoothness")
		    stereotype 	(object ItemLabel
			Parent_View 	@14
			location   	(1696, 4745)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4033F7160111"
		    compartment 	(object Compartment
			Parent_View 	@14
			location   	(1696, 4860)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	187
			justify    	1)
		    width      	434
		    height     	422
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::JumpLinkStatus" @15
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2416, 4944)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@15
			location   	(2208, 4795)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"JumpLinkStatus")
		    stereotype 	(object ItemLabel
			Parent_View 	@15
			location   	(2208, 4745)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4033F7BF0146"
		    compartment 	(object Compartment
			Parent_View 	@15
			location   	(2208, 4860)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	168
			justify    	1)
		    width      	434
		    height     	422
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::JumpLinkType" @16
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2912, 4928)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@16
			location   	(2704, 4806)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"JumpLinkType")
		    stereotype 	(object ItemLabel
			Parent_View 	@16
			location   	(2704, 4756)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4033F82B02BE"
		    compartment 	(object Compartment
			Parent_View 	@16
			location   	(2704, 4871)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	253
			justify    	1)
		    width      	434
		    height     	368
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::RoutingStyle" @17
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5360, 272)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@17
			location   	(4894, 25)
			fill_color 	13434879
			nlines     	1
			max_width  	932
			justify    	0
			label      	"RoutingStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4034CBCA012F"
		    compartment 	(object Compartment
			Parent_View 	@17
			location   	(4894, 90)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	8
			max_width  	929
			justify    	1)
		    width      	950
		    height     	518
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::RelativeBendpoints" @18
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2896, 2560)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@18
			location   	(2567, 2475)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"RelativeBendpoints")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"40395B1100D3"
		    compartment 	(object Compartment
			Parent_View 	@18
			location   	(2567, 2540)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	654
			justify    	1)
		    width      	676
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::CanonicalStyle" @19
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5200, 3936)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@19
			location   	(4906, 3851)
			fill_color 	13434879
			nlines     	1
			max_width  	588
			justify    	0
			label      	"CanonicalStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"40A0D8C90004"
		    compartment 	(object Compartment
			Parent_View 	@19
			location   	(4906, 3916)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	584
			justify    	1)
		    width      	606
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::ShapeStyle" @20
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5440, 6608)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@20
			location   	(5318, 6555)
			fill_color 	13434879
			nlines     	1
			max_width  	244
			justify    	0
			label      	"ShapeStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"40B538340372"
		    width      	262
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::ConnectorStyle" @21
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5472, 5952)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@21
			location   	(5315, 5899)
			fill_color 	13434879
			nlines     	1
			max_width  	314
			justify    	0
			label      	"ConnectorStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"40B5385000F2"
		    width      	332
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::FillStyle" @22
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(6016, 6912)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@22
			location   	(5927, 6859)
			fill_color 	13434879
			nlines     	1
			max_width  	178
			justify    	0
			label      	"FillStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D8C6002F"
		    width      	196
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::LineStyle" @23
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(6016, 6720)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@23
			location   	(5911, 6667)
			fill_color 	13434879
			nlines     	1
			max_width  	210
			justify    	0
			label      	"LineStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D98502ED"
		    width      	228
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::FontStyle" @24
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(6000, 6528)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@24
			location   	(5893, 6475)
			fill_color 	13434879
			nlines     	1
			max_width  	214
			justify    	0
			label      	"FontStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D9EA0313"
		    width      	232
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::RoutingStyle" @25
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(6048, 6064)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(5910, 6011)
			fill_color 	13434879
			nlines     	1
			max_width  	276
			justify    	0
			label      	"RoutingStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4034CBCA012F"
		    width      	294
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::LineStyle" @26
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(6000, 5888)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@26
			location   	(5895, 5835)
			fill_color 	13434879
			nlines     	1
			max_width  	210
			justify    	0
			label      	"LineStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D98502ED"
		    width      	228
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DescriptionStyle" @27
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(6032, 6336)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@27
			location   	(5866, 6283)
			fill_color 	13434879
			nlines     	1
			max_width  	332
			justify    	0
			label      	"DescriptionStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033E35B00CB"
		    width      	350
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::RelativeBendpointList" @28
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1472, 4448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@28
			location   	(1121, 4380)
			fill_color 	13434879
			nlines     	1
			max_width  	702
			justify    	0
			label      	"RelativeBendpointList")
		    stereotype 	(object ItemLabel
			Parent_View 	@28
			location   	(1121, 4330)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	702
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"40C9ABB702CF"
		    compartment 	(object Compartment
			Parent_View 	@28
			location   	(1121, 4445)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	550
			justify    	1)
		    width      	720
		    height     	260
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::PageStyle" @29
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5152, 4288)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@29
			location   	(4896, 4122)
			fill_color 	13434879
			nlines     	1
			max_width  	512
			justify    	0
			label      	"PageStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"40CDA75702C1"
		    compartment 	(object Compartment
			Parent_View 	@29
			location   	(4896, 4187)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	509
			justify    	1)
		    width      	530
		    height     	356
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DrawerStyle" @30
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5200, 1904)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@30
			location   	(4900, 1819)
			fill_color 	13434879
			nlines     	1
			max_width  	600
			justify    	0
			label      	"DrawerStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"40F45AA70294"
		    compartment 	(object Compartment
			Parent_View 	@30
			location   	(4900, 1884)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	596
			justify    	1)
		    width      	618
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::GuideStyle" @31
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5296, 4704)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@31
			location   	(4925, 4592)
			fill_color 	13434879
			nlines     	1
			max_width  	742
			justify    	0
			label      	"GuideStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"40F53BCC01F1"
		    compartment 	(object Compartment
			Parent_View 	@31
			location   	(4925, 4657)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	738
			justify    	1)
		    width      	760
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Alignment" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3392, 4976)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@32
			location   	(3184, 4800)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"Alignment")
		    stereotype 	(object ItemLabel
			Parent_View 	@32
			location   	(3184, 4750)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"40F548520137"
		    compartment 	(object Compartment
			Parent_View 	@32
			location   	(3184, 4865)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	6
			max_width  	190
			justify    	1)
		    width      	434
		    height     	476
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @33
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40B53BDF0295"
		    client     	@21
		    supplier   	@26
		    vertices   	(list Points
			(5638, 5931)
			(5885, 5901))
		    line_style 	0)
		(object InheritView "" @34
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40B53BCE039E"
		    client     	@21
		    supplier   	@25
		    vertices   	(list Points
			(5638, 5984)
			(5900, 6035))
		    line_style 	0)
		(object InheritView "" @35
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40B53A82030E"
		    client     	@20
		    supplier   	@23
		    vertices   	(list Points
			(5571, 6633)
			(5901, 6697))
		    line_style 	0)
		(object InheritView "" @36
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40B53A780327"
		    client     	@20
		    supplier   	@22
		    vertices   	(list Points
			(5564, 6673)
			(5917, 6859))
		    line_style 	0)
		(object InheritView "" @37
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40B53A93036D"
		    client     	@20
		    supplier   	@24
		    vertices   	(list Points
			(5571, 6589)
			(5883, 6544))
		    line_style 	0)
		(object InheritView "" @38
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40CB44D302DF"
		    client     	@20
		    supplier   	@27
		    vertices   	(list Points
			(5571, 6547)
			(5888, 6401))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::FilterKeyList" @39
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2320, 4448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@39
			location   	(1971, 4380)
			fill_color 	13434879
			nlines     	1
			max_width  	698
			justify    	0
			label      	"FilterKeyList")
		    stereotype 	(object ItemLabel
			Parent_View 	@39
			location   	(1971, 4330)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	698
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"40F5886C0220"
		    compartment 	(object Compartment
			Parent_View 	@39
			location   	(1971, 4445)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	550
			justify    	1)
		    width      	716
		    height     	260
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::SortKeyMap" @40
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3168, 4448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@40
			location   	(2808, 4380)
			fill_color 	13434879
			nlines     	1
			max_width  	720
			justify    	0
			label      	"SortKeyMap")
		    stereotype 	(object ItemLabel
			Parent_View 	@40
			location   	(2808, 4330)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	720
			justify    	0
			label      	"<<datatype>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"40F588C0027E"
		    compartment 	(object Compartment
			Parent_View 	@40
			location   	(2808, 4445)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	562
			justify    	1)
		    width      	738
		    height     	260
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::SortingDirection" @41
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3856, 4896)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@41
			location   	(3648, 4801)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"SortingDirection")
		    stereotype 	(object ItemLabel
			Parent_View 	@41
			location   	(3648, 4751)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	416
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"40F5895B035C"
		    compartment 	(object Compartment
			Parent_View 	@41
			location   	(3648, 4866)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	271
			justify    	1)
		    width      	434
		    height     	314
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::SortingStyle" @42
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5248, 1088)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@42
			location   	(4963, 976)
			fill_color 	13434879
			nlines     	1
			max_width  	570
			justify    	0
			label      	"SortingStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033DEDB0197"
		    compartment 	(object Compartment
			Parent_View 	@42
			location   	(4963, 1041)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	567
			justify    	1)
		    width      	588
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::ecore::EObject" @43
		    ShowCompartmentStereotypes 	TRUE
		    location   	(6320, 1264)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@43
			location   	(6227, 1187)
			fill_color 	13434879
			nlines     	1
			max_width  	186
			justify    	0
			label      	"EObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8421631
		    quidu      	"3C4F1C860123"
		    width      	204
		    height     	178
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$22" @44
		    location   	(5879, 1190)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40F6D8720203"
		    roleview_list 	(list RoleViews
			(object RoleView "sortedObjects" @45
			    Parent_View 	@44
			    location   	(631, 102)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @46
				Parent_View 	@45
				location   	(5990, 1144)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	353
				justify    	0
				label      	"+sortedObjects"
				pctDist    	0.293849
				height     	65
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"40F6D8730092"
			    client     	@44
			    supplier   	@43
			    vertices   	(list Points
				(5879, 1190)
				(6217, 1246))
			    line_style 	0
			    label      	(object SegLabel @47
				Parent_View 	@45
				location   	(6155, 1181)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.793333
				height     	55
				orientation 	0))
			(object RoleView "$UNNAMED$23" @48
			    Parent_View 	@44
			    location   	(631, 102)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"40F6D87300A6"
			    client     	@44
			    supplier   	@42
			    vertices   	(list Points
				(5879, 1190)
				(5542, 1135))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::notation::FilteringStyle" @49
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5264, 1488)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@49
			location   	(4968, 1376)
			fill_color 	13434879
			nlines     	1
			max_width  	592
			justify    	0
			label      	"FilteringStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"40F54A610352"
		    compartment 	(object Compartment
			Parent_View 	@49
			location   	(4968, 1441)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	588
			justify    	1)
		    width      	610
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$24" @50
		    location   	(5893, 1354)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40F6D8B4021E"
		    roleview_list 	(list RoleViews
			(object RoleView "filteredObjects" @51
			    Parent_View 	@50
			    location   	(629, -134)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @52
				Parent_View 	@51
				location   	(6090, 1436)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	308
				justify    	0
				label      	"+filteredObjects"
				pctDist    	0.534796
				height     	122
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"40F6D8B50247"
			    client     	@50
			    supplier   	@43
			    vertices   	(list Points
				(5893, 1354)
				(6217, 1285))
			    line_style 	0
			    label      	(object SegLabel @53
				Parent_View 	@51
				location   	(6142, 1348)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.737754
				height     	46
				orientation 	1))
			(object RoleView "$UNNAMED$25" @54
			    Parent_View 	@50
			    location   	(629, -134)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"40F6D8B5025B"
			    client     	@50
			    supplier   	@49
			    vertices   	(list Points
				(5893, 1354)
				(5569, 1423))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::notation::DiagramStyle" @55
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5440, 7296)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@55
			location   	(5297, 7243)
			fill_color 	13434879
			nlines     	1
			max_width  	286
			justify    	0
			label      	"DiagramStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4259584
		    quidu      	"419A47F800E2"
		    width      	304
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::PageStyle" @56
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5984, 7120)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@56
			location   	(5872, 7067)
			fill_color 	13434879
			nlines     	1
			max_width  	224
			justify    	0
			label      	"PageStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4259584
		    quidu      	"40CDA75702C1"
		    width      	242
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::GuideStyle" @57
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5984, 7296)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@57
			location   	(5867, 7243)
			fill_color 	13434879
			nlines     	1
			max_width  	234
			justify    	0
			label      	"GuideStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4259584
		    quidu      	"40F53BCC01F1"
		    width      	252
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DescriptionStyle" @58
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(6048, 7472)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@58
			location   	(5882, 7419)
			fill_color 	13434879
			nlines     	1
			max_width  	332
			justify    	0
			label      	"DescriptionStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4259584
		    quidu      	"4033E35B00CB"
		    width      	350
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @59
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"419A48B202EC"
		    client     	@55
		    supplier   	@56
		    vertices   	(list Points
			(5592, 7246)
			(5862, 7158))
		    line_style 	0)
		(object InheritView "" @60
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"419A48B60111"
		    client     	@55
		    supplier   	@57
		    vertices   	(list Points
			(5592, 7296)
			(5857, 7296))
		    line_style 	0)
		(object InheritView "" @61
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"419A48B90210"
		    client     	@55
		    supplier   	@58
		    vertices   	(list Points
			(5592, 7340)
			(5872, 7420))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::Guide" @62
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 3424)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@62
			location   	(430, 3339)
			fill_color 	13434879
			nlines     	1
			max_width  	388
			justify    	0
			label      	"Guide")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"40F5426703AF"
		    compartment 	(object Compartment
			Parent_View 	@62
			location   	(430, 3404)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	384
			justify    	1)
		    width      	406
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Node" @63
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1280, 3936)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@63
			location   	(1199, 3883)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Node")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4227327
		    quidu      	"3C7540CF026C"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::NodeEntry" @64
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(640, 3936)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@64
			location   	(289, 3868)
			fill_color 	13434879
			nlines     	1
			max_width  	702
			justify    	0
			label      	"NodeEntry")
		    stereotype 	(object ItemLabel
			Parent_View 	@64
			location   	(289, 3818)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	702
			justify    	0
			label      	"<<MapEntry>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"40F545C0003D"
		    compartment 	(object Compartment
			Parent_View 	@64
			location   	(289, 3933)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	537
			justify    	1)
		    width      	720
		    height     	260
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$20" @65
		    location   	(624, 3663)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40F5468302C3"
		    roleview_list 	(list RoleViews
			(object RoleView "nodeMap" @66
			    Parent_View 	@65
			    location   	(128, 319)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @67
				Parent_View 	@66
				location   	(489, 3758)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	213
				justify    	0
				label      	"+nodeMap"
				pctDist    	0.661417
				height     	136
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"40F546840396"
			    client     	@65
			    supplier   	@64
			    vertices   	(list Points
				(624, 3663)
				(624, 3806))
			    line_style 	3
			    origin_attachment 	(624, 3663)
			    terminal_attachment 	(624, 3806)
			    label      	(object SegLabel @68
				Parent_View 	@66
				location   	(694, 3751)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.614173
				height     	70
				orientation 	0))
			(object RoleView "$UNNAMED$21" @69
			    Parent_View 	@65
			    location   	(128, 319)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"40F5468403A0"
			    client     	@65
			    supplier   	@62
			    vertices   	(list Points
				(624, 3663)
				(624, 3521))
			    line_style 	3
			    origin_attachment 	(624, 3663)
			    terminal_attachment 	(624, 3521))))
		(object AssociationViewNew "$UNNAMED$26" @70
		    location   	(1094, 3936)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"419BA0560172"
		    roleview_list 	(list RoleViews
			(object RoleView "key" @71
			    Parent_View 	@70
			    location   	(518, -560)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @72
				Parent_View 	@71
				location   	(1110, 3886)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	112
				justify    	0
				label      	"+key"
				pctDist    	0.172414
				height     	51
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"419BA05702FA"
			    client     	@70
			    supplier   	@63
			    vertices   	(list Points
				(1094, 3936)
				(1189, 3936))
			    line_style 	0
			    label      	(object SegLabel @73
				Parent_View 	@71
				location   	(1159, 3989)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.685315
				height     	53
				orientation 	1))
			(object RoleView "$UNNAMED$27" @74
			    Parent_View 	@70
			    location   	(518, -560)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @75
				Parent_View 	@74
				location   	(1019, 3895)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	112
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"419BA05702FC"
			    client     	@70
			    supplier   	@64
			    vertices   	(list Points
				(1094, 3936)
				(1000, 3936))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::notation::Style" @76
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2208, 3248)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@76
			location   	(2047, 3219)
			fill_color 	13434879
			nlines     	1
			max_width  	322
			justify    	0
			label      	"Style")
		    stereotype 	(object ItemLabel
			Parent_View 	@76
			location   	(2047, 3165)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	322
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D424039B"
		    width      	340
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Image" @77
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3280, 4080)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@77
			location   	(3074, 3995)
			fill_color 	13434879
			nlines     	1
			max_width  	412
			justify    	0
			label      	"Image")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"405B34B802BF"
		    compartment 	(object Compartment
			Parent_View 	@77
			location   	(3074, 4060)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	409
			justify    	1)
		    width      	430
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::ImageBufferStyle" @78
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2208, 4080)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@78
			location   	(2039, 4027)
			fill_color 	13434879
			nlines     	1
			max_width  	338
			justify    	0
			label      	"ImageBufferStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"421DF69802B5"
		    width      	356
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$36" @79
		    location   	(2725, 4080)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"421DF75802B2"
		    roleview_list 	(list RoleViews
			(object RoleView "imageBuffer" @80
			    Parent_View 	@79
			    location   	(677, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @81
				Parent_View 	@80
				location   	(2833, 4026)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	272
				justify    	0
				label      	"+imageBuffer"
				pctDist    	0.317181
				height     	55
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421DF75A035F"
			    client     	@79
			    supplier   	@77
			    vertices   	(list Points
				(2725, 4080)
				(3064, 4080))
			    line_style 	0
			    label      	(object SegLabel @82
				Parent_View 	@80
				location   	(3029, 4134)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$37" @83
			    Parent_View 	@79
			    location   	(677, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421DF75A0369"
			    client     	@79
			    supplier   	@78
			    vertices   	(list Points
				(2725, 4080)
				(2386, 4080))
			    line_style 	0
			    label      	(object SegLabel @84
				Parent_View 	@83
				location   	(2421, 4134)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object ClassView "Class" "Logical View::notation::MeasurementUnit" @85
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(656, 4432)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@85
			location   	(480, 4337)
			fill_color 	13434879
			nlines     	1
			max_width  	352
			justify    	0
			label      	"MeasurementUnit")
		    stereotype 	(object ItemLabel
			Parent_View 	@85
			location   	(480, 4287)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	350
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43D015E002C0"
		    compartment 	(object Compartment
			Parent_View 	@85
			location   	(480, 4402)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	209
			justify    	1)
		    width      	370
		    height     	314
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Bounds" @86
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3280, 3648)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@86
			location   	(3192, 3595)
			fill_color 	13434879
			nlines     	1
			max_width  	176
			justify    	0
			label      	"Bounds")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033EA3A018F"
		    width      	194
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::ImageStyle" @87
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2224, 3648)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@87
			location   	(1820, 3536)
			fill_color 	13434879
			nlines     	1
			max_width  	808
			justify    	0
			label      	"ImageStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"421DF3290185"
		    compartment 	(object Compartment
			Parent_View 	@87
			location   	(1820, 3601)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	804
			justify    	1)
		    width      	826
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @88
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"421DF49302BC"
		    client     	@87
		    supplier   	@76
		    vertices   	(list Points
			(2208, 3524)
			(2208, 3344))
		    line_style 	3
		    origin_attachment 	(2208, 3524)
		    terminal_attachment 	(2208, 3344))
		(object AssociationViewNew "$UNNAMED$34" @89
		    location   	(2910, 3648)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"421DF6150112"
		    roleview_list 	(list RoleViews
			(object RoleView "cropBound" @90
			    Parent_View 	@89
			    location   	(846, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @91
				Parent_View 	@90
				location   	(3016, 3593)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+cropBound"
				pctDist    	0.389344
				height     	56
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421DF61701B6"
			    client     	@89
			    supplier   	@86
			    vertices   	(list Points
				(2910, 3648)
				(3183, 3648))
			    line_style 	3
			    origin_attachment 	(2910, 3648)
			    terminal_attachment 	(3183, 3648)
			    label      	(object SegLabel @92
				Parent_View 	@90
				location   	(3156, 3702)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$35" @93
			    Parent_View 	@89
			    location   	(846, 0)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421DF61701CA"
			    client     	@89
			    supplier   	@87
			    vertices   	(list Points
				(2910, 3648)
				(2637, 3648))
			    line_style 	3
			    origin_attachment 	(2910, 3648)
			    terminal_attachment 	(2637, 3648)
			    label      	(object SegLabel @94
				Parent_View 	@93
				location   	(2664, 3702)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))))
		(object InheritView "" @95
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"421DF6D20205"
		    client     	@78
		    supplier   	@87
		    vertices   	(list Points
			(2208, 4015)
			(2208, 3772))
		    line_style 	3
		    origin_attachment 	(2208, 4015)
		    terminal_attachment 	(2208, 3772))
		(object ClassView "Class" "Logical View::notation::Bounds" @96
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1488, 3168)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@96
			location   	(1400, 3115)
			fill_color 	13434879
			nlines     	1
			max_width  	176
			justify    	0
			label      	"Bounds")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033EA3A018F"
		    width      	194
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$32" @97
		    location   	(1483, 3586)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"421DF5390058"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$33" @98
			    Parent_View 	@97
			    location   	(-5, 578)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @99
				Parent_View 	@98
				location   	(1733, 3688)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				hidden     	TRUE
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	450
				justify    	0
				label      	""
				pctDist    	0.800000
				height     	42
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421DF53A008B"
			    client     	@97
			    supplier   	@87
			    vertices   	(list Points
				(1483, 3586)
				(1483, 3646)
				(1810, 3646))
			    line_style 	0
			    label      	(object SegLabel @100
				Parent_View 	@98
				location   	(1771, 3593)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "cropBound" @101
			    Parent_View 	@97
			    location   	(-5, 578)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @102
				Parent_View 	@101
				location   	(1444, 3304)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+cropBound"
				pctDist    	0.800000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"421DF53A0077"
			    client     	@97
			    supplier   	@96
			    vertices   	(list Points
				(1483, 3586)
				(1486, 3233))
			    line_style 	0
			    label      	(object SegLabel @103
				Parent_View 	@101
				location   	(1540, 3268)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"n"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object InheritView "" @104
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033EB2F01F6"
		    client     	@96
		    supplier   	@9
		    vertices   	(list Points
			(1531, 3103)
			(1531, 2988)
			(1800, 2988)
			(1800, 2844))
		    line_style 	3
		    origin_attachment 	(1531, 3103)
		    terminal_attachment 	(1800, 2844))
		(object InheritView "" @105
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033EB2B0326"
		    client     	@96
		    supplier   	@7
		    vertices   	(list Points
			(1437, 3103)
			(1437, 2992)
			(1204, 2992)
			(1204, 2844))
		    line_style 	3
		    origin_attachment 	(1437, 3103)
		    terminal_attachment 	(1204, 2844))
		(object ClassView "Class" "Logical View::notation::LayoutConstraint" @106
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1072, 2176)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@106
			location   	(875, 2145)
			fill_color 	13434879
			nlines     	1
			max_width  	394
			justify    	0
			label      	"LayoutConstraint")
		    stereotype 	(object ItemLabel
			Parent_View 	@106
			location   	(875, 2091)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	394
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033E463037F"
		    width      	412
		    height     	196
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @107
		    location   	(1062, 2466)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@106
		    vertices   	(list Points
			(1062, 2466)
			(1062, 2274)))
		(object InheritView "" @108
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033EB1F0171"
		    client     	@8
		    supplier   	@106
		    vertices   	(list Points
			(587, 2606)
			(587, 2466))
		    line_style 	3
		    origin_attachment 	(587, 2606)
		    terminal_attachment 	(587, 2466)
		    drawSupplier 	@107)
		(object InheritView "" @109
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43D14D33007C"
		    client     	@7
		    supplier   	@106
		    vertices   	(list Points
			(1166, 2596)
			(1166, 2466))
		    line_style 	3
		    origin_attachment 	(1166, 2596)
		    terminal_attachment 	(1166, 2466)
		    drawSupplier 	@107)
		(object InheritView "" @110
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43D14D370230"
		    client     	@9
		    supplier   	@106
		    vertices   	(list Points
			(1758, 2596)
			(1758, 2466))
		    line_style 	3
		    origin_attachment 	(1758, 2596)
		    terminal_attachment 	(1758, 2466)
		    drawSupplier 	@107)
		(object ClassView "Class" "Logical View::notation::Style" @111
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4192, 1088)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@111
			location   	(4031, 1057)
			fill_color 	13434879
			nlines     	1
			max_width  	322
			justify    	0
			label      	"Style")
		    stereotype 	(object ItemLabel
			Parent_View 	@111
			location   	(4031, 1003)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	322
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D424039B"
		    width      	340
		    height     	196
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @112
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4034CC1C023C"
		    client     	@17
		    supplier   	@111
		    vertices   	(list Points
			(4885, 274)
			(4649, 274)
			(4649, 1045)
			(4362, 1045))
		    line_style 	3
		    origin_attachment 	(4885, 274)
		    terminal_attachment 	(4362, 1045))
		(object InheritView "" @113
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4034CC42027D"
		    client     	@6
		    supplier   	@111
		    vertices   	(list Points
			(4867, 720)
			(4645, 720)
			(4645, 1045)
			(4362, 1045))
		    line_style 	3
		    origin_attachment 	(4867, 720)
		    terminal_attachment 	(4362, 1045))
		(object InheritView "" @114
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4039845602CD"
		    client     	@5
		    supplier   	@111
		    vertices   	(list Points
			(4907, 2188)
			(4683, 2188)
			(4683, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4907, 2188)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @115
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4034CC3F0282"
		    client     	@4
		    supplier   	@111
		    vertices   	(list Points
			(4902, 2623)
			(4678, 2623)
			(4678, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4902, 2623)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @116
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"403984E802F9"
		    client     	@3
		    supplier   	@111
		    vertices   	(list Points
			(4913, 3122)
			(4678, 3122)
			(4678, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4913, 3122)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @117
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4034CC390310"
		    client     	@2
		    supplier   	@111
		    vertices   	(list Points
			(4894, 3408)
			(4683, 3408)
			(4683, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4894, 3408)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @118
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40A0D9610111"
		    client     	@19
		    supplier   	@111
		    vertices   	(list Points
			(4897, 3943)
			(4683, 3943)
			(4683, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4897, 3943)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @119
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40CDA7BB00DC"
		    client     	@29
		    supplier   	@111
		    vertices   	(list Points
			(4887, 4292)
			(4683, 4292)
			(4683, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4887, 4292)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @120
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40F4611702A9"
		    client     	@30
		    supplier   	@111
		    vertices   	(list Points
			(4891, 1904)
			(4687, 1904)
			(4687, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4891, 1904)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @121
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40F542E50345"
		    client     	@31
		    supplier   	@111
		    vertices   	(list Points
			(4916, 4705)
			(4683, 4705)
			(4683, 1028)
			(4362, 1028))
		    line_style 	3
		    origin_attachment 	(4916, 4705)
		    terminal_attachment 	(4362, 1028))
		(object InheritView "" @122
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"403983FF02B3"
		    client     	@42
		    supplier   	@111
		    vertices   	(list Points
			(4954, 1033)
			(4362, 1033))
		    line_style 	3
		    origin_attachment 	(4954, 1033)
		    terminal_attachment 	(4362, 1033))
		(object InheritView "" @123
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40F54BAE0091"
		    client     	@49
		    supplier   	@111
		    vertices   	(list Points
			(4959, 1484)
			(4687, 1484)
			(4687, 1039)
			(4362, 1039))
		    line_style 	3
		    origin_attachment 	(4959, 1484)
		    terminal_attachment 	(4362, 1039))
		(object ClassView "Class" "Logical View::ecore::EObject" @124
		    ShowCompartmentStereotypes 	TRUE
		    location   	(2304, 432)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@124
			location   	(2194, 352)
			fill_color 	13434879
			nlines     	1
			max_width  	220
			justify    	0
			label      	"EObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8421631
		    quidu      	"3C4F1C860123"
		    width      	238
		    height     	186
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @125
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C4F1CC50336"
		    client     	@1
		    supplier   	@124
		    vertices   	(list Points
			(2300, 705)
			(2300, 525))
		    line_style 	3
		    origin_attachment 	(2300, 705)
		    terminal_attachment 	(2300, 525))
		(object ClassView "Class" "Logical View::notation::Node" @126
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1008, 1728)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@126
			location   	(927, 1675)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Node")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4227327
		    quidu      	"3C7540CF026C"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$6" @127
		    location   	(1008, 1935)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033E4C3011D"
		    roleview_list 	(list RoleViews
			(object RoleView "layoutConstraint" @128
			    Parent_View 	@127
			    location   	(-583, 322)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @129
				Parent_View 	@128
				location   	(779, 2035)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	342
				justify    	0
				label      	"+layoutConstraint"
				pctDist    	0.708861
				height     	230
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033E4C50120"
			    client     	@127
			    supplier   	@106
			    vertices   	(list Points
				(1008, 1935)
				(1008, 2078))
			    line_style 	3
			    origin_attachment 	(1008, 1935)
			    terminal_attachment 	(1008, 2078)
			    label      	(object SegLabel @130
				Parent_View 	@128
				location   	(1094, 2037)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	86
				justify    	0
				label      	"0..1"
				pctDist    	0.717647
				height     	86
				orientation 	0))
			(object RoleView "$UNNAMED$7" @131
			    Parent_View 	@127
			    location   	(-583, 322)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033E4C5012A"
			    client     	@127
			    supplier   	@126
			    vertices   	(list Points
				(1008, 1935)
				(1008, 1793))
			    line_style 	3
			    origin_attachment 	(1008, 1935)
			    terminal_attachment 	(1008, 1793))))
		(object ClassView "Class" "Logical View::notation::Bendpoints" @132
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2864, 2208)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@132
			location   	(2703, 2177)
			fill_color 	13434879
			nlines     	1
			max_width  	322
			justify    	0
			label      	"Bendpoints")
		    stereotype 	(object ItemLabel
			Parent_View 	@132
			location   	(2703, 2123)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	322
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033EB630327"
		    width      	340
		    height     	196
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @133
		    location   	(2864, 2470)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@132
		    vertices   	(list Points
			(2864, 2470)
			(2864, 2306)))
		(object InheritView "" @134
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"40395EF400D8"
		    client     	@18
		    supplier   	@132
		    vertices   	(list Points
			(2868, 2462)
			(2868, 2470))
		    line_style 	3
		    origin_attachment 	(2868, 2462)
		    terminal_attachment 	(2868, 2470)
		    drawSupplier 	@133)
		(object ClassView "Class" "Logical View::notation::Anchor" @135
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3904, 2208)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@135
			location   	(3743, 2177)
			fill_color 	13434879
			nlines     	1
			max_width  	322
			justify    	0
			label      	"Anchor")
		    stereotype 	(object ItemLabel
			Parent_View 	@135
			location   	(3743, 2123)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	322
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	16711935
		    quidu      	"4033EB570149"
		    width      	340
		    height     	196
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @136
		    location   	(3904, 2462)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@135
		    vertices   	(list Points
			(3904, 2462)
			(3904, 2306)))
		(object InheritView "" @137
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033F56A02C4"
		    client     	@12
		    supplier   	@135
		    vertices   	(list Points
			(3904, 2463)
			(3904, 2462))
		    line_style 	3
		    origin_attachment 	(3904, 2463)
		    terminal_attachment 	(3904, 2462)
		    drawSupplier 	@136)
		(object ClassView "Class" "Logical View::notation::View" @138
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2288, 1264)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@138
			location   	(2001, 1123)
			fill_color 	13434879
			nlines     	1
			max_width  	574
			justify    	0
			label      	"View")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4227327
		    quidu      	"4037B95B01CA"
		    compartment 	(object Compartment
			Parent_View 	@138
			location   	(2001, 1188)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	TRUE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	571
			justify    	1)
		    width      	592
		    height     	308
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$4" @139
		    location   	(3168, 1017)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033D44501BB"
		    roleview_list 	(list RoleViews
			(object RoleView "styles" @140
			    Parent_View 	@139
			    location   	(1168, -215)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @141
				Parent_View 	@140
				location   	(3931, 976)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	132
				justify    	0
				label      	"+styles"
				pctDist    	0.894025
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033D4470331"
			    client     	@139
			    supplier   	@111
			    vertices   	(list Points
				(3168, 1017)
				(4022, 1017))
			    line_style 	3
			    origin_attachment 	(3168, 1017)
			    terminal_attachment 	(4022, 1017)
			    label      	(object SegLabel @142
				Parent_View 	@140
				location   	(3957, 1067)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	62
				justify    	0
				label      	"0..*"
				pctDist    	0.924464
				height     	50
				orientation 	1))
			(object RoleView "$UNNAMED$5" @143
			    Parent_View 	@139
			    location   	(1168, -215)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033D447033B"
			    client     	@139
			    supplier   	@138
			    vertices   	(list Points
				(3168, 1017)
				(2406, 1017)
				(2406, 1110))
			    line_style 	3
			    origin_attachment 	(3168, 1017)
			    terminal_attachment 	(2406, 1110))))
		(object InheritView "" @144
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4037B98401AC"
		    client     	@138
		    supplier   	@1
		    vertices   	(list Points
			(2304, 1110)
			(2304, 895))
		    line_style 	3
		    origin_attachment 	(2304, 1110)
		    terminal_attachment 	(2304, 895))
		(object AssociationViewNew "$UNNAMED$14" @145
		    location   	(2541, 698)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"403A6768039D"
		    roleview_list 	(list RoleViews
			(object RoleView "element" @146
			    Parent_View 	@145
			    location   	(1437, -230)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @147
				Parent_View 	@146
				location   	(2665, 405)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	187
				justify    	0
				label      	"+element"
				pctDist    	0.711268
				height     	124
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"403A67690290"
			    client     	@145
			    supplier   	@124
			    vertices   	(list Points
				(2541, 698)
				(2541, 404)
				(2423, 404))
			    line_style 	3
			    origin_attachment 	(2541, 698)
			    terminal_attachment 	(2423, 404)
			    label      	(object SegLabel @148
				Parent_View 	@146
				location   	(2503, 351)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.808333
				height     	54
				orientation 	1))
			(object RoleView "$UNNAMED$15" @149
			    Parent_View 	@145
			    location   	(1437, -230)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"403A6769029A"
			    client     	@145
			    supplier   	@138
			    vertices   	(list Points
				(2541, 698)
				(2541, 1109))
			    line_style 	3
			    origin_attachment 	(2541, 698)
			    terminal_attachment 	(2541, 1109))))
		(object AssociationViewNew "$UNNAMED$2" @150
		    location   	(1260, 1204)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033CCBD03B5"
		    roleview_list 	(list RoleViews
			(object RoleView "persistedChildren" @151
			    Parent_View 	@150
			    location   	(-2180, 84)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @152
				Parent_View 	@151
				location   	(784, 1601)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	390
				justify    	0
				label      	"+persistedChildren"
				pctDist    	0.915094
				height     	204
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033CCC30346"
			    client     	@150
			    supplier   	@126
			    vertices   	(list Points
				(1260, 1204)
				(987, 1204)
				(987, 1663))
			    line_style 	3
			    origin_attachment 	(1260, 1204)
			    terminal_attachment 	(987, 1663)
			    label      	(object SegLabel @153
				Parent_View 	@151
				location   	(838, 1514)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	62
				justify    	0
				label      	"0..*"
				pctDist    	0.798305
				height     	150
				orientation 	1))
			(object RoleView "$UNNAMED$3" @154
			    Parent_View 	@150
			    location   	(-2180, 84)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033CCC3035A"
			    client     	@150
			    supplier   	@138
			    vertices   	(list Points
				(1260, 1204)
				(1992, 1204))
			    line_style 	3
			    origin_attachment 	(1260, 1204)
			    terminal_attachment 	(1992, 1204))))
		(object AssociationViewNew "$UNNAMED$28" @155
		    location   	(1010, 1004)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41E44AEC02CF"
		    roleview_list 	(list RoleViews
			(object RoleView "transientChildren " @156
			    Parent_View 	@155
			    location   	(-1278, -260)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @157
				Parent_View 	@156
				location   	(687, 1740)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	354
				justify    	0
				label      	"+transientChildren "
				pctDist    	0.826707
				height     	27
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41E44AEE0160"
			    client     	@155
			    supplier   	@126
			    vertices   	(list Points
				(1010, 1004)
				(654, 1004)
				(654, 1713)
				(918, 1713))
			    line_style 	3
			    origin_attachment 	(1010, 1004)
			    terminal_attachment 	(918, 1713)
			    label      	(object SegLabel @158
				Parent_View 	@156
				location   	(672, 1814)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.815089
				height     	101
				orientation 	1))
			(object RoleView "$UNNAMED$29" @159
			    Parent_View 	@155
			    location   	(-1278, -260)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41E44AEE016A"
			    client     	@155
			    supplier   	@138
			    vertices   	(list Points
				(1010, 1004)
				(2233, 1004)
				(2233, 1110))
			    line_style 	3
			    origin_attachment 	(1010, 1004)
			    terminal_attachment 	(2233, 1110))))
		(object ClassView "Class" "Logical View::notation::Edge" @160
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2880, 1744)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@160
			location   	(2768, 1662)
			fill_color 	13434879
			nlines     	1
			max_width  	224
			justify    	0
			label      	"Edge")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	4227327
		    quidu      	"3C75409C00F5"
		    width      	242
		    height     	191
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$8" @161
		    location   	(2845, 1974)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033ED76019A"
		    roleview_list 	(list RoleViews
			(object RoleView "bendpoints" @162
			    Parent_View 	@161
			    location   	(-51, 166)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @163
				Parent_View 	@162
				location   	(2809, 2027)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	242
				justify    	0
				label      	"+bendpoints"
				pctDist    	0.391753
				height     	37
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033ED78012F"
			    client     	@161
			    supplier   	@132
			    vertices   	(list Points
				(2845, 1974)
				(2845, 2110))
			    line_style 	3
			    origin_attachment 	(2845, 1974)
			    terminal_attachment 	(2845, 2110)
			    label      	(object SegLabel @164
				Parent_View 	@162
				location   	(2911, 2090)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	125
				justify    	0
				label      	"0..1"
				pctDist    	0.863402
				height     	66
				orientation 	0))
			(object RoleView "$UNNAMED$9" @165
			    Parent_View 	@161
			    location   	(-51, 166)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033ED780139"
			    client     	@161
			    supplier   	@160
			    vertices   	(list Points
				(2845, 1974)
				(2845, 1839))
			    line_style 	3
			    origin_attachment 	(2845, 1974)
			    terminal_attachment 	(2845, 1839))))
		(object AssociationViewNew "$UNNAMED$10" @166
		    location   	(3374, 1983)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033EDEC0302"
		    roleview_list 	(list RoleViews
			(object RoleView "sourceAnchor" @167
			    Parent_View 	@166
			    location   	(478, 175)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @168
				Parent_View 	@167
				location   	(3763, 2022)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	305
				justify    	0
				label      	"+sourceAnchor"
				pctDist    	0.633257
				height     	39
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033EDED03B8"
			    client     	@166
			    supplier   	@135
			    vertices   	(list Points
				(3374, 1983)
				(3861, 1983)
				(3861, 2110))
			    line_style 	3
			    origin_attachment 	(3374, 1983)
			    terminal_attachment 	(3861, 2110)
			    label      	(object SegLabel @169
				Parent_View 	@167
				location   	(3768, 2083)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	66
				justify    	0
				label      	"0..1"
				pctDist    	0.957859
				height     	94
				orientation 	1))
			(object RoleView "$UNNAMED$11" @170
			    Parent_View 	@166
			    location   	(478, 175)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033EDED03C2"
			    client     	@166
			    supplier   	@160
			    vertices   	(list Points
				(3374, 1983)
				(2903, 1983)
				(2903, 1839))
			    line_style 	3
			    origin_attachment 	(3374, 1983)
			    terminal_attachment 	(2903, 1839))))
		(object AssociationViewNew "$UNNAMED$12" @171
		    location   	(3522, 1912)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033EE200176"
		    roleview_list 	(list RoleViews
			(object RoleView "targetAnchor" @172
			    Parent_View 	@171
			    location   	(626, 104)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @173
				Parent_View 	@172
				location   	(4111, 2035)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	279
				justify    	0
				label      	"+targetAnchor"
				pctDist    	0.883074
				height     	158
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033EE220332"
			    client     	@171
			    supplier   	@135
			    vertices   	(list Points
				(3522, 1912)
				(3953, 1912)
				(3953, 2110))
			    line_style 	3
			    origin_attachment 	(3522, 1912)
			    terminal_attachment 	(3953, 2110)
			    label      	(object SegLabel @174
				Parent_View 	@172
				location   	(4038, 2076)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	66
				justify    	0
				label      	"0..1"
				pctDist    	0.947661
				height     	85
				orientation 	0))
			(object RoleView "$UNNAMED$13" @175
			    Parent_View 	@171
			    location   	(626, 104)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4033EE22033C"
			    client     	@171
			    supplier   	@160
			    vertices   	(list Points
				(3522, 1912)
				(2966, 1912)
				(2966, 1839))
			    line_style 	3
			    origin_attachment 	(3522, 1912)
			    terminal_attachment 	(2966, 1839))))
		(object AssociationViewNew "$UNNAMED$0" @176
		    location   	(2916, 1376)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D418E7600BA"
		    roleview_list 	(list RoleViews
			(object RoleView "sourceEdges" @177
			    Parent_View 	@176
			    location   	(148, 992)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @178
				Parent_View 	@177
				location   	(2750, 1526)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	276
				justify    	0
				label      	"+sourceEdges"
				pctDist    	0.549618
				height     	167
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D418E7701F2"
			    client     	@176
			    supplier   	@160
			    vertices   	(list Points
				(2916, 1376)
				(2916, 1649))
			    line_style 	3
			    origin_attachment 	(2916, 1376)
			    terminal_attachment 	(2916, 1649)
			    label      	(object SegLabel @179
				Parent_View 	@177
				location   	(2816, 1617)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	62
				justify    	0
				label      	"0..*"
				pctDist    	0.882716
				height     	101
				orientation 	1))
			(object RoleView "source" @180
			    Parent_View 	@176
			    location   	(148, 992)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @181
				Parent_View 	@180
				location   	(2653, 1364)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	174
				justify    	0
				label      	"+source"
				pctDist    	0.823400
				height     	48
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D418E7701E3"
			    client     	@176
			    supplier   	@138
			    vertices   	(list Points
				(2916, 1376)
				(2916, 1316)
				(2584, 1316))
			    line_style 	3
			    origin_attachment 	(2916, 1376)
			    terminal_attachment 	(2584, 1316)
			    label      	(object SegLabel @182
				Parent_View 	@180
				location   	(2616, 1429)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	66
				justify    	0
				label      	"1"
				pctDist    	0.917526
				height     	113
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$1" @183
		    location   	(2978, 1250)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3D418EA4030F"
		    roleview_list 	(list RoleViews
			(object RoleView "targetEdges" @184
			    Parent_View 	@183
			    location   	(213, 863)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @185
				Parent_View 	@184
				location   	(3134, 1493)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	243
				justify    	0
				label      	"+targetEdges"
				pctDist    	0.609023
				height     	156
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D418EA5039B"
			    client     	@183
			    supplier   	@160
			    vertices   	(list Points
				(2978, 1250)
				(2978, 1648))
			    line_style 	3
			    origin_attachment 	(2978, 1250)
			    terminal_attachment 	(2978, 1648)
			    label      	(object SegLabel @186
				Parent_View 	@184
				location   	(3037, 1609)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	62
				justify    	0
				label      	"0..*"
				pctDist    	0.899514
				height     	59
				orientation 	0))
			(object RoleView "target" @187
			    Parent_View 	@183
			    location   	(213, 863)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @188
				Parent_View 	@187
				location   	(2643, 1227)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	153
				justify    	0
				label      	"+target"
				pctDist    	0.870066
				height     	37
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3D418EA5038C"
			    client     	@183
			    supplier   	@138
			    vertices   	(list Points
				(2978, 1250)
				(2978, 1190)
				(2584, 1190))
			    line_style 	3
			    origin_attachment 	(2978, 1250)
			    terminal_attachment 	(2584, 1190)
			    label      	(object SegLabel @189
				Parent_View 	@187
				location   	(2617, 1147)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	66
				justify    	0
				label      	"1"
				pctDist    	0.930490
				height     	44
				orientation 	1))))
		(object ClassView "Class" "Logical View::notation::Diagram" @190
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1856, 1792)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@190
			location   	(1350, 1680)
			fill_color 	13434879
			nlines     	1
			max_width  	1012
			justify    	0
			label      	"Diagram")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	33023
		    quidu      	"403A64600345"
		    compartment 	(object Compartment
			Parent_View 	@190
			location   	(1350, 1745)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	1009
			justify    	1)
		    width      	1030
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$18" @191
		    location   	(1577, 1333)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"405B283E0075"
		    roleview_list 	(list RoleViews
			(object RoleView "diagram" @192
			    Parent_View 	@191
			    location   	(-1415, 69)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @193
				Parent_View 	@192
				location   	(1687, 1614)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	187
				justify    	0
				label      	"+diagram"
				pctDist    	0.840708
				height     	110
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"405B283F01B1"
			    client     	@191
			    supplier   	@190
			    vertices   	(list Points
				(1577, 1333)
				(1577, 1667))
			    line_style 	3
			    origin_attachment 	(1577, 1333)
			    terminal_attachment 	(1577, 1667)
			    label      	(object SegLabel @194
				Parent_View 	@192
				location   	(1534, 1614)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.840708
				height     	44
				orientation 	1))
			(object RoleView "$UNNAMED$19" @195
			    Parent_View 	@191
			    location   	(-1415, 69)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"405B283F01BB"
			    client     	@191
			    supplier   	@138
			    vertices   	(list Points
				(1577, 1333)
				(1577, 1273)
				(1992, 1273))
			    line_style 	3
			    origin_attachment 	(1577, 1333)
			    terminal_attachment 	(1992, 1273))))
		(object AssociationViewNew "$UNNAMED$16" @196
		    location   	(2565, 1754)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"405B279E0009"
		    roleview_list 	(list RoleViews
			(object RoleView "persistedEdges" @197
			    Parent_View 	@196
			    location   	(165, 10)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @198
				Parent_View 	@197
				location   	(2565, 1713)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	383
				justify    	0
				label      	"+persistedEdges"
				pctDist    	0.000000
				height     	42
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"405B279F022C"
			    client     	@196
			    supplier   	@160
			    vertices   	(list Points
				(2565, 1754)
				(2759, 1754))
			    line_style 	3
			    origin_attachment 	(2565, 1754)
			    terminal_attachment 	(2759, 1754)
			    label      	(object SegLabel @199
				Parent_View 	@197
				location   	(2680, 1791)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.591398
				height     	37
				orientation 	1))
			(object RoleView "$UNNAMED$17" @200
			    Parent_View 	@196
			    location   	(165, 10)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"405B279F022E"
			    client     	@196
			    supplier   	@190
			    vertices   	(list Points
				(2565, 1754)
				(2371, 1754))
			    line_style 	3
			    origin_attachment 	(2565, 1754)
			    terminal_attachment 	(2371, 1754))))
		(object AssociationViewNew "$UNNAMED$30" @201
		    location   	(2360, 2020)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"41EC3D6A0161"
		    roleview_list 	(list RoleViews
			(object RoleView "TransientEdges" @202
			    Parent_View 	@201
			    location   	(632, 276)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @203
				Parent_View 	@202
				location   	(2505, 1939)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	374
				justify    	0
				label      	"+TransientEdges"
				pctDist    	0.245509
				height     	82
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41EC3D7E0138"
			    client     	@201
			    supplier   	@160
			    vertices   	(list Points
				(2360, 2020)
				(2773, 2020)
				(2773, 1839))
			    line_style 	3
			    origin_attachment 	(2360, 2020)
			    terminal_attachment 	(2773, 1839)
			    label      	(object SegLabel @204
				Parent_View 	@202
				location   	(2685, 2043)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.548902
				height     	23
				orientation 	1))
			(object RoleView "$UNNAMED$31" @205
			    Parent_View 	@201
			    location   	(632, 276)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"41EC3D7E013A"
			    client     	@201
			    supplier   	@190
			    vertices   	(list Points
				(2360, 2020)
				(1870, 2020)
				(1870, 1916))
			    line_style 	3
			    origin_attachment 	(2360, 2020)
			    terminal_attachment 	(1870, 1916))))
		(object ClassView "Class" "Logical View::notation::NamedStyle" @206
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2608, 6448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@206
			location   	(2440, 6363)
			fill_color 	13434879
			nlines     	1
			max_width  	336
			justify    	0
			label      	"NamedStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46420DE40213"
		    compartment 	(object Compartment
			Parent_View 	@206
			location   	(2440, 6428)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	334
			justify    	1)
		    width      	354
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::SingleValueStyle" @207
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1184, 6928)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@207
			location   	(980, 6789)
			fill_color 	13434879
			nlines     	1
			max_width  	408
			justify    	0
			label      	"SingleValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4641EA1200DA"
		    compartment 	(object Compartment
			Parent_View 	@207
			location   	(980, 6854)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	404
			justify    	1)
		    width      	426
		    height     	302
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::ListValueStyle" @208
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1936, 6896)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@208
			location   	(1582, 6811)
			fill_color 	13434879
			nlines     	1
			max_width  	708
			justify    	0
			label      	"ListValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46420D89035B"
		    compartment 	(object Compartment
			Parent_View 	@208
			location   	(1582, 6876)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	704
			justify    	1)
		    width      	726
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::Style" @209
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2608, 5616)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@209
			location   	(2471, 5587)
			fill_color 	13434879
			nlines     	1
			max_width  	274
			justify    	0
			label      	"Style")
		    stereotype 	(object ItemLabel
			Parent_View 	@209
			location   	(2471, 5533)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	271
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4033D424039B"
		    width      	292
		    height     	192
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @210
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46420E0401F4"
		    client     	@206
		    supplier   	@209
		    vertices   	(list Points
			(2608, 6350)
			(2608, 5712))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::StringToPropertyValueMapEntry" @211
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(336, 5632)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@211
			location   	(25, 5537)
			fill_color 	13434879
			nlines     	1
			max_width  	622
			justify    	0
			label      	"StringToPropertyValueMapEntry")
		    stereotype 	(object ItemLabel
			Parent_View 	@211
			location   	(25, 5487)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	622
			justify    	0
			label      	"<<MapEntry>>")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"463F53AC01B5"
		    compartment 	(object Compartment
			Parent_View 	@211
			location   	(25, 5602)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	443
			justify    	1)
		    width      	640
		    height     	314
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::PropertiesSetStyle" @212
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1536, 5632)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@212
			location   	(1335, 5412)
			fill_color 	13434879
			nlines     	1
			max_width  	402
			justify    	0
			label      	"PropertiesSetStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"463A02870157"
		    compartment 	(object Compartment
			Parent_View 	@212
			location   	(1335, 5477)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	7
			max_width  	400
			justify    	1)
		    width      	420
		    height     	464
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$38" @213
		    location   	(990, 5632)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46432F700186"
		    roleview_list 	(list RoleViews
			(object RoleView "propertiesMap" @214
			    Parent_View 	@213
			    location   	(-1074, -16)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @215
				Parent_View 	@214
				location   	(868, 5574)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	304
				justify    	0
				label      	"+propertiesMap"
				pctDist    	0.365269
				height     	58
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"46432F720157"
			    client     	@213
			    supplier   	@211
			    vertices   	(list Points
				(990, 5632)
				(656, 5632))
			    line_style 	0
			    label      	(object SegLabel @216
				Parent_View 	@214
				location   	(739, 5674)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	241
				justify    	0
				label      	"0..n"
				pctDist    	0.751497
				height     	42
				orientation 	0))
			(object RoleView "$UNNAMED$39" @217
			    Parent_View 	@213
			    location   	(-1074, -16)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"46432F720167"
			    client     	@213
			    supplier   	@212
			    vertices   	(list Points
				(990, 5632)
				(1325, 5632))
			    line_style 	0)))
		(object InheritView "" @218
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"463A029A033C"
		    client     	@212
		    supplier   	@206
		    vertices   	(list Points
			(1746, 5791)
			(2480, 6350))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::StringObjectConverter" @219
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1088, 6048)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@219
			location   	(837, 5936)
			fill_color 	16777215
			nlines     	1
			max_width  	502
			justify    	0
			label      	"StringObjectConverter")
		    icon       	"Interface"
		    icon_style 	"None"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"464334EC0290"
		    compartment 	(object Compartment
			Parent_View 	@219
			location   	(837, 6001)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	500
			justify    	1)
		    width      	520
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DataTypeStyle" @220
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1760, 6448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@220
			location   	(1608, 6394)
			fill_color 	13434879
			nlines     	1
			max_width  	304
			justify    	0
			label      	"DataTypeStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46433CA90186"
		    width      	322
		    height     	132
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @221
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46433CDE02FD"
		    client     	@208
		    supplier   	@220
		    vertices   	(list Points
			(1897, 6798)
			(1785, 6514))
		    line_style 	0)
		(object InheritView "" @222
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46433CE2008C"
		    client     	@207
		    supplier   	@220
		    vertices   	(list Points
			(1366, 6776)
			(1680, 6514))
		    line_style 	0)
		(object ClassView "Class" "Logical View::ecore::EDataType" @223
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 6448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@223
			location   	(42, 6339)
			fill_color 	13434879
			nlines     	1
			max_width  	620
			justify    	0
			label      	"EDataType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3903D525033E"
		    compartment 	(object Compartment
			Parent_View 	@223
			location   	(42, 6450)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	617
			justify    	1)
		    width      	638
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$40" @224
		    location   	(1134, 6448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"464340D00251"
		    roleview_list 	(list RoleViews
			(object RoleView "instanceType" @225
			    Parent_View 	@224
			    location   	(-626, 192)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @226
				Parent_View 	@225
				location   	(958, 6400)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+instanceType"
				pctDist    	0.380130
				height     	48
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"464340D101E4"
			    client     	@224
			    supplier   	@223
			    vertices   	(list Points
				(1134, 6448)
				(671, 6448))
			    line_style 	0
			    label      	(object SegLabel @227
				Parent_View 	@225
				location   	(785, 6504)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	250
				justify    	0
				label      	"0..1"
				pctDist    	0.753780
				height     	56
				orientation 	0))
			(object RoleView "$UNNAMED$41" @228
			    Parent_View 	@224
			    location   	(-626, 192)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"464340D101E6"
			    client     	@224
			    supplier   	@220
			    vertices   	(list Points
				(1134, 6448)
				(1598, 6448))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::notation::PropertyValue" @229
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 6048)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@229
			location   	(148, 5909)
			fill_color 	13434879
			nlines     	1
			max_width  	408
			justify    	0
			label      	"PropertyValue")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"463F6B0A0242"
		    compartment 	(object Compartment
			Parent_View 	@229
			location   	(148, 5974)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	404
			justify    	1)
		    width      	426
		    height     	302
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @230
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4643369A004E"
		    client     	@229
		    supplier   	@219
		    vertices   	(list Points
			(565, 6048)
			(827, 6048))
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$42" @231
		    location   	(352, 6262)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"464340E50148"
		    roleview_list 	(list RoleViews
			(object RoleView "instanceType" @232
			    Parent_View 	@231
			    location   	(16, 438)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @233
				Parent_View 	@232
				location   	(188, 6294)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	288
				justify    	0
				label      	"+instanceType"
				pctDist    	0.493976
				height     	165
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"464340E6001F"
			    client     	@231
			    supplier   	@223
			    vertices   	(list Points
				(352, 6262)
				(352, 6326))
			    line_style 	0
			    label      	(object SegLabel @234
				Parent_View 	@232
				location   	(456, 6293)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	200
				justify    	0
				label      	"0..1"
				pctDist    	0.484375
				height     	104
				orientation 	0))
			(object RoleView "$UNNAMED$43" @235
			    Parent_View 	@231
			    location   	(16, 438)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"464340E6002E"
			    client     	@231
			    supplier   	@229
			    vertices   	(list Points
				(352, 6262)
				(352, 6199))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::notation::IntValueStyle" @236
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3248, 5616)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@236
			location   	(3071, 5531)
			fill_color 	13434879
			nlines     	1
			max_width  	354
			justify    	0
			label      	"IntValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4643681A00BB"
		    compartment 	(object Compartment
			Parent_View 	@236
			location   	(3071, 5596)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	350
			justify    	1)
		    width      	372
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::IntListValueStyle" @237
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4000, 5600)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@237
			location   	(3700, 5513)
			fill_color 	13434879
			nlines     	1
			max_width  	600
			justify    	0
			label      	"IntListValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"464369010271"
		    compartment 	(object Compartment
			Parent_View 	@237
			location   	(3700, 5578)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	596
			justify    	1)
		    width      	618
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @238
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"464369CA0186"
		    client     	@236
		    supplier   	@206
		    vertices   	(list Points
			(3173, 5713)
			(2682, 6350))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::BooleanValueStyle" @239
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4096, 5856)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@239
			location   	(3805, 5769)
			fill_color 	13434879
			nlines     	1
			max_width  	582
			justify    	0
			label      	"BooleanValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46436B2201F4"
		    compartment 	(object Compartment
			Parent_View 	@239
			location   	(3805, 5834)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	580
			justify    	1)
		    width      	600
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DoubleValueStyle" @240
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4096, 6448)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@240
			location   	(3830, 6361)
			fill_color 	13434879
			nlines     	1
			max_width  	532
			justify    	0
			label      	"DoubleValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46436C4D0203"
		    compartment 	(object Compartment
			Parent_View 	@240
			location   	(3830, 6426)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	530
			justify    	1)
		    width      	550
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DoubleListValueStyle" @241
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4192, 6720)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@241
			location   	(3734, 6633)
			fill_color 	13434879
			nlines     	1
			max_width  	916
			justify    	0
			label      	"DoubleListValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46436CE3032C"
		    compartment 	(object Compartment
			Parent_View 	@241
			location   	(3734, 6698)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	913
			justify    	1)
		    width      	934
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::StringValueStyle" @242
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4096, 7024)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@242
			location   	(3859, 6937)
			fill_color 	13434879
			nlines     	1
			max_width  	474
			justify    	0
			label      	"StringValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46436D330280"
		    compartment 	(object Compartment
			Parent_View 	@242
			location   	(3859, 7002)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	471
			justify    	1)
		    width      	492
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::StringListValueStyle" @243
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4032, 7296)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@243
			location   	(3668, 7211)
			fill_color 	13434879
			nlines     	1
			max_width  	728
			justify    	0
			label      	"StringListValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46436DA60280"
		    compartment 	(object Compartment
			Parent_View 	@243
			location   	(3668, 7276)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	725
			justify    	1)
		    width      	746
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::EObjectValueStyle" @244
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2944, 7328)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@244
			location   	(2755, 7274)
			fill_color 	13434879
			nlines     	1
			max_width  	378
			justify    	0
			label      	"EObjectValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46436DED003E"
		    width      	396
		    height     	132
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::ecore::EObject" @245
		    ShowCompartmentStereotypes 	TRUE
		    location   	(2688, 7776)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@245
			location   	(2568, 7685)
			fill_color 	13434879
			nlines     	1
			max_width  	241
			justify    	0
			label      	"EObject")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	8421631
		    quidu      	"3C4F1C860123"
		    width      	259
		    height     	208
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$44" @246
		    location   	(2827, 7532)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436E6403D8"
		    roleview_list 	(list RoleViews
			(object RoleView "eObjectValue" @247
			    Parent_View 	@246
			    location   	(-629, -20)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @248
				Parent_View 	@247
				location   	(2893, 7579)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	296
				justify    	0
				label      	"+eObjectValue"
				pctDist    	0.057499
				height     	80
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"46436E66007D"
			    client     	@246
			    supplier   	@245
			    vertices   	(list Points
				(2827, 7532)
				(2748, 7671))
			    line_style 	0
			    label      	(object SegLabel @249
				Parent_View 	@247
				location   	(2812, 7644)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.659036
				height     	42
				orientation 	0))
			(object RoleView "$UNNAMED$45" @250
			    Parent_View 	@246
			    location   	(-629, -20)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"46436E66008C"
			    client     	@246
			    supplier   	@244
			    vertices   	(list Points
				(2827, 7532)
				(2906, 7394))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::notation::EObjectListValueStyle" @251
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2384, 7328)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@251
			location   	(2160, 7274)
			fill_color 	13434879
			nlines     	1
			max_width  	448
			justify    	0
			label      	"EObjectListValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46436EEA0251"
		    width      	466
		    height     	132
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$46" @252
		    location   	(2522, 7532)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436F1E0399"
		    roleview_list 	(list RoleViews
			(object RoleView "eObjectListValue" @253
			    Parent_View 	@252
			    location   	(-1046, -244)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @254
				Parent_View 	@253
				location   	(2442, 7593)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	363
				justify    	0
				label      	"+eObjectListValue"
				pctDist    	0.029903
				height     	102
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"46436F1F029F"
			    client     	@252
			    supplier   	@245
			    vertices   	(list Points
				(2522, 7532)
				(2616, 7671))
			    line_style 	0
			    label      	(object SegLabel @255
				Parent_View 	@253
				location   	(2549, 7644)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.639427
				height     	41
				orientation 	1))
			(object RoleView "$UNNAMED$47" @256
			    Parent_View 	@252
			    location   	(-1046, -244)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"46436F1F02BF"
			    client     	@252
			    supplier   	@251
			    vertices   	(list Points
				(2522, 7532)
				(2428, 7394))
			    line_style 	0)))
		(object InheritView "" @257
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FCC0186"
		    client     	@239
		    supplier   	@206
		    vertices   	(list Points
			(3841, 5956)
			(2785, 6377))
		    line_style 	0)
		(object InheritView "" @258
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FDD0251"
		    client     	@240
		    supplier   	@206
		    vertices   	(list Points
			(3820, 6448)
			(2785, 6448))
		    line_style 	0)
		(object InheritView "" @259
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FE1003E"
		    client     	@241
		    supplier   	@206
		    vertices   	(list Points
			(3724, 6639)
			(2785, 6477))
		    line_style 	0)
		(object InheritView "" @260
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FE1003E"
		    client     	@241
		    supplier   	@206
		    vertices   	(list Points
			(3724, 6639)
			(2785, 6477))
		    line_style 	0)
		(object InheritView "" @261
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FE903B9"
		    client     	@242
		    supplier   	@206
		    vertices   	(list Points
			(3849, 6928)
			(2785, 6516))
		    line_style 	0)
		(object InheritView "" @262
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FF20280"
		    client     	@244
		    supplier   	@206
		    vertices   	(list Points
			(2917, 7261)
			(2644, 6545))
		    line_style 	0)
		(object InheritView "" @263
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FFC009C"
		    client     	@251
		    supplier   	@206
		    vertices   	(list Points
			(2400, 7261)
			(2582, 6545))
		    line_style 	0)
		(object InheritView "" @264
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46436FED0119"
		    client     	@243
		    supplier   	@206
		    vertices   	(list Points
			(3869, 7198)
			(2771, 6545))
		    line_style 	0)
		(object InheritView "" @265
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46433CDA01A5"
		    client     	@220
		    supplier   	@206
		    vertices   	(list Points
			(1921, 6448)
			(2430, 6448))
		    line_style 	0)
		(object InheritView "" @266
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46433CD500FA"
		    client     	@220
		    supplier   	@219
		    vertices   	(list Points
			(1759, 6381)
			(1759, 6046)
			(1348, 6047))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::ByteArrayValueStyle" @267
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3536, 7552)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@267
			location   	(3224, 7467)
			fill_color 	13434879
			nlines     	1
			max_width  	624
			justify    	0
			label      	"ByteArrayValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"46438CAB0186"
		    compartment 	(object Compartment
			Parent_View 	@267
			location   	(3224, 7532)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	621
			justify    	1)
		    width      	642
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @268
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"46438CFC02EE"
		    client     	@267
		    supplier   	@206
		    vertices   	(list Points
			(3454, 7454)
			(2690, 6545))
		    line_style 	0)
		(object InheritView "" @269
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"464369CD0251"
		    client     	@237
		    supplier   	@206
		    vertices   	(list Points
			(3833, 5700)
			(2766, 6350))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::BooleanListValueStyle" @270
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4176, 6160)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@270
			location   	(3693, 6073)
			fill_color 	13434879
			nlines     	1
			max_width  	966
			justify    	0
			label      	"BooleanListValueStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4644B00A0109"
		    compartment 	(object Compartment
			Parent_View 	@270
			location   	(3693, 6138)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	963
			justify    	1)
		    width      	984
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @271
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4644B05B01C5"
		    client     	@270
		    supplier   	@206
		    vertices   	(list Points
			(3683, 6250)
			(2785, 6415))
		    line_style 	0)
		(object InheritTreeView "" @272
		    location   	(2288, 1535)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@138
		    vertices   	(list Points
			(2288, 1535)
			(2288, 1418)))
		(object InheritView "" @273
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4033D3D0019D"
		    client     	@126
		    supplier   	@138
		    vertices   	(list Points
			(1096, 1663)
			(1096, 1535))
		    line_style 	3
		    origin_attachment 	(1096, 1663)
		    terminal_attachment 	(1096, 1535)
		    drawSupplier 	@272)
		(object InheritView "" @274
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C7BA4ED039B"
		    client     	@160
		    supplier   	@138
		    vertices   	(list Points
			(2768, 1648)
			(2768, 1535))
		    line_style 	3
		    origin_attachment 	(2768, 1648)
		    terminal_attachment 	(2768, 1535)
		    drawSupplier 	@272)
		(object InheritView "" @275
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"403A64690252"
		    client     	@190
		    supplier   	@138
		    vertices   	(list Points
			(1866, 1668)
			(1866, 1535))
		    line_style 	3
		    origin_attachment 	(1866, 1668)
		    terminal_attachment 	(1866, 1535)
		    drawSupplier 	@272)
		(object ClassView "Class" "Logical View::notation::HintedDiagramLinkStyle" @276
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5120, 5520)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@276
			location   	(4882, 5433)
			fill_color 	13434879
			nlines     	1
			max_width  	476
			justify    	0
			label      	"HintedDiagramLinkStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4649D7D5005D"
		    compartment 	(object Compartment
			Parent_View 	@276
			location   	(4882, 5498)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	325
			justify    	1)
		    width      	494
		    height     	200
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::notation::DiagramLinkStyle" @277
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5120, 5232)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@277
			location   	(4940, 5178)
			fill_color 	13434879
			nlines     	1
			max_width  	360
			justify    	0
			label      	"DiagramLinkStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4649D89302DE"
		    width      	378
		    height     	132
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @278
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4649D916038A"
		    client     	@276
		    supplier   	@277
		    vertices   	(list Points
			(5120, 5419)
			(5120, 5298))
		    line_style 	0)
		(object ClassView "Class" "Logical View::notation::Diagram" @279
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(6416, 5072)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@279
			location   	(5910, 4960)
			fill_color 	13434879
			nlines     	1
			max_width  	1012
			justify    	0
			label      	"Diagram")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	33023
		    quidu      	"403A64600345"
		    compartment 	(object Compartment
			Parent_View 	@279
			location   	(5910, 5025)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	1009
			justify    	1)
		    width      	1030
		    height     	248
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$48" @280
		    location   	(5604, 5171)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4649D8FA000F"
		    roleview_list 	(list RoleViews
			(object RoleView "diagramLink" @281
			    Parent_View 	@280
			    location   	(436, -221)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @282
				Parent_View 	@281
				location   	(5609, 5225)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	267
				justify    	0
				label      	"+diagramLink"
				pctDist    	-0.011752
				height     	54
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4649D8FB01F4"
			    client     	@280
			    supplier   	@279
			    vertices   	(list Points
				(5604, 5171)
				(5900, 5134))
			    line_style 	0
			    label      	(object SegLabel @283
				Parent_View 	@281
				location   	(5869, 5184)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.877469
				height     	45
				orientation 	1))
			(object RoleView "$UNNAMED$49" @284
			    Parent_View 	@280
			    location   	(436, -221)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4649D8FB01F6"
			    client     	@280
			    supplier   	@277
			    vertices   	(list Points
				(5604, 5171)
				(5309, 5208))
			    line_style 	0)))
		(object ClassView "Class" "Logical View::notation::MultiDiagramLinkStyle" @285
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(5120, 5008)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@285
			location   	(4897, 4954)
			fill_color 	13434879
			nlines     	1
			max_width  	446
			justify    	0
			label      	"MultiDiagramLinkStyle")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	65280
		    quidu      	"4649D922032C"
		    width      	464
		    height     	132
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$50" @286
		    location   	(5626, 5032)
		    font       	(object Font
			size       	10
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4649D93E0128"
		    roleview_list 	(list RoleViews
			(object RoleView "diagramLinks" @287
			    Parent_View 	@286
			    location   	(458, -600)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @288
				Parent_View 	@287
				location   	(5609, 4966)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	283
				justify    	0
				label      	"+diagramLinks"
				pctDist    	-0.078209
				height     	66
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4649D93F0119"
			    client     	@286
			    supplier   	@279
			    vertices   	(list Points
				(5626, 5032)
				(5900, 5046))
			    line_style 	0
			    label      	(object SegLabel @289
				Parent_View 	@287
				location   	(5841, 5005)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.779914
				height     	39
				orientation 	0))
			(object RoleView "$UNNAMED$51" @290
			    Parent_View 	@286
			    location   	(458, -600)
			    font       	(object Font
				size       	10
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4649D93F0128"
			    client     	@286
			    supplier   	@285
			    vertices   	(list Points
				(5626, 5032)
				(5352, 5019))
			    line_style 	0)))
		(object InheritView "" @291
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4649DA4402DE"
		    client     	@285
		    supplier   	@111
		    vertices   	(list Points
			(4887, 5005)
			(4542, 5002)
			(4542, 1080)
			(4362, 1084))
		    line_style 	0)
		(object InheritView "" @292
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4649DA4E0271"
		    client     	@277
		    supplier   	@111
		    vertices   	(list Points
			(4930, 5229)
			(4578, 5226)
			(4574, 1096)
			(4362, 1091))
		    line_style 	0)))))
