
(object Petal
    version    	50
    _written   	"Rose 8.3.0407.2800"
    charSet    	0)

(object Design "Logical View"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"Java"
	    name       	"IDE"
	    value      	"Internal Editor"))
    quid       	"4CC6843D0119"
    enforceClosureAutoLoad 	FALSE
    defaults   	(object defaults
	rightMargin 	0.250000
	leftMargin 	0.250000
	topMargin  	0.250000
	bottomMargin 	0.500000
	pageOverlap 	0.250000
	clipIconLabels 	TRUE
	autoResize 	TRUE
	snapToGrid 	TRUE
	gridX      	0
	gridY      	0
	defaultFont 	(object Font
	    size       	10
	    face       	"Arial"
	    bold       	FALSE
	    italics    	FALSE
	    underline  	FALSE
	    strike     	FALSE
	    color      	0
	    default_color 	TRUE)
	showMessageNum 	3
	showClassOfObject 	TRUE
	notation   	"Unified")
    root_usecase_package 	(object Class_Category "Use Case View"
	quid       	"4CC6843D0128"
	exportControl 	"Public"
	global     	TRUE
	logical_models 	(list unit_reference_list)
	logical_presentations 	(list unit_reference_list
	    (object UseCaseDiagram "Main"
		quid       	"4CC68444009D"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    root_category 	(object Class_Category "Logical View"
	quid       	"4CC6843D011A"
	exportControl 	"Public"
	global     	TRUE
	subsystem  	"Component View"
	quidu      	"4CC6843D0129"
	logical_models 	(list unit_reference_list
	    (object Class_Category "eventmanager"
		quid       	"4CC69A540399"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "EventManager"
			quid       	"4CC69A8102EE"
			stereotype 	"interface"
			operations 	(list Operations
			    (object Operation "subscribe"
				quid       	"4CC69A9B0261"
				parameters 	(list Parameters
				    (object Parameter "filter"
					quid       	"4CC69AAA03A9"
					type       	"EventFilter")
				    (object Parameter "listener"
					quid       	"4CC69AAA03D8"
					type       	"Adapter"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "unsubscribe"
				quid       	"4CC69AAA0399"
				parameters 	(list Parameters
				    (object Parameter "adapter"
					quid       	"4CC69AB3002E"
					type       	"Adapter"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addToObservedResourceSets"
				quid       	"4CC69AB3001F"
				parameters 	(list Parameters
				    (object Parameter "rs"
					quid       	"4CC69ACE00EA"
					type       	"ResourceSet"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeFromObservedResourceSets"
				quid       	"4CC69AE102BF"
				parameters 	(list Parameters
				    (object Parameter "rs"
					quid       	"4CC69AE80261"
					type       	"ResourceSet"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)))
		    (object Class "EventFilter"
			quid       	"4CC69B7B01B5")
		    (object Class "LogicalOperationFilter"
			quid       	"4CC69B7D02EE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69C3D02CE"
				supplier   	"Logical View::eventmanager::EventFilter"
				quidu      	"4CC69B7B01B5"))
			abstract   	TRUE)
		    (object Class "EventTypeFilter"
			quid       	"4CC69B7E0138"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69C3E02AF"
				supplier   	"Logical View::eventmanager::EventFilter"
				quidu      	"4CC69B7B01B5"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "eventType"
				quid       	"4CC69DC20222"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "ContainmentFilter"
			quid       	"4CC69B7E02EE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69C40002E"
				supplier   	"Logical View::eventmanager::EventFilter"
				quidu      	"4CC69B7B01B5")))
		    (object Class "ClassFilter"
			quid       	"4CC69B7F00EA"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69C41032C"
				supplier   	"Logical View::eventmanager::EventFilter"
				quidu      	"4CC69B7B01B5"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "includeSubclasses"
				quid       	"4CC69F2C01F4"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "AndFilter"
			quid       	"4CC69B800203"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69C330138"
				supplier   	"Logical View::eventmanager::LogicalOperationFilter"
				quidu      	"4CC69B7D02EE")))
		    (object Class "OrFilter"
			quid       	"4CC69B80036B"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69C340186"
				supplier   	"Logical View::eventmanager::LogicalOperationFilter"
				quidu      	"4CC69B7D02EE")))
		    (object Class "NotFilter"
			quid       	"4CC69B8100CB"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69C350251"
				supplier   	"Logical View::eventmanager::LogicalOperationFilter"
				quidu      	"4CC69B7D02EE")))
		    (object Class "StructuralFeatureFilter"
			quid       	"4CC69B810213"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69DDF034B"
				supplier   	"Logical View::eventmanager::EventFilter"
				quidu      	"4CC69B7B01B5")))
		    (object Class "AttributeFilter"
			quid       	"4CC69B8201A5"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69E0202AF"
				supplier   	"Logical View::eventmanager::StructuralFeatureFilter"
				quidu      	"4CC69B810213")))
		    (object Class "ReferenceFilter"
			quid       	"4CC69DEE0203"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69E030232"
				supplier   	"Logical View::eventmanager::StructuralFeatureFilter"
				quidu      	"4CC69B810213")))
		    (object Class "ClassFilterIncludingSubclasses"
			quid       	"4CC69E9A0128"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69EF402FD"
				supplier   	"Logical View::eventmanager::ClassFilter"
				quidu      	"4CC69B7F00EA")))
		    (object Class "OldValueClassFilterIncludingSubclasses"
			quid       	"4CC69E9B0138"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69EF703B9"
				supplier   	"Logical View::eventmanager::ClassFilterIncludingSubclasses"
				quidu      	"4CC69E9A0128")))
		    (object Class "NewClass3"
			quid       	"4CC69E9C0119"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69EF8037A"
				supplier   	"Logical View::eventmanager::ClassFilterIncludingSubclasses"
				quidu      	"4CC69E9A0128")))
		    (object Class "OldValue ClassFilter"
			quid       	"4CC69E9E0177"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69EF502DE"
				supplier   	"Logical View::eventmanager::ClassFilter"
				quidu      	"4CC69B7F00EA")))
		    (object Class "NewValue ClassFilter"
			quid       	"4CC69E9F00BB"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC69EF603B9"
				supplier   	"Logical View::eventmanager::ClassFilter"
				quidu      	"4CC69B7F00EA")))
		    (object Class "EventManagerFactory"
			quid       	"4CC6A076037A"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getEventManagerFor"
				quid       	"4CC6A0820280"
				parameters 	(list Parameters
				    (object Parameter "rs"
					quid       	"4CC6A08F00DA"
					type       	"ResourceSet"))
				result     	"EventManager"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0
				quidu      	"4CC69A8102EE")
			    (object Operation "createClassFilter"
				quid       	"4CC6A1760128"
				parameters 	(list Parameters
				    (object Parameter "c"
					quid       	"4CC6A181034B"
					type       	"EClass"
					quidu      	"4CC69E41000F"))
				result     	"EventFilter"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0
				quidu      	"4CC69B7B01B5")
			    (object Operation "createAttributeFilter"
				quid       	"4CC6A181033C"
				parameters 	(list Parameters
				    (object Parameter "a"
					quid       	"4CC6A18C0281"
					type       	"EAttribute"
					quidu      	"4CC69E1E0280"))
				result     	"EventFilter"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0
				quidu      	"4CC69B7B01B5")
			    (object Operation "createAndFilterFor"
				quid       	"4CC6A18C0280"
				parameters 	(list Parameters
				    (object Parameter "filters"
					quid       	"4CC6A19C0252"
					type       	"EventFilter..."))
				result     	"EventFilter"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0
				quidu      	"4CC69B7B01B5")
			    (object Operation "..."
				quid       	"4CC6A19C0251"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "eINSTANCE"
				quid       	"4CC6A09303D8"
				type       	"EventManagerFactory"
				quidu      	"4CC6A076037A"
				exportControl 	"Public"
				static     	TRUE)))
		    (object Class "EventAdapter"
			quid       	"4CC6A265003E"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC6A29102AF"
				supplier   	"Logical View::ecore::EContentAdapter"
				quidu      	"4CC6A26C00AB")))
		    (object Association "$UNNAMED$0"
			quid       	"4CC69BDB0186"
			roles      	(list role_list
			    (object Role "operands"
				quid       	"4CC69BDC0203"
				label      	"operands"
				supplier   	"Logical View::eventmanager::EventFilter"
				quidu      	"4CC69B7B01B5"
				client_cardinality 	(value cardinality "0..*")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$1"
				quid       	"4CC69BDC0205"
				supplier   	"Logical View::eventmanager::LogicalOperationFilter"
				quidu      	"4CC69B7D02EE"
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$2"
			quid       	"4CC69E300280"
			roles      	(list role_list
			    (object Role "$UNNAMED$3"
				quid       	"4CC69E3100EA"
				supplier   	"Logical View::ecore::EAttribute"
				quidu      	"4CC69E1E0280"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$4"
				quid       	"4CC69E3100EC"
				supplier   	"Logical View::eventmanager::AttributeFilter"
				quidu      	"4CC69B8201A5")))
		    (object Association "$UNNAMED$5"
			quid       	"4CC69E31036B"
			roles      	(list role_list
			    (object Role "$UNNAMED$6"
				quid       	"4CC69E3200CB"
				supplier   	"Logical View::ecore::EReference"
				quidu      	"4CC69E23004E"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$7"
				quid       	"4CC69E3200CD"
				supplier   	"Logical View::eventmanager::ReferenceFilter"
				quidu      	"4CC69DEE0203")))
		    (object Association "$UNNAMED$8"
			quid       	"4CC69F210186"
			roles      	(list role_list
			    (object Role "$UNNAMED$9"
				quid       	"4CC69F21031C"
				supplier   	"Logical View::ecore::EClass"
				quidu      	"4CC69E41000F"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$10"
				quid       	"4CC69F21031E"
				supplier   	"Logical View::eventmanager::ClassFilter"
				quidu      	"4CC69B7F00EA"))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "Event Manager"
			quid       	"4CC69A6600AB"
			title      	"Event Manager"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::eventmanager::EventManager" @1
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				ShowOperationSignature 	TRUE
				location   	(1351, 1034)
				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 	@1
				    location   	(1350, 1142)
				    anchor_loc 	1
				    nlines     	1
				    max_width  	1035
				    justify    	0
				    label      	"EventManager")
				icon       	"interface"
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69A8102EE"
				compartment 	(object Compartment
				    Parent_View 	@1
				    location   	(835, 1183)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    icon_style 	"Icon"
				    anchor     	2
				    nlines     	4
				    max_width  	1028
				    justify    	0)
				width      	58
				height     	58
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::EventManagerFactory" @2
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				ShowOperationSignature 	TRUE
				location   	(1298, 248)
				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   	(1297, 356)
				    anchor_loc 	1
				    nlines     	1
				    max_width  	1148
				    justify    	0
				    label      	"EventManagerFactory")
				icon       	"Interface"
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A076037A"
				compartment 	(object Compartment
				    Parent_View 	@2
				    location   	(772, 397)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    icon_style 	"Icon"
				    anchor     	2
				    nlines     	7
				    max_width  	1046
				    justify    	0)
				width      	58
				height     	58
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::EventAdapter" @3
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2464, 1212)
				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   	(2325, 1161)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	278
				    justify    	0
				    label      	"EventAdapter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A265003E"
				width      	296
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::ecore::EContentAdapter" @4
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2448, 784)
				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   	(2276, 710)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"EContentAdapter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A26C00AB"
				width      	362
				height     	172
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::ecore::Adapter" @5
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2439, 269)
				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   	(2438, 377)
				    anchor_loc 	1
				    nlines     	2
				    max_width  	368
				    justify    	0
				    label      	"Adapter")
				icon       	"interface"
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A232001F"
				width      	58
				height     	58
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @6
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC6A284038A"
				client     	@4
				supplier   	@5
				vertices   	(list Points
				    (2438, 698)
				    (2438, 445))
				line_style 	3
				origin_attachment 	(2438, 698)
				terminal_attachment 	(2438, 445))
			    (object InheritView "" @7
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC6A29102AF"
				client     	@3
				supplier   	@4
				vertices   	(list Points
				    (2458, 1149)
				    (2458, 870))
				line_style 	3
				origin_attachment 	(2458, 1149)
				terminal_attachment 	(2458, 870))))
		    (object ClassDiagram "Filters"
			quid       	"4CC69B750242"
			title      	"Filters"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::eventmanager::EventTypeFilter" @8
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(818, 609)
				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   	(660, 528)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	316
				    justify    	0
				    label      	"EventTypeFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B7E0138"
				compartment 	(object Compartment
				    Parent_View 	@8
				    location   	(660, 589)
				    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  	321)
				width      	334
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::AndFilter" @9
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(150, 981)
				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   	(53, 930)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	194
				    justify    	0
				    label      	"AndFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B800203"
				width      	212
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::OrFilter" @10
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(394, 981)
				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   	(310, 930)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	168
				    justify    	0
				    label      	"OrFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B80036B"
				width      	186
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::NotFilter" @11
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(642, 983)
				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   	(548, 932)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	188
				    justify    	0
				    label      	"NotFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B8100CB"
				width      	206
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::StructuralFeatureFilter" @12
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1284, 618)
				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   	(1064, 567)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	440
				    justify    	0
				    label      	"StructuralFeatureFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B810213"
				width      	458
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::LogicalOperationFilter" @13
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(340, 615)
				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 	@13
				    location   	(126, 564)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	428
				    justify    	0
				    label      	"LogicalOperationFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B7D02EE"
				width      	446
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::EventFilter" @14
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1081, 231)
				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   	(966, 180)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	230
				    justify    	0
				    label      	"EventFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B7B01B5"
				width      	248
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$0" @15
				location   	(483, 219)
				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      	"4CC69BDB0186"
				roleview_list 	(list RoleViews
				    (object RoleView "operands" @16
					Parent_View 	@15
					location   	(143, -396)
					font       	(object Font
					    size       	10
					    face       	"Arial"
					    bold       	FALSE
					    italics    	FALSE
					    underline  	FALSE
					    strike     	FALSE
					    color      	0
					    default_color 	TRUE)
					label      	(object SegLabel @17
					    Parent_View 	@16
					    location   	(831, 182)
					    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  	191
					    justify    	0
					    label      	"+operands"
					    pctDist    	0.734737
					    height     	38
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69BDC0203"
					client     	@15
					supplier   	@14
					vertices   	(list Points
					    (483, 219)
					    (957, 219))
					line_style 	3
					origin_attachment 	(483, 219)
					terminal_attachment 	(957, 219)
					label      	(object SegLabel @18
					    Parent_View 	@16
					    location   	(909, 273)
					    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.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "$UNNAMED$1" @19
					Parent_View 	@15
					location   	(143, -396)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69BDC0205"
					client     	@15
					supplier   	@13
					vertices   	(list Points
					    (483, 219)
					    (341, 219)
					    (341, 552))
					line_style 	3
					origin_attachment 	(483, 219)
					terminal_attachment 	(341, 552))))
			    (object InheritTreeView "" @20
				location   	(366, 813)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@13
				vertices   	(list Points
				    (366, 813)
				    (366, 678)))
			    (object InheritView "" @21
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69C330138"
				client     	@9
				supplier   	@13
				vertices   	(list Points
				    (182, 918)
				    (182, 813))
				line_style 	3
				origin_attachment 	(182, 918)
				terminal_attachment 	(182, 813)
				drawSupplier 	@20)
			    (object InheritView "" @22
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69C340186"
				client     	@10
				supplier   	@13
				vertices   	(list Points
				    (394, 918)
				    (394, 813))
				line_style 	3
				origin_attachment 	(394, 918)
				terminal_attachment 	(394, 813)
				drawSupplier 	@20)
			    (object InheritTreeView "" @23
				location   	(1081, 406)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@14
				vertices   	(list Points
				    (1081, 406)
				    (1081, 294)))
			    (object InheritView "" @24
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69C3E02AF"
				client     	@8
				supplier   	@14
				vertices   	(list Points
				    (819, 516)
				    (819, 406))
				line_style 	3
				origin_attachment 	(819, 516)
				terminal_attachment 	(819, 406)
				drawSupplier 	@23)
			    (object InheritView "" @25
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69DDF034B"
				client     	@12
				supplier   	@14
				vertices   	(list Points
				    (1286, 555)
				    (1286, 406))
				line_style 	3
				origin_attachment 	(1286, 555)
				terminal_attachment 	(1286, 406)
				drawSupplier 	@23)
			    (object InheritTreeView "" @26
				location   	(1296, 791)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@12
				vertices   	(list Points
				    (1296, 791)
				    (1296, 681)))
			    (object InheritView "" @27
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69C3D02CE"
				client     	@13
				supplier   	@14
				vertices   	(list Points
				    (444, 551)
				    (444, 406))
				line_style 	3
				origin_attachment 	(444, 551)
				terminal_attachment 	(444, 406)
				drawSupplier 	@23)
			    (object ClassView "Class" "Logical View::eventmanager::AttributeFilter" @28
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1103, 918)
				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   	(962, 867)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	282
				    justify    	0
				    label      	"AttributeFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B8201A5"
				width      	300
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @29
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69E0202AF"
				client     	@28
				supplier   	@12
				vertices   	(list Points
				    (1140, 854)
				    (1140, 791))
				line_style 	3
				origin_attachment 	(1140, 854)
				terminal_attachment 	(1140, 791)
				drawSupplier 	@26)
			    (object ClassView "Class" "Logical View::ecore::EAttribute" @30
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1088, 1151)
				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   	(978, 1077)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	220
				    justify    	0
				    label      	"EAttribute")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69E1E0280"
				width      	238
				height     	172
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$2" @31
				location   	(1088, 1022)
				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      	"4CC69E300280"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$3" @32
					Parent_View 	@31
					location   	(-880, 107)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69E3100EA"
					client     	@31
					supplier   	@30
					vertices   	(list Points
					    (1088, 1022)
					    (1088, 1065))
					line_style 	3
					origin_attachment 	(1088, 1022)
					terminal_attachment 	(1088, 1065))
				    (object RoleView "$UNNAMED$4" @33
					Parent_View 	@31
					location   	(-880, 107)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69E3100EC"
					client     	@31
					supplier   	@28
					vertices   	(list Points
					    (1088, 1022)
					    (1088, 980))
					line_style 	3
					origin_attachment 	(1088, 1022)
					terminal_attachment 	(1088, 980))))
			    (object ClassView "Class" "Logical View::eventmanager::ReferenceFilter" @34
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1516, 921)
				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 	@34
				    location   	(1365, 870)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	302
				    justify    	0
				    label      	"ReferenceFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69DEE0203"
				width      	320
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @35
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69E030232"
				client     	@34
				supplier   	@12
				vertices   	(list Points
				    (1528, 858)
				    (1528, 791))
				line_style 	3
				origin_attachment 	(1528, 858)
				terminal_attachment 	(1528, 791)
				drawSupplier 	@26)
			    (object ClassView "Class" "Logical View::ecore::EReference" @36
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1525, 1153)
				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 	@36
				    location   	(1401, 1079)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	248
				    justify    	0
				    label      	"EReference")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69E23004E"
				width      	266
				height     	172
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$5" @37
				location   	(1525, 1025)
				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      	"4CC69E31036B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$6" @38
					Parent_View 	@37
					location   	(-856, 107)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69E3200CB"
					client     	@37
					supplier   	@36
					vertices   	(list Points
					    (1525, 1025)
					    (1525, 1067))
					line_style 	3
					origin_attachment 	(1525, 1025)
					terminal_attachment 	(1525, 1067))
				    (object RoleView "$UNNAMED$7" @39
					Parent_View 	@37
					location   	(-856, 107)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69E3200CD"
					client     	@37
					supplier   	@34
					vertices   	(list Points
					    (1525, 1025)
					    (1525, 984))
					line_style 	3
					origin_attachment 	(1525, 1025)
					terminal_attachment 	(1525, 984))))
			    (object InheritView "" @40
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69C350251"
				client     	@11
				supplier   	@13
				vertices   	(list Points
				    (631, 920)
				    (631, 813))
				line_style 	3
				origin_attachment 	(631, 920)
				terminal_attachment 	(631, 813)
				drawSupplier 	@20)
			    (object ClassView "Class" "Logical View::eventmanager::OldValue ClassFilter" @41
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1899, 989)
				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   	(1777, 911)
				    fill_color 	13434879
				    nlines     	2
				    max_width  	245
				    justify    	0
				    label      	"OldValue ClassFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69E9E0177"
				width      	263
				height     	181
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::NewValue ClassFilter" @42
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2298, 995)
				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   	(2174, 919)
				    fill_color 	13434879
				    nlines     	2
				    max_width  	248
				    justify    	0
				    label      	"NewValue ClassFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69E9F00BB"
				width      	266
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::eventmanager::ClassFilter" @43
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2079, 626)
				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   	(1793, 545)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	572
				    justify    	0
				    label      	"ClassFilter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69B7F00EA"
				compartment 	(object Compartment
				    Parent_View 	@43
				    location   	(1793, 606)
				    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  	578)
				width      	590
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @44
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69C41032C"
				client     	@43
				supplier   	@14
				vertices   	(list Points
				    (2082, 533)
				    (2082, 406))
				line_style 	3
				origin_attachment 	(2082, 533)
				terminal_attachment 	(2082, 406)
				drawSupplier 	@23)
			    (object ClassView "Class" "Logical View::ecore::EClass" @45
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2588, 620)
				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 	@45
				    location   	(2499, 546)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	178
				    justify    	0
				    label      	"EClass")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69E41000F"
				width      	196
				height     	172
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$8" @46
				location   	(2432, 625)
				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      	"4CC69F210186"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$9" @47
					Parent_View 	@46
					location   	(106, 7)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69F21031C"
					client     	@46
					supplier   	@45
					vertices   	(list Points
					    (2432, 625)
					    (2490, 625))
					line_style 	3
					origin_attachment 	(2432, 625)
					terminal_attachment 	(2428, 626))
				    (object RoleView "$UNNAMED$10" @48
					Parent_View 	@46
					location   	(106, 7)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"4CC69F21031E"
					client     	@46
					supplier   	@43
					vertices   	(list Points
					    (2432, 625)
					    (2374, 625))
					line_style 	3
					origin_attachment 	(2432, 625)
					terminal_attachment 	(2374, 625))))
			    (object InheritTreeView "" @49
				location   	(2103, 833)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@43
				vertices   	(list Points
				    (2103, 833)
				    (2103, 719)))
			    (object InheritView "" @50
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69EF502DE"
				client     	@41
				supplier   	@43
				vertices   	(list Points
				    (1953, 899)
				    (1953, 833))
				line_style 	3
				origin_attachment 	(1953, 899)
				terminal_attachment 	(1953, 833)
				drawSupplier 	@49)
			    (object InheritView "" @51
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC69EF603B9"
				client     	@42
				supplier   	@43
				vertices   	(list Points
				    (2296, 907)
				    (2296, 833))
				line_style 	3
				origin_attachment 	(2296, 907)
				terminal_attachment 	(2296, 833)
				drawSupplier 	@49)))))
	    (object Class_Category "impactanalyzer"
		quid       	"4CC69A5F007D"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "ImpactAnalyzer"
			quid       	"4CC69FE702DE"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "createFilterForExpression"
				quid       	"4CC69FF8000F"
				result     	"EventFilter"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0
				quidu      	"4CC69B7B01B5")
			    (object Operation "getContextObjects"
				quid       	"4CC6A01000EA"
				parameters 	(list Parameters
				    (object Parameter "msg"
					quid       	"4CC6A023000F"
					type       	"Notification"
					quidu      	"4CC6A02E0000"))
				result     	"Collection<EObject>"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)))
		    (object Class "ImpactAnalyzerFactory"
			quid       	"4CC6A0420196"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "createImpactAnalyzer"
				quid       	"4CC6A04E00BB"
				parameters 	(list Parameters
				    (object Parameter "e"
					quid       	"4CC6A0620128"
					type       	"OCLExpression"
					quidu      	"4CC6A12D0203")
				    (object Parameter "context"
					quid       	"4CC6A0620138"
					type       	"EClass"
					quidu      	"4CC69E41000F"))
				result     	"ImpactAnalyzer"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0
				quidu      	"4CC69FE702DE"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "eINSTANCE"
				quid       	"4CC6A0B60261"
				type       	"ImpactAnalyzerFactory"
				quidu      	"4CC6A0420196"
				exportControl 	"Public"
				static     	TRUE)))
		    (object Mechanism @52
			logical_models 	(list unit_reference_list
			    (object Object "e"
				quid       	"4CC6A1EF00AB"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6A2DD01E4"
					supplier   	"adapterForEventManager"
					quidu      	"4CC6A215029F"
					messages   	(list Messages
					    (object Message "notifyChanged(msg)"
						quid       	"4CC6A2DD01E5"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"5.1"
						ordinal    	8
						quidu      	"000000000000"
						creation   	FALSE))))
				class      	"Logical View::ecore::EObject"
				quidu      	"4CC6A1FC01E4"
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object "adapterForEventManager"
				quid       	"4CC6A215029F"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6A2F60119"
					supplier   	":EventManager"
					quidu      	"4CC6A2E702BF"
					messages   	(list Messages
					    (object Message "handleEMFEvent(msg)"
						quid       	"4CC6A2F6011A"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"5.1.1"
						ordinal    	9
						quidu      	"000000000000"
						creation   	FALSE))))
				class      	"Logical View::eventmanager::EventAdapter"
				quidu      	"4CC6A265003E"
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object ":Tool"
				quid       	"4CC6A2BA0167"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6A2C9009C"
					supplier   	"e"
					quidu      	"4CC6A1EF00AB"
					messages   	(list Messages
					    (object Message "change"
						quid       	"4CC6A2C9009D"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"5"
						ordinal    	7
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6A34000CB"
					supplier   	":ImpactAnalyzerFactory"
					quidu      	"4CC6A3310251"
					messages   	(list Messages
					    (object Message "createImpactAnalyzer"
						quid       	"4CC6A34000CC"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"1"
						ordinal    	0
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6B5BC0148"
					supplier   	":ImpactAnalyzer"
					quidu      	"4CC6A35B0000"
					messages   	(list Messages
					    (object Message "createFilterForExpression"
						quid       	"4CC6B5BC0149"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3"
						ordinal    	4
						quidu      	"000000000000"
						creation   	FALSE)
					    (object Message "returns eventFilter"
						quid       	"4CC6B5DB0271"
						frequency  	"Aperiodic"
						synchronization 	"Return"
						dir        	"ToClientFromSupplier"
						sequence   	"3.1"
						ordinal    	5
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6B60A01A5"
					supplier   	":EventManagerFactory"
					quidu      	"4CC6A3BE02BF"
					messages   	(list Messages
					    (object Message "createEventManagerFor(rs)"
						quid       	"4CC6B60A01A6"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"2"
						ordinal    	2
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6B6F402AF"
					supplier   	":EventManager"
					quidu      	"4CC6A2E702BF"
					messages   	(list Messages
					    (object Message "subscribe(eventFilter, reevaluator)"
						quid       	"4CC6B6F402B0"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"4"
						ordinal    	6
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object ":EventManager"
				quid       	"4CC6A2E702BF"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B780032C"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6B6CD032C"
					messages   	(list Messages
					    (object Message "notifyChanged(msg)"
						quid       	"4CC6B780032D"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"5.1.1.1"
						ordinal    	10
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object ":ImpactAnalyzerFactory"
				quid       	"4CC6A3310251"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6A368037A"
					supplier   	":ImpactAnalyzer"
					quidu      	"4CC6A35B0000"
					messages   	(list Messages
					    (object Message "create(exp)"
						quid       	"4CC6A368037B"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"1.1"
						ordinal    	1
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object ":ImpactAnalyzer"
				quid       	"4CC6A35B0000"
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object ":EventManagerFactory"
				quid       	"4CC6A3BE02BF"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B693000F"
					supplier   	":EventManager"
					quidu      	"4CC6A2E702BF"
					messages   	(list Messages
					    (object Message "create"
						quid       	"4CC6B6930010"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"2.1"
						ordinal    	3
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object "reevaluator:Adapter"
				quid       	"4CC6B6CD032C"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B797000F"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6B6CD032C"
					messages   	(list Messages
					    (object Message "reevaluate(contextObjects)"
						quid       	"4CC6B7970010"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"5.1.1.1.2"
						ordinal    	13
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6B7C00186"
					supplier   	":ImpactAnalyzer"
					quidu      	"4CC6A35B0000"
					messages   	(list Messages
					    (object Message "getContextObjects(msg)"
						quid       	"4CC6B7C00187"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"5.1.1.1.1"
						ordinal    	11
						quidu      	"000000000000"
						creation   	FALSE)
					    (object Message "returns contextObjects"
						quid       	"4CC6B7CB001F"
						frequency  	"Aperiodic"
						synchronization 	"Return"
						dir        	"ToClientFromSupplier"
						sequence   	"5.1.1.1.1.1"
						ordinal    	12
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)))
		    (object Mechanism @53
			logical_models 	(list unit_reference_list
			    (object Object ":Tool"
				quid       	"4CC6B96D0109"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B96D010A"
					supplier   	"e"
					quidu      	"4CC6B96D0119"
					messages   	(list Messages
					    (object Message "change"
						quid       	"4CC6B96D010B"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3"
						ordinal    	3
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6B96D010E"
					supplier   	":ImpactAnalyzer"
					quidu      	"4CC6B96D012D"
					messages   	(list Messages
					    (object Message "createFilterForExpression(e)"
						quid       	"4CC6B96D010F"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"1"
						ordinal    	0
						quidu      	"000000000000"
						creation   	FALSE)
					    (object Message "returns eventFilter"
						quid       	"4CC6B96D0110"
						frequency  	"Aperiodic"
						synchronization 	"Return"
						dir        	"ToClientFromSupplier"
						sequence   	"1.1"
						ordinal    	1
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6B96D0113"
					supplier   	":EventManager"
					quidu      	"4CC6B96D0121"
					messages   	(list Messages
					    (object Message "subscribe(eventFilter, reevaluator)"
						quid       	"4CC6B96D0114"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"2"
						ordinal    	2
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object "reevaluator:Adapter"
				quid       	"4CC6B96D0125"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B96D0124"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6B96D0125"
					messages   	(list Messages
					    (object Message "reevaluate(e, contextObjects)"
						quid       	"4CC6B96D0123"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1.1.1.2"
						ordinal    	9
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6B96D0126"
					supplier   	":ImpactAnalyzer"
					quidu      	"4CC6B96D012D"
					messages   	(list Messages
					    (object Message "getContextObjects(msg)"
						quid       	"4CC6B96D0127"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1.1.1.1"
						ordinal    	7
						quidu      	"000000000000"
						creation   	FALSE)
					    (object Message "returns contextObjects"
						quid       	"4CC6B96D0128"
						frequency  	"Aperiodic"
						synchronization 	"Return"
						dir        	"ToClientFromSupplier"
						sequence   	"3.1.1.1.1.1"
						ordinal    	8
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object ":ImpactAnalyzer"
				quid       	"4CC6B96D012D"
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object ":EventManager"
				quid       	"4CC6B96D0121"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B96D0120"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6B96D0125"
					messages   	(list Messages
					    (object Message "notifyChanged(msg)"
						quid       	"4CC6B96D011F"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1.1.1"
						ordinal    	6
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object "e"
				quid       	"4CC6B96D0119"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B96D0118"
					supplier   	"adapterForEventManager"
					quidu      	"4CC6B96D011D"
					messages   	(list Messages
					    (object Message "notifyChanged(msg)"
						quid       	"4CC6B96D0117"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1"
						ordinal    	4
						quidu      	"000000000000"
						creation   	FALSE))))
				class      	"Logical View::ecore::EObject"
				quidu      	"4CC6A1FC01E4"
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)
			    (object Object "adapterForEventManager"
				quid       	"4CC6B96D011D"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6B96D011C"
					supplier   	":EventManager"
					quidu      	"4CC6B96D0121"
					messages   	(list Messages
					    (object Message "handleEMFEvent(msg)"
						quid       	"4CC6B96D011B"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1.1"
						ordinal    	5
						quidu      	"000000000000"
						creation   	FALSE))))
				class      	"Logical View::eventmanager::EventAdapter"
				quidu      	"4CC6A265003E"
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)))
		    (object Mechanism @54
			logical_models 	(list unit_reference_list
			    (object Object ":Tool"
				quid       	"4CC6BA5702FD"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BA5702FE"
					supplier   	"e"
					quidu      	"4CC6BA570309"
					messages   	(list Messages
					    (object Message "change"
						quid       	"4CC6BA5702FF"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"1"
						ordinal    	0
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object "reevaluator:Adapter"
				quid       	"4CC6BA570315"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BA570314"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6BA570315"
					messages   	(list Messages
					    (object Message "reevaluateAllExpressionsOnAllTheirContexts"
						quid       	"4CC6BB620222"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"1.1.1"
						ordinal    	2
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object "e"
				quid       	"4CC6BA570309"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BB530399"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6BA570315"
					messages   	(list Messages
					    (object Message "notifyChanged(msg)"
						quid       	"4CC6BB53039A"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"1.1"
						ordinal    	1
						quidu      	"000000000000"
						creation   	FALSE))))
				class      	"Logical View::ecore::EObject"
				quidu      	"4CC6A1FC01E4"
				persistence 	"Transient"
				creationObj 	TRUE
				multi      	FALSE)))
		    (object Mechanism @55
			logical_models 	(list unit_reference_list
			    (object Object ":Tool"
				quid       	"4CC6BC6C033C"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BC6C033D"
					supplier   	"e"
					quidu      	"4CC6BC6C0348"
					messages   	(list Messages
					    (object Message "change"
						quid       	"4CC6BC6C033E"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3"
						ordinal    	3
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6BC6C033F"
					supplier   	":ImpactAnalyzer"
					quidu      	"4CC6BC6C035C"
					messages   	(list Messages
					    (object Message "createFilterForExpression(e)"
						quid       	"4CC6BC6C0340"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"1"
						ordinal    	0
						quidu      	"000000000000"
						creation   	FALSE)
					    (object Message "returns eventFilter"
						quid       	"4CC6BC6C0341"
						frequency  	"Aperiodic"
						synchronization 	"Return"
						dir        	"ToClientFromSupplier"
						sequence   	"1.1"
						ordinal    	1
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6BC6C0342"
					supplier   	":EventManager"
					quidu      	"4CC6BC6C0350"
					messages   	(list Messages
					    (object Message "subscribe(eventFilter, reevaluator)"
						quid       	"4CC6BC6C0343"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"2"
						ordinal    	2
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object "reevaluator:Adapter"
				quid       	"4CC6BC6C0354"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BC6C0353"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6BC6C0354"
					messages   	(list Messages
					    (object Message "reevaluate(e, allContextObjectsForE)"
						quid       	"4CC6BC6C0352"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1.1.1.1"
						ordinal    	7
						quidu      	"000000000000"
						creation   	FALSE)))
				    (object Link
					quid       	"4CC6BC6C0355"
					supplier   	":ImpactAnalyzer"
					quidu      	"4CC6BC6C035C"))
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object ":ImpactAnalyzer"
				quid       	"4CC6BC6C035C"
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object ":EventManager"
				quid       	"4CC6BC6C0350"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BC6C034F"
					supplier   	"reevaluator:Adapter"
					quidu      	"4CC6BC6C0354"
					messages   	(list Messages
					    (object Message "notifyChanged(msg)"
						quid       	"4CC6BC6C034E"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1.1.1"
						ordinal    	6
						quidu      	"000000000000"
						creation   	FALSE))))
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object "adapterForEventManager"
				quid       	"4CC6BC6C034C"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BC6C034B"
					supplier   	":EventManager"
					quidu      	"4CC6BC6C0350"
					messages   	(list Messages
					    (object Message "handleEMFEvent(msg)"
						quid       	"4CC6BC6C034A"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1.1"
						ordinal    	5
						quidu      	"000000000000"
						creation   	FALSE))))
				class      	"Logical View::eventmanager::EventAdapter"
				quidu      	"4CC6A265003E"
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE)
			    (object Object "e"
				quid       	"4CC6BC6C0348"
				collaborators 	(list link_list
				    (object Link
					quid       	"4CC6BC6C0347"
					supplier   	"adapterForEventManager"
					quidu      	"4CC6BC6C034C"
					messages   	(list Messages
					    (object Message "notifyChanged(msg)"
						quid       	"4CC6BC6C0346"
						frequency  	"Aperiodic"
						synchronization 	"Simple"
						dir        	"FromClientToSupplier"
						sequence   	"3.1"
						ordinal    	4
						quidu      	"000000000000"
						creation   	FALSE))))
				class      	"Logical View::ecore::EObject"
				quidu      	"4CC6A1FC01E4"
				persistence 	"Transient"
				creationObj 	FALSE
				multi      	FALSE))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "Impact Analyzer"
			quid       	"4CC69A71004E"
			title      	"Impact Analyzer"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::impactanalyzer::ImpactAnalyzer" @56
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				ShowOperationSignature 	TRUE
				location   	(1324, 892)
				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   	(1323, 1000)
				    anchor_loc 	1
				    nlines     	1
				    max_width  	284
				    justify    	0
				    label      	"ImpactAnalyzer")
				icon       	"Interface"
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC69FE702DE"
				compartment 	(object Compartment
				    Parent_View 	@56
				    location   	(751, 1041)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    icon_style 	"Icon"
				    anchor     	2
				    nlines     	2
				    max_width  	1140
				    justify    	0)
				width      	56
				height     	58
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::impactanalyzer::ImpactAnalyzerFactory" @57
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				ShowOperationSignature 	TRUE
				location   	(1344, 316)
				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   	(1343, 424)
				    anchor_loc 	1
				    nlines     	1
				    max_width  	1148
				    justify    	0
				    label      	"ImpactAnalyzerFactory")
				icon       	"Interface"
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A0420196"
				compartment 	(object Compartment
				    Parent_View 	@57
				    location   	(612, 465)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    icon_style 	"Icon"
				    anchor     	2
				    nlines     	3
				    max_width  	1459
				    justify    	0)
				width      	58
				height     	58
				annotation 	8
				autoResize 	TRUE)))
		    (object InteractionDiagram "From Notification to Evaluation"
			mechanism_ref 	@52
			quid       	"4CC6A1D902CE"
			title      	"From Notification to Evaluation"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object InterObjView ":Tool" @58
				location   	(253, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@58
				    location   	(253, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":Tool")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A2BA0167"
				width      	300
				height     	2098
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @59
				    location   	(253, 411)
				    line_color 	3342489
				    InterObjView 	@58
				    height     	1174
				    y_coord    	1084
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @60
				    location   	(253, 1230)
				    line_color 	3342489
				    InterObjView 	@58
				    height     	1
				    y_coord    	-89
				    Nested     	TRUE))
			    (object InterObjView "reevaluator:Adapter" @61
				location   	(615, 325)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@61
				    location   	(615, 325)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	"reevaluator:Adapter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6B6CD032C"
				width      	300
				height     	2104
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @62
				    location   	(615, 405)
				    line_color 	3342489
				    InterObjView 	@61
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @63
				    location   	(615, 1884)
				    line_color 	3342489
				    InterObjView 	@61
				    height     	405
				    y_coord    	315
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @64
				    location   	(615, 2094)
				    line_color 	3342489
				    InterObjView 	@61
				    height     	1
				    y_coord    	-89
				    Nested     	TRUE)
				Focus_Of_Control 	(object Focus_Of_Control "" @65
				    location   	(615, 2224)
				    line_color 	3342489
				    InterObjView 	@61
				    height     	90
				    y_coord    	0
				    Nested     	TRUE))
			    (object InterObjView ":ImpactAnalyzerFactory" @66
				location   	(975, 325)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@66
				    location   	(975, 325)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":ImpactAnalyzerFactory")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A3310251"
				width      	300
				height     	2104
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @67
				    location   	(975, 405)
				    line_color 	3342489
				    InterObjView 	@66
				    height     	219
				    y_coord    	129
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @68
				    location   	(975, 564)
				    line_color 	3342489
				    InterObjView 	@66
				    height     	195
				    y_coord    	105
				    Nested     	TRUE))
			    (object InterObjView ":ImpactAnalyzer" @69
				location   	(1400, 528)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@69
				    location   	(1400, 528)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	338
				    justify    	0
				    label      	":ImpactAnalyzer")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A35B0000"
				width      	356
				height     	1901
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @70
				    location   	(1400, 608)
				    line_color 	3342489
				    InterObjView 	@69
				    height     	121
				    y_coord    	31
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @71
				    location   	(1400, 669)
				    line_color 	3342489
				    InterObjView 	@69
				    height     	90
				    y_coord    	0
				    Nested     	TRUE)
				Focus_Of_Control 	(object Focus_Of_Control "" @72
				    location   	(1400, 1124)
				    line_color 	3342489
				    InterObjView 	@69
				    height     	196
				    y_coord    	106
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @73
				    location   	(1400, 1989)
				    line_color 	3342489
				    InterObjView 	@69
				    height     	105
				    y_coord    	15
				    Nested     	FALSE))
			    (object InterObjView ":EventManagerFactory" @74
				location   	(1812, 659)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@74
				    location   	(1812, 659)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":EventManagerFactory")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A3BE02BF"
				width      	300
				height     	1770
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @75
				    location   	(1812, 739)
				    line_color 	3342489
				    InterObjView 	@74
				    height     	97
				    y_coord    	7
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @76
				    location   	(1812, 776)
				    line_color 	3342489
				    InterObjView 	@74
				    height     	238
				    y_coord    	148
				    Nested     	TRUE))
			    (object InterObjView ":EventManager" @77
				location   	(2172, 793)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@77
				    location   	(2172, 793)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":EventManager")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A2E702BF"
				width      	300
				height     	1636
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @78
				    location   	(2172, 873)
				    line_color 	3342489
				    InterObjView 	@77
				    height     	111
				    y_coord    	21
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @79
				    location   	(2172, 924)
				    line_color 	3342489
				    InterObjView 	@77
				    height     	90
				    y_coord    	0
				    Nested     	TRUE)
				Focus_Of_Control 	(object Focus_Of_Control "" @80
				    location   	(2172, 1349)
				    line_color 	3342489
				    InterObjView 	@77
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @81
				    location   	(2172, 1779)
				    line_color 	3342489
				    InterObjView 	@77
				    height     	550
				    y_coord    	460
				    Nested     	FALSE))
			    (object InterObjView "e" @82
				location   	(2532, 353)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@82
				    location   	(2532, 353)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	"e")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A1EF00AB"
				width      	300
				height     	2076
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @83
				    location   	(2532, 433)
				    line_color 	3342489
				    InterObjView 	@82
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @84
				    location   	(2532, 1495)
				    line_color 	3342489
				    InterObjView 	@82
				    height     	844
				    y_coord    	754
				    Nested     	FALSE))
			    (object InterObjView "adapterForEventManager" @85
				location   	(2979, 353)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@85
				    location   	(2979, 353)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	456
				    justify    	0
				    label      	"adapterForEventManager")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A215029F"
				width      	474
				height     	2076
				icon_height 	57
				icon_width 	57
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @86
				    location   	(2979, 433)
				    line_color 	3342489
				    InterObjView 	@85
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @87
				    location   	(2979, 1600)
				    line_color 	3342489
				    InterObjView 	@85
				    height     	731
				    y_coord    	641
				    Nested     	FALSE))
			    (object InterMessView "change" @88
				location   	(0, 1495)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @89
				    Parent_View 	@88
				    location   	(1392, 1451)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6A2C9009D"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	188
				    justify    	0
				    label      	"change"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@58
				supplier   	@82
				Focus_Src  	@59
				Focus_Entry 	@84
				origin     	(268, 1495)
				terminus   	(2516, 1495)
				ordinal    	7)
			    (object InterMessView "notifyChanged(msg)" @90
				location   	(0, 1600)
				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   	(2755, 1556)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6A2DD01E5"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	416
				    justify    	0
				    label      	"notifyChanged(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@82
				supplier   	@85
				Focus_Src  	@84
				Focus_Entry 	@87
				origin     	(2547, 1600)
				terminus   	(2963, 1600)
				ordinal    	8)
			    (object InterMessView "handleEMFEvent(msg)" @92
				location   	(0, 1779)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @93
				    Parent_View 	@92
				    location   	(2552, 1739)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6A2F6011A"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	488
				    justify    	0
				    label      	"handleEMFEvent(msg)"
				    pctDist    	0.530359
				    height     	41
				    orientation 	1)
				line_color 	3342489
				client     	@85
				supplier   	@77
				Focus_Src  	@87
				Focus_Entry 	@81
				origin     	(2963, 1779)
				terminus   	(2188, 1779)
				ordinal    	9)
			    (object InterMessView "createImpactAnalyzer" @94
				location   	(0, 564)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @95
				    Parent_View 	@94
				    location   	(613, 520)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6A34000CC"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	451
				    justify    	0
				    label      	"createImpactAnalyzer"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@58
				supplier   	@66
				Focus_Src  	@59
				Focus_Entry 	@68
				origin     	(268, 564)
				terminus   	(959, 564)
				ordinal    	0)
			    (object InterMessView "create(exp)" @96
				location   	(0, 669)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @97
				    Parent_View 	@96
				    location   	(1187, 625)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6A368037B"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"create(exp)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@66
				supplier   	@69
				Focus_Src  	@68
				Focus_Entry 	@71
				origin     	(990, 669)
				terminus   	(1384, 669)
				ordinal    	1)
			    (object InterMessView "createFilterForExpression" @98
				location   	(0, 1124)
				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   	(826, 1080)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B5BC0149"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	513
				    justify    	0
				    label      	"createFilterForExpression"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@58
				supplier   	@69
				Focus_Src  	@59
				Focus_Entry 	@72
				origin     	(268, 1124)
				terminus   	(1384, 1124)
				ordinal    	4)
			    (object InterMessView "returns eventFilter" @100
				location   	(0, 1230)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @101
				    Parent_View 	@100
				    location   	(827, 1186)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B5DB0271"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	369
				    justify    	0
				    label      	"returns eventFilter"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@69
				supplier   	@58
				Focus_Src  	@72
				Focus_Entry 	@60
				origin     	(1384, 1230)
				terminus   	(269, 1230)
				ordinal    	5)
			    (object InterMessView "createEventManagerFor(rs)" @102
				location   	(0, 776)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @103
				    Parent_View 	@102
				    location   	(1032, 732)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B60A01A6"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	535
				    justify    	0
				    label      	"createEventManagerFor(rs)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@58
				supplier   	@74
				Focus_Src  	@59
				Focus_Entry 	@76
				origin     	(268, 776)
				terminus   	(1796, 776)
				ordinal    	2)
			    (object InterMessView "create" @104
				location   	(0, 924)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @105
				    Parent_View 	@104
				    location   	(1991, 880)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B6930010"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	160
				    justify    	0
				    label      	"create"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@74
				supplier   	@77
				Focus_Src  	@76
				Focus_Entry 	@79
				origin     	(1827, 924)
				terminus   	(2156, 924)
				ordinal    	3)
			    (object InterMessView "subscribe(eventFilter, reevaluator)" @106
				location   	(0, 1349)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @107
				    Parent_View 	@106
				    location   	(1212, 1305)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B6F402B0"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	651
				    justify    	0
				    label      	"subscribe(eventFilter, reevaluator)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@58
				supplier   	@77
				Focus_Src  	@59
				Focus_Entry 	@80
				origin     	(268, 1349)
				terminus   	(2156, 1349)
				ordinal    	6)
			    (object InterMessView "notifyChanged(msg)" @108
				location   	(0, 1884)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @109
				    Parent_View 	@108
				    location   	(1394, 1840)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B780032D"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	428
				    justify    	0
				    label      	"notifyChanged(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@77
				supplier   	@61
				Focus_Src  	@81
				Focus_Entry 	@63
				origin     	(2156, 1884)
				terminus   	(631, 1884)
				ordinal    	10)
			    (object SelfMessView "reevaluate(contextObjects)" @110
				location   	(0, 2199)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @111
				    Parent_View 	@110
				    location   	(933, 2160)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B7970010"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	550
				    justify    	0
				    label      	"reevaluate(contextObjects)"
				    pctDist    	2.020000
				    height     	40
				    orientation 	0)
				line_color 	3342489
				client     	@61
				supplier   	@61
				Focus_Src  	@63
				Focus_Entry 	@65
				origin     	(631, 2199)
				terminus   	(781, 2199)
				ordinal    	13)
			    (object InterMessView "getContextObjects(msg)" @112
				location   	(0, 1989)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @113
				    Parent_View 	@112
				    location   	(1007, 1945)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B7C00187"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	510
				    justify    	0
				    label      	"getContextObjects(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@61
				supplier   	@69
				Focus_Src  	@63
				Focus_Entry 	@73
				origin     	(630, 1989)
				terminus   	(1384, 1989)
				ordinal    	11)
			    (object InterMessView "returns contextObjects" @114
				location   	(0, 2094)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @115
				    Parent_View 	@114
				    location   	(1008, 2050)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B7CB001F"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	498
				    justify    	0
				    label      	"returns contextObjects"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@69
				supplier   	@61
				Focus_Src  	@73
				Focus_Entry 	@64
				origin     	(1384, 2094)
				terminus   	(631, 2094)
				ordinal    	12)))
		    (object InteractionDiagram "From Notification to Evaluation w/o Factories"
			mechanism_ref 	@53
			quid       	"4CC6B9620232"
			title      	"From Notification to Evaluation w/o Factories"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	44
			origin_y   	50
			items      	(list diagram_item_list
			    (object InterObjView ":Tool" @116
				location   	(253, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@116
				    location   	(253, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":Tool")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6B96D0109"
				width      	300
				height     	1499
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @117
				    location   	(253, 411)
				    line_color 	3342489
				    InterObjView 	@116
				    height     	600
				    y_coord    	510
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @118
				    location   	(253, 676)
				    line_color 	3342489
				    InterObjView 	@116
				    height     	1
				    y_coord    	-89
				    Nested     	TRUE))
			    (object InterObjView "reevaluator:Adapter" @119
				location   	(647, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@119
				    location   	(647, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	350
				    justify    	0
				    label      	"reevaluator:Adapter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6B96D0125"
				width      	368
				height     	1499
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @120
				    location   	(647, 411)
				    line_color 	3342489
				    InterObjView 	@119
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @121
				    location   	(647, 1310)
				    line_color 	3342489
				    InterObjView 	@119
				    height     	405
				    y_coord    	315
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @122
				    location   	(647, 1520)
				    line_color 	3342489
				    InterObjView 	@119
				    height     	1
				    y_coord    	-89
				    Nested     	TRUE)
				Focus_Of_Control 	(object Focus_Of_Control "" @123
				    location   	(647, 1650)
				    line_color 	3342489
				    InterObjView 	@119
				    height     	90
				    y_coord    	0
				    Nested     	TRUE))
			    (object InterObjView ":ImpactAnalyzer" @124
				location   	(1069, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@124
				    location   	(1069, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	338
				    justify    	0
				    label      	":ImpactAnalyzer")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6B96D012D"
				width      	356
				height     	1499
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @125
				    location   	(1069, 411)
				    line_color 	3342489
				    InterObjView 	@124
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @126
				    location   	(1069, 570)
				    line_color 	3342489
				    InterObjView 	@124
				    height     	106
				    y_coord    	16
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @127
				    location   	(1069, 1415)
				    line_color 	3342489
				    InterObjView 	@124
				    height     	105
				    y_coord    	15
				    Nested     	FALSE))
			    (object InterObjView ":EventManager" @128
				location   	(1457, 330)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@128
				    location   	(1457, 330)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":EventManager")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6B96D0121"
				width      	300
				height     	1500
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @129
				    location   	(1457, 410)
				    line_color 	3342489
				    InterObjView 	@128
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @130
				    location   	(1457, 781)
				    line_color 	3342489
				    InterObjView 	@128
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @131
				    location   	(1457, 1205)
				    line_color 	3342489
				    InterObjView 	@128
				    height     	195
				    y_coord    	105
				    Nested     	FALSE))
			    (object InterObjView "e" @132
				location   	(2351, 334)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@132
				    location   	(2351, 334)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	"e")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6B96D0119"
				width      	300
				height     	1496
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @133
				    location   	(2351, 414)
				    line_color 	3342489
				    InterObjView 	@132
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @134
				    location   	(2351, 921)
				    line_color 	3342489
				    InterObjView 	@132
				    height     	195
				    y_coord    	105
				    Nested     	FALSE))
			    (object InterObjView "adapterForEventManager" @135
				location   	(1904, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@135
				    location   	(1904, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	456
				    justify    	0
				    label      	"adapterForEventManager")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6B96D011D"
				width      	474
				height     	1499
				icon_height 	57
				icon_width 	57
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @136
				    location   	(1904, 411)
				    line_color 	3342489
				    InterObjView 	@135
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @137
				    location   	(1904, 1026)
				    line_color 	3342489
				    InterObjView 	@135
				    height     	269
				    y_coord    	179
				    Nested     	FALSE))
			    (object InterMessView "change" @138
				location   	(0, 921)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @139
				    Parent_View 	@138
				    location   	(1301, 877)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D010B"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	188
				    justify    	0
				    label      	"change"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@116
				supplier   	@132
				Focus_Src  	@117
				Focus_Entry 	@134
				origin     	(268, 921)
				terminus   	(2335, 921)
				ordinal    	3)
			    (object InterMessView "notifyChanged(msg)" @140
				location   	(0, 1026)
				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   	(2128, 1071)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D0117"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	416
				    justify    	0
				    label      	"notifyChanged(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@132
				supplier   	@135
				Focus_Src  	@134
				Focus_Entry 	@137
				origin     	(2335, 1026)
				terminus   	(1920, 1026)
				ordinal    	4)
			    (object InterMessView "handleEMFEvent(msg)" @142
				location   	(0, 1205)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @143
				    Parent_View 	@142
				    location   	(1668, 1165)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D011B"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	488
				    justify    	0
				    label      	"handleEMFEvent(msg)"
				    pctDist    	0.530359
				    height     	41
				    orientation 	1)
				line_color 	3342489
				client     	@135
				supplier   	@128
				Focus_Src  	@137
				Focus_Entry 	@131
				origin     	(1888, 1205)
				terminus   	(1473, 1205)
				ordinal    	5)
			    (object InterMessView "notifyChanged(msg)" @144
				location   	(0, 1310)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @145
				    Parent_View 	@144
				    location   	(1052, 1266)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D011F"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	428
				    justify    	0
				    label      	"notifyChanged(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@128
				supplier   	@119
				Focus_Src  	@131
				Focus_Entry 	@121
				origin     	(1441, 1310)
				terminus   	(663, 1310)
				ordinal    	6)
			    (object SelfMessView "reevaluate(e, contextObjects)" @146
				location   	(0, 1625)
				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   	(977, 1587)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D0123"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	597
				    justify    	0
				    label      	"reevaluate(e, contextObjects)"
				    pctDist    	2.100000
				    height     	39
				    orientation 	0)
				line_color 	3342489
				client     	@119
				supplier   	@119
				Focus_Src  	@121
				Focus_Entry 	@123
				origin     	(663, 1625)
				terminus   	(813, 1625)
				ordinal    	9)
			    (object InterMessView "getContextObjects(msg)" @148
				location   	(0, 1415)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @149
				    Parent_View 	@148
				    location   	(951, 1371)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D0127"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	510
				    justify    	0
				    label      	"getContextObjects(msg)"
				    pctDist    	0.739496
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@119
				supplier   	@124
				Focus_Src  	@121
				Focus_Entry 	@127
				origin     	(662, 1415)
				terminus   	(1053, 1415)
				ordinal    	7)
			    (object InterMessView "returns contextObjects" @150
				location   	(0, 1520)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @151
				    Parent_View 	@150
				    location   	(926, 1477)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D0128"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	498
				    justify    	0
				    label      	"returns contextObjects"
				    pctDist    	0.325843
				    height     	44
				    orientation 	1)
				line_color 	3342489
				client     	@124
				supplier   	@119
				Focus_Src  	@127
				Focus_Entry 	@122
				origin     	(1053, 1520)
				terminus   	(663, 1520)
				ordinal    	8)
			    (object InterMessView "createFilterForExpression(e)" @152
				location   	(0, 570)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @153
				    Parent_View 	@152
				    location   	(660, 526)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D010F"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	560
				    justify    	0
				    label      	"createFilterForExpression(e)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@116
				supplier   	@124
				Focus_Src  	@117
				Focus_Entry 	@126
				origin     	(268, 570)
				terminus   	(1053, 570)
				ordinal    	0)
			    (object InterMessView "returns eventFilter" @154
				location   	(0, 676)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @155
				    Parent_View 	@154
				    location   	(661, 632)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D0110"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	369
				    justify    	0
				    label      	"returns eventFilter"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@124
				supplier   	@116
				Focus_Src  	@126
				Focus_Entry 	@118
				origin     	(1053, 676)
				terminus   	(269, 676)
				ordinal    	1)
			    (object InterMessView "subscribe(eventFilter, reevaluator)" @156
				location   	(0, 781)
				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   	(854, 737)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6B96D0114"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	651
				    justify    	0
				    label      	"subscribe(eventFilter, reevaluator)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@116
				supplier   	@128
				Focus_Src  	@117
				Focus_Entry 	@130
				origin     	(268, 781)
				terminus   	(1441, 781)
				ordinal    	2)))
		    (object InteractionDiagram "Naive"
			mechanism_ref 	@54
			quid       	"4CC6BA53029F"
			title      	"Naive"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object InterObjView ":Tool" @158
				location   	(253, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@158
				    location   	(253, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":Tool")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BA5702FD"
				width      	300
				height     	1005
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @159
				    location   	(253, 411)
				    line_color 	3342489
				    InterObjView 	@158
				    height     	600
				    y_coord    	510
				    Nested     	FALSE))
			    (object InterObjView "reevaluator:Adapter" @160
				location   	(647, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@160
				    location   	(647, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	350
				    justify    	0
				    label      	"reevaluator:Adapter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BA570315"
				width      	368
				height     	1005
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @161
				    location   	(647, 411)
				    line_color 	3342489
				    InterObjView 	@160
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @162
				    location   	(647, 1026)
				    line_color 	3342489
				    InterObjView 	@160
				    height     	195
				    y_coord    	105
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @163
				    location   	(647, 1156)
				    line_color 	3342489
				    InterObjView 	@160
				    height     	90
				    y_coord    	0
				    Nested     	TRUE))
			    (object InterObjView "e" @164
				location   	(1594, 340)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@164
				    location   	(1594, 340)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	"e")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BA570309"
				width      	300
				height     	996
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @165
				    location   	(1594, 420)
				    line_color 	3342489
				    InterObjView 	@164
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @166
				    location   	(1594, 921)
				    line_color 	3342489
				    InterObjView 	@164
				    height     	195
				    y_coord    	105
				    Nested     	FALSE))
			    (object InterMessView "change" @167
				location   	(0, 921)
				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   	(923, 877)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BA5702FF"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	188
				    justify    	0
				    label      	"change"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@158
				supplier   	@164
				Focus_Src  	@159
				Focus_Entry 	@166
				origin     	(268, 921)
				terminus   	(1578, 921)
				ordinal    	0)
			    (object InterMessView "notifyChanged(msg)" @169
				location   	(0, 1026)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @170
				    Parent_View 	@169
				    location   	(1121, 982)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BB53039A"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	407
				    justify    	0
				    label      	"notifyChanged(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@164
				supplier   	@160
				Focus_Src  	@166
				Focus_Entry 	@162
				origin     	(1578, 1026)
				terminus   	(663, 1026)
				ordinal    	1)
			    (object SelfMessView "reevaluateAllExpressionsOnAllTheirContexts" @171
				location   	(0, 1131)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @172
				    Parent_View 	@171
				    location   	(1097, 1096)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BB620222"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	851
				    justify    	0
				    label      	"reevaluateAllExpressionsOnAllTheirContexts"
				    pctDist    	2.893333
				    height     	36
				    orientation 	0)
				line_color 	3342489
				client     	@160
				supplier   	@160
				Focus_Src  	@162
				Focus_Entry 	@163
				origin     	(663, 1131)
				terminus   	(813, 1131)
				ordinal    	2)))
		    (object InteractionDiagram "With Event Filter"
			mechanism_ref 	@55
			quid       	"4CC6BC660203"
			title      	"With Event Filter"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object InterObjView ":Tool" @173
				location   	(253, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@173
				    location   	(253, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":Tool")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BC6C033C"
				width      	300
				height     	1318
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @174
				    location   	(253, 411)
				    line_color 	3342489
				    InterObjView 	@173
				    height     	613
				    y_coord    	523
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @175
				    location   	(253, 689)
				    line_color 	3342489
				    InterObjView 	@173
				    height     	1
				    y_coord    	-89
				    Nested     	TRUE))
			    (object InterObjView "reevaluator:Adapter" @176
				location   	(647, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@176
				    location   	(647, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	350
				    justify    	0
				    label      	"reevaluator:Adapter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BC6C0354"
				width      	368
				height     	1318
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @177
				    location   	(647, 411)
				    line_color 	3342489
				    InterObjView 	@176
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @178
				    location   	(647, 1323)
				    line_color 	3342489
				    InterObjView 	@176
				    height     	211
				    y_coord    	121
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @179
				    location   	(647, 1469)
				    line_color 	3342489
				    InterObjView 	@176
				    height     	90
				    y_coord    	0
				    Nested     	TRUE))
			    (object InterObjView ":ImpactAnalyzer" @180
				location   	(1069, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@180
				    location   	(1069, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	338
				    justify    	0
				    label      	":ImpactAnalyzer")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BC6C035C"
				width      	356
				height     	1318
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @181
				    location   	(1069, 411)
				    line_color 	3342489
				    InterObjView 	@180
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @182
				    location   	(1069, 583)
				    line_color 	3342489
				    InterObjView 	@180
				    height     	106
				    y_coord    	16
				    Nested     	FALSE))
			    (object InterObjView ":EventManager" @183
				location   	(1457, 330)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@183
				    location   	(1457, 330)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	":EventManager")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BC6C0350"
				width      	300
				height     	1319
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @184
				    location   	(1457, 410)
				    line_color 	3342489
				    InterObjView 	@183
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @185
				    location   	(1457, 794)
				    line_color 	3342489
				    InterObjView 	@183
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @186
				    location   	(1457, 1218)
				    line_color 	3342489
				    InterObjView 	@183
				    height     	195
				    y_coord    	105
				    Nested     	FALSE))
			    (object InterObjView "adapterForEventManager" @187
				location   	(1904, 331)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@187
				    location   	(1904, 331)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	456
				    justify    	0
				    label      	"adapterForEventManager")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BC6C034C"
				width      	474
				height     	1318
				icon_height 	57
				icon_width 	57
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @188
				    location   	(1904, 411)
				    line_color 	3342489
				    InterObjView 	@187
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @189
				    location   	(1904, 1039)
				    line_color 	3342489
				    InterObjView 	@187
				    height     	269
				    y_coord    	179
				    Nested     	FALSE))
			    (object InterObjView "e" @190
				location   	(2351, 334)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	TRUE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@190
				    location   	(2351, 334)
				    fill_color 	13434879
				    anchor_loc 	1
				    nlines     	2
				    max_width  	282
				    justify    	0
				    label      	"e")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6BC6C0348"
				width      	300
				height     	1315
				icon_height 	0
				icon_width 	0
				icon_y_offset 	0
				annotation 	1
				Focus_Of_Control 	(object Focus_Of_Control "" @191
				    location   	(2351, 414)
				    line_color 	3342489
				    InterObjView 	@190
				    height     	90
				    y_coord    	0
				    Nested     	FALSE)
				Focus_Of_Control 	(object Focus_Of_Control "" @192
				    location   	(2351, 934)
				    line_color 	3342489
				    InterObjView 	@190
				    height     	195
				    y_coord    	105
				    Nested     	FALSE))
			    (object InterMessView "change" @193
				location   	(0, 934)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @194
				    Parent_View 	@193
				    location   	(1301, 890)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C033E"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	188
				    justify    	0
				    label      	"change"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@173
				supplier   	@190
				Focus_Src  	@174
				Focus_Entry 	@192
				origin     	(268, 934)
				terminus   	(2335, 934)
				ordinal    	3)
			    (object InterMessView "notifyChanged(msg)" @195
				location   	(0, 1039)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @196
				    Parent_View 	@195
				    location   	(2128, 995)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C0346"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	416
				    justify    	0
				    label      	"notifyChanged(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@190
				supplier   	@187
				Focus_Src  	@192
				Focus_Entry 	@189
				origin     	(2335, 1039)
				terminus   	(1920, 1039)
				ordinal    	4)
			    (object InterMessView "handleEMFEvent(msg)" @197
				location   	(0, 1218)
				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   	(1650, 1178)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C034A"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	488
				    justify    	0
				    label      	"handleEMFEvent(msg)"
				    pctDist    	0.575904
				    height     	41
				    orientation 	1)
				line_color 	3342489
				client     	@187
				supplier   	@183
				Focus_Src  	@189
				Focus_Entry 	@186
				origin     	(1888, 1218)
				terminus   	(1473, 1218)
				ordinal    	5)
			    (object InterMessView "notifyChanged(msg)" @199
				location   	(0, 1323)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @200
				    Parent_View 	@199
				    location   	(1052, 1279)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C034E"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	428
				    justify    	0
				    label      	"notifyChanged(msg)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	1)
				line_color 	3342489
				client     	@183
				supplier   	@176
				Focus_Src  	@186
				Focus_Entry 	@178
				origin     	(1441, 1323)
				terminus   	(663, 1323)
				ordinal    	6)
			    (object SelfMessView "reevaluate(e, allContextObjectsForE)" @201
				location   	(0, 1444)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @202
				    Parent_View 	@201
				    location   	(1031, 1406)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C0352"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	719
				    justify    	0
				    label      	"reevaluate(e, allContextObjectsForE)"
				    pctDist    	2.453333
				    height     	39
				    orientation 	0)
				line_color 	3342489
				client     	@176
				supplier   	@176
				Focus_Src  	@178
				Focus_Entry 	@179
				origin     	(663, 1444)
				terminus   	(813, 1444)
				ordinal    	7)
			    (object InterMessView "createFilterForExpression(e)" @203
				location   	(0, 583)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @204
				    Parent_View 	@203
				    location   	(660, 539)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C0340"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	560
				    justify    	0
				    label      	"createFilterForExpression(e)"
				    pctDist    	0.500000
				    height     	45
				    orientation 	0)
				line_color 	3342489
				client     	@173
				supplier   	@180
				Focus_Src  	@174
				Focus_Entry 	@182
				origin     	(268, 583)
				terminus   	(1053, 583)
				ordinal    	0)
			    (object InterMessView "returns eventFilter" @205
				location   	(0, 689)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @206
				    Parent_View 	@205
				    location   	(658, 652)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C0341"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	369
				    justify    	0
				    label      	"returns eventFilter"
				    pctDist    	0.503827
				    height     	38
				    orientation 	1)
				line_color 	3342489
				client     	@180
				supplier   	@173
				Focus_Src  	@182
				Focus_Entry 	@175
				origin     	(1053, 689)
				terminus   	(269, 689)
				ordinal    	1)
			    (object InterMessView "subscribe(eventFilter, reevaluator)" @207
				location   	(0, 794)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				label      	(object SegLabel @208
				    Parent_View 	@207
				    location   	(865, 755)
				    font       	(object Font
					size       	10
					face       	"Arial"
					bold       	FALSE
					italics    	FALSE
					underline  	FALSE
					strike     	FALSE
					color      	0
					default_color 	TRUE)
				    quidu      	"4CC6BC6C0343"
				    anchor_loc 	1
				    nlines     	1
				    max_width  	651
				    justify    	0
				    label      	"subscribe(eventFilter, reevaluator)"
				    pctDist    	0.508951
				    height     	40
				    orientation 	0)
				line_color 	3342489
				client     	@173
				supplier   	@183
				Focus_Src  	@174
				Focus_Entry 	@185
				origin     	(268, 794)
				terminus   	(1441, 794)
				ordinal    	2)))))
	    (object Class_Category "ecore"
		quid       	"4CC69E1A0242"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "EAttribute"
			quid       	"4CC69E1E0280")
		    (object Class "EReference"
			quid       	"4CC69E23004E")
		    (object Class "EClass"
			quid       	"4CC69E41000F")
		    (object Class "Notification"
			quid       	"4CC6A02E0000")
		    (object Class "EObject"
			quid       	"4CC6A1FC01E4")
		    (object Class "Adapter"
			quid       	"4CC6A232001F"
			stereotype 	"interface")
		    (object Class "EContentAdapter"
			quid       	"4CC6A26C00AB"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"4CC6A284038A"
				supplier   	"Logical View::ecore::Adapter"
				quidu      	"4CC6A232001F"))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "Adapters"
			quid       	"4CC6A2780271"
			title      	"Adapters"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::ecore::EContentAdapter" @209
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(990, 1331)
				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   	(818, 1280)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"EContentAdapter")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A26C00AB"
				width      	362
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::ecore::Adapter" @210
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(997, 784)
				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 	@210
				    location   	(996, 892)
				    anchor_loc 	1
				    nlines     	2
				    max_width  	366
				    justify    	0
				    label      	"Adapter")
				icon       	"interface"
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4CC6A232001F"
				width      	58
				height     	58
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @211
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4CC6A284038A"
				client     	@209
				supplier   	@210
				vertices   	(list Points
				    (996, 1268)
				    (996, 916))
				line_style 	3
				origin_attachment 	(996, 1268)
				terminal_attachment 	(996, 916))))))
	    (object Class_Category "ocl"
		quid       	"4CC6A12800DA"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "OCLExpression"
			quid       	"4CC6A12D0203"
			stereotype 	"interface"))
		logical_presentations 	(list unit_reference_list)))
	logical_presentations 	(list unit_reference_list
	    (object ClassDiagram "Main"
		quid       	"4CC6844400AB"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    root_subsystem 	(object SubSystem "Component View"
	quid       	"4CC6843D0129"
	physical_models 	(list unit_reference_list)
	physical_presentations 	(list unit_reference_list
	    (object Module_Diagram "Main"
		quid       	"4CC68444009C"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list)))
	category   	"Logical View"
	quidu      	"4CC6843D011A")
    process_structure 	(object Processes
	quid       	"4CC6843D012A"
	ProcsNDevs 	(list
	    (object Process_Diagram "Deployment View"
		quid       	"4CC6843D0138"
		title      	"Deployment View"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    properties 	(object Properties
	attributes 	(list Attribute_Set
	    (object Attribute
		tool       	"Cplusplus"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Synchronize"
			value      	TRUE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"InitialValue"
			value      	"")))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Synchronize"
			value      	TRUE)))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Synchronize"
			value      	TRUE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"RevEngRootDirectory"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"RootPackage"
			value      	"C++ Reverse Engineered")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"RevEngDirectoriesAsPackages"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"HeaderFileExtension"
			value      	".h")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ImplementationFileExtension"
			value      	".cpp")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"NewHeaderFileDirectory"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"NewImplementationFileDirectory"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"FileCapitalization"
			value      	("FileCapitalizationSet" 0))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeGenExtraDirectories"
			value      	("CodeGenExtraDirectoriesSet" 0))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"StripClassPrefix"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"UseTabs"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"TabWidth"
			value      	8)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"IndentWidth"
			value      	4)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"AccessIndentation"
			value      	-2)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CreateBackupFiles"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ModelIdCommentRules"
			value      	("ModelIdCommentRulesSet" 1))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CommentRules"
			value      	("CommentRulesSet" 1))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"PageWidth"
			value      	80)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ClassMemberOrder"
			value      	("MemberOrderSet" 1))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"OneParameterPerLine"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"NamespaceBraceStyle"
			value      	("BraceStyleSet" 1))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ClassBraceStyle"
			value      	("BraceStyleSet" 2))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"FunctionBraceStyle"
			value      	("BraceStyleSet" 2))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Copyright"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"InitialHeaderIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"InitialBodyIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeGenExtraDirectoriesSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Namespaces"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Packages"
				value      	2)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"FileCapitalizationSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Same as model"
				value      	0)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Lower case"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Upper case"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Lower case with underscores"
				value      	3)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"BraceStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B1"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B2"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B3"
				value      	3)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B4"
				value      	4)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B5"
				value      	5)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"MemberOrderSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Public First"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Private First"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Order by kind"
				value      	3)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Unordered"
				value      	4)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ModelIdCommentRulesSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Code generation only"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Code generation and reverse engineering"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Never generate model IDs"
				value      	3)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CommentRulesSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Always synchronize"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Code generation only"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Reverse engineering only"
				value      	3)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Never synchronize"
				value      	4)))))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Synchronize"
			value      	TRUE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"RevEngRootDirectory"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"RootPackage"
			value      	"C++ Reverse Engineered")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"RevEngDirectoriesAsPackages"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"HeaderFileExtension"
			value      	".h")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ImplementationFileExtension"
			value      	".cpp")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"NewHeaderFileDirectory"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"NewImplementationFileDirectory"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"FileCapitalization"
			value      	("FileCapitalizationSet" 0))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeGenExtraDirectories"
			value      	("CodeGenExtraDirectoriesSet" 0))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"StripClassPrefix"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"UseTabs"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"TabWidth"
			value      	8)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"IndentWidth"
			value      	4)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"AccessIndentation"
			value      	-2)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CreateBackupFiles"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ModelIdCommentRules"
			value      	("ModelIdCommentRulesSet" 1))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CommentRules"
			value      	("CommentRulesSet" 1))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"PageWidth"
			value      	80)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ClassMemberOrder"
			value      	("MemberOrderSet" 1))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"OneParameterPerLine"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"NamespaceBraceStyle"
			value      	("BraceStyleSet" 2))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ClassBraceStyle"
			value      	("BraceStyleSet" 2))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"FunctionBraceStyle"
			value      	("BraceStyleSet" 2))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Copyright"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"InitialHeaderIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"InitialBodyIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeGenExtraDirectoriesSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Namespaces"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Packages"
				value      	2)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"FileCapitalizationSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Same as model"
				value      	0)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Lower case"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Upper case"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Lower case with underscores"
				value      	3)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"BraceStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B1"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B2"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B3"
				value      	3)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B4"
				value      	4)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"B5"
				value      	5)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"MemberOrderSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Public First"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Private First"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Order by kind"
				value      	3)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Unordered"
				value      	4)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ModelIdCommentRulesSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Code generation only"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Code generation and reverse engineering"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Never generate model IDs"
				value      	3)))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CommentRulesSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Always synchronize"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Code generation only"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Reverse engineering only"
				value      	3)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Never synchronize"
				value      	4)))))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Param"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeName"
			value      	"")))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Synchronize"
			value      	TRUE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeName"
			value      	"")))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Synchronize"
			value      	TRUE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"InitialCodeBody"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Inline"
			value      	FALSE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"GenerateFunctionBody"
			value      	("GenerateFunctionBodySet" 2))
		    (object Attribute
			tool       	"Cplusplus"
			name       	"GenerateFunctionBodySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Cplusplus"
				name       	"Default"
				value      	2)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"Cplusplus"
				name       	"False"
				value      	0)))))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"Synchronize"
			value      	TRUE)
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"HeaderSourceFile"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"BodySourceFile"
			value      	"")))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"Cplusplus"
			name       	"IsNamespace"
			value      	FALSE)))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Cplusplus"
			name       	"BodyReferenceOnly"
			value      	FALSE)))
	    (object Attribute
		tool       	"Cplusplus"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"ANSIConvert"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Deploy"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"MOF"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"JCR"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"MOF"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.hasImplicitReferences"
			value      	"true")
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.clusteredImport"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.supertypes"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_prefix"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_version"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"xmi.namespace"
			value      	"")))
	    (object Attribute
		tool       	"JCR"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"JCR"
			name       	"java_prefix"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"java_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"c_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"versioning.package"
			value      	"")))
	    (object Attribute
		tool       	"MOF"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.corbaType"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.repositoryId"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_version"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"xmi.enumerationUnprefix"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.evaluationPolicy"
			value      	"deferred")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.constrainedElements"
			value      	"")))
	    (object Attribute
		tool       	"JCR"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"JCR"
			name       	"java_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"c_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"xmi.externalizeOK"
			value      	"true")))
	    (object Attribute
		tool       	"MOF"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.isChangeable"
			value      	"true")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_version"
			value      	"")))
	    (object Attribute
		tool       	"JCR"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"JCR"
			name       	"java_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"c_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"MOF"
		name       	"default__Association"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.visibility"
			value      	"public_vis")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_version"
			value      	"")))
	    (object Attribute
		tool       	"JCR"
		name       	"default__Association"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"JCR"
			name       	"java_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"c_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"MOF"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.multiplicity"
			value      	"1")
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.isOrdered"
			value      	"false")
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.isUnique"
			value      	"false")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.isChangeable"
			value      	"true")
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.referencedEnd"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_version"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"xmi.defaultValue"
			value      	"")))
	    (object Attribute
		tool       	"JCR"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"JCR"
			name       	"java_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"c_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"mof.object_name"
			value      	"false")
		    (object Attribute
			tool       	"JCR"
			name       	"xmi.externalizeOK"
			value      	"true")))
	    (object Attribute
		tool       	"MOF"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.scope"
			value      	"instance_level")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.isQuery"
			value      	"false")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.return.multiplicity"
			value      	"1")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.return.isOrdered"
			value      	"false")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.return.isUnique"
			value      	"false")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_version"
			value      	"")))
	    (object Attribute
		tool       	"JCR"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"JCR"
			name       	"java_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"c_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"MOF"
		name       	"default__Param"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.multiplicity"
			value      	"1")
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.isOrdered"
			value      	"false")
		    (object Attribute
			tool       	"MOF"
			name       	"uml2mof.isUnique"
			value      	"false")
		    (object Attribute
			tool       	"MOF"
			name       	"rose2mof.direction"
			value      	"in_dir")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"MOF"
			name       	"mof.idl_version"
			value      	"")))
	    (object Attribute
		tool       	"JCR"
		name       	"default__Param"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"JCR"
			name       	"java_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"c_substitute_name"
			value      	"")
		    (object Attribute
			tool       	"JCR"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"JCRMOF"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"UML"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"UML"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"useJavaExceptions"
			value      	"true")
		    (object Attribute
			tool       	"UML"
			name       	"requiredItem"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"requiredItemType"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyStereotype"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyName"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"useSeparateDependencies"
			value      	"true")
		    (object Attribute
			tool       	"UML"
			name       	"exportableUnit"
			value      	"true")
		    (object Attribute
			tool       	"UML"
			name       	"hasImportedUUIDs"
			value      	"false")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"useJavaExceptions"
			value      	"true")
		    (object Attribute
			tool       	"UML"
			name       	"secondaryStereotype"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"requiredItem"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"requiredItemType"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyStereotype"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyName"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"useSeparateDependencies"
			value      	"true")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Association"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"multiplicity"
			value      	"1")
		    (object Attribute
			tool       	"UML"
			name       	"DependencySupplier"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyStereotype"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyName"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"useSeparateDependencies"
			value      	"true")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"returnDefaultValue"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"MethodLanguage"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"MethodBody"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"useSeparateDependencies"
			value      	"true")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyName"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Parameter"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Module"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"exportableUnit"
			value      	"true")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Link"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__ObjectInstance"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__StateMachine"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__ActivityModel"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__SwimLane"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__UseCase"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"requiredItem"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"requiredItemType"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyStereotype"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"DependencyName"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"useSeparateDependencies"
			value      	"true")))
	    (object Attribute
		tool       	"UML"
		name       	"default__StateTransition"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"SendActionName"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"ActionScriptLanguage"
			value      	"")
		    (object Attribute
			tool       	"UML"
			name       	"ActionScriptBody"
			value      	"")))
	    (object Attribute
		tool       	"UML"
		name       	"default__Model"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"UML"
			name       	"uuid"
			value      	"")))
	    (object Attribute
		tool       	"JCRUML"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Java"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"Java"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"RootDir"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"UsePrefixes"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"AutoSync"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"NotShowRoseIDDlg"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ShowCodegenDlg"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateRoseID"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultJ2EEJavadoc"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultReturnLine"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocDefaultAuthor"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"JavadocDefaultVersion"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"JavadocDefaultSince"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"UserDefineJavaDocTags"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"JavadocNumAsterisks"
			value      	0)
		    (object Attribute
			tool       	"Java"
			name       	"MaxNumChars"
			value      	80)
		    (object Attribute
			tool       	"Java"
			name       	"Editor"
			value      	("EditorType" 100))
		    (object Attribute
			tool       	"Java"
			name       	"VM"
			value      	("VMType" 200))
		    (object Attribute
			tool       	"Java"
			name       	"ClassPath"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ReferenceClasspath"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EditorType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"BuiltIn"
				value      	100)))
		    (object Attribute
			tool       	"Java"
			name       	"VMType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Sun"
				value      	200)))
		    (object Attribute
			tool       	"Java"
			name       	"VAJavaWorkingFolder"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"InstanceVariablePrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ClassVariablePrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultAttributeDataType"
			value      	"int")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultOperationReturnType"
			value      	"void")
		    (object Attribute
			tool       	"Java"
			name       	"NoClassCustomDlg"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GlobalImports"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"OpenBraceClassStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"OpenBraceMethodStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"UseTabs"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"UseSpaces"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"SpacingItems"
			value      	3)
		    (object Attribute
			tool       	"Java"
			name       	"RoseDefaultCommentStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"AsteriskCommentStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"JavaCommentStyle"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocAuthor"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocSince"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavadocVersion"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"BeanPrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"BeanSuffix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"RemotePrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"RemoteSuffix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"HomePrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"HomeSuffix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"LocalPrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"LocalSuffix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"LocalHomePrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"LocalHomeSuffix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"PrimaryKeyPrefix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"PrimaryKeySuffix"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBDTDLocation"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletDTDLocation"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultEJBVersion"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultServletVersion"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"SourceControl"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"SCCSelected"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"SCCProjectSourceRoot"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"SCCProjectName"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"SCCComment"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"FundamentalType"
			value      	"boolean; char; byte; short; int; long; float; double; Boolean; Byte; Character; Double; Float; Integer; Long; Object; Short; String; StringBuffer; Void; java.math.BigDecimal; java.math.BigInteger; java.sql.Date; java.sql.Time; java.sql.Timestamp; java.util.AbstractCollection; java.util.AbstractList;java.util.AbstractMap; java.util.AbstractSequentialList; java.util.AbstractSet; java.util.ArrayList; java.util.Arrays; java.util.BitSet; java.util.Calendar; java.util.Collections; java.util.Date; java.util.Date; java.util.Dictionary; java.util.EventObject; java.util.GregorianCalendar; java.util.HashMap; java.util.HashSet; java.util.Hashtable; java.util.LinkedList; java.util.ListResourceBundle; java.util.Locale; java.util.Observable; java.util.Properties; java.util.PropertyPermission; java.util.PropertyResourceBundle; java.util.Random; java.util.ResourceBundle; java.util.SimpleTimeZone; java.util.Stack; java.util.StringTokenizer; java.util.Timer; java.util.TimerTask; java.util.TimeZone; java.util.TreeMap; java.util.TreeSet; java.util.Vector; java.util.WeakHashMap;int; float; boolean; char; double; short; long; byte; ;Boolean; Byte; Character; Double; Float; Integer; Long; Object; Short; String; StringBuffer; Void; java.math.BigDecimal; java.math.BigInteger; java.sql.Date; java.sql.Time; java.sql.Timestamp; ;java.util.AbstractCollection; java.util.AbstractList; java.util.AbstractMap; java.util.AbstractSequentialList; java.util.AbstractSet; java.util.ArrayList; java.util.Arrays; java.util.BitSet; java.util.Calendar; java.util.Collections; java.util.Date; java.util.Dictionary; java.util.EventObject; java.util.GregorianCalendar; java.util.HashMap; java.util.HashSet; java.util.Hashtable; java.util.LinkedList; java.util.ListResourceBundle; java.util.Locale; java.util.Observable; java.util.Properties; java.util.PropertyPermission; java.util.PropertyResourceBundle; java.util.Random; java.util.ResourceBundle; java.util.ArrayList; java.util.SimpleTimeZone; java.util.Stack; java.util.StringTokenizer; java.util.Timer; java.util.TimerTask; java.util.TimerTask; java.util.TimeZone; java.util.TreeMap; java.util.TreeSet; java.util.Vector; java.util.WeakHashMap; ")))
	    (object Attribute
		tool       	"Java"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Static"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDefaultConstructor"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"ConstructorIs"
			value      	("Ctor_Set" 62))
		    (object Attribute
			tool       	"Java"
			name       	"Ctor_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"public"
				value      	62)
			    (object Attribute
				tool       	"Java"
				name       	"protected"
				value      	63)
			    (object Attribute
				tool       	"Java"
				name       	"private"
				value      	64)
			    (object Attribute
				tool       	"Java"
				name       	"package"
				value      	65)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateCode"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"DisableAutoSync"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Strictfp"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"Default_Servlet__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"ServletName"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletContextRef"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"IsSingleThread"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletInitParameter"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletInitParameterNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletIsSecure"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestDispatcher"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestDispatcherPath"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"DispatcherInclude"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"DispatcherForward"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletSecurityRoles"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletgetInfo"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletXMLFilePath"
			value      	"")))
	    (object Attribute
		tool       	"Java"
		name       	"Http_Servlet__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestAttribute"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestAttributesNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForRequestAttributes"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestParameter"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletRequestParameterNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForRequestParameters"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletHeader"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletHeaderNames"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForHeaders"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletIntHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletDateHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ServletCookie"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"MethodForCookie"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"ServletContentType"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"GenerateHTML"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"Default_EJB__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate_XML_DD"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"EJBCmpField"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBEnvironmentProperties"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBCnxFactory"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBReferences"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBSecurityRoles"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBNameInJAR"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"EJBSessionType"
			value      	("EJBSessionType_Set" 200))
		    (object Attribute
			tool       	"Java"
			name       	"EJBSessionType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	""
				value      	200)
			    (object Attribute
				tool       	"Java"
				name       	"Stateless"
				value      	201)
			    (object Attribute
				tool       	"Java"
				name       	"Stateful"
				value      	202)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBTransactionType"
			value      	("EJBTransactionType_Set" 211))
		    (object Attribute
			tool       	"Java"
			name       	"EJBTransactionType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Container"
				value      	211)
			    (object Attribute
				tool       	"Java"
				name       	"Bean"
				value      	212)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBPersistenceType"
			value      	("EJBPersistenceType_Set" 220))
		    (object Attribute
			tool       	"Java"
			name       	"EJBPersistenceType_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	""
				value      	220)
			    (object Attribute
				tool       	"Java"
				name       	"Bean"
				value      	221)
			    (object Attribute
				tool       	"Java"
				name       	"Container"
				value      	222)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBReentrant"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"EJBSessionSync"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"EJBVersion"
			value      	("EJBVersion_Set" 230))
		    (object Attribute
			tool       	"Java"
			name       	"EJBVersion_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"2.0"
				value      	230)
			    (object Attribute
				tool       	"Java"
				name       	"1.x"
				value      	231)))
		    (object Attribute
			tool       	"Java"
			name       	"EJBXMLFilePath"
			value      	"")))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Abstract"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Static"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Native"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Synchronized"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFullyQualifiedReturn"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ReplaceExistingCode"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"Strictfp"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"PropertyType"
			value      	("BeanProperty_Set" 71))
		    (object Attribute
			tool       	"Java"
			name       	"BeanProperty_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Not A Property"
				value      	71)
			    (object Attribute
				tool       	"Java"
				name       	"Simple"
				value      	72)
			    (object Attribute
				tool       	"Java"
				name       	"Bound"
				value      	73)
			    (object Attribute
				tool       	"Java"
				name       	"Constrained"
				value      	74)))
		    (object Attribute
			tool       	"Java"
			name       	"IndividualChangeMgt"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write"
			value      	("Read/Write_Set" 81))
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Read & Write"
				value      	81)
			    (object Attribute
				tool       	"Java"
				name       	"Read Only"
				value      	82)
			    (object Attribute
				tool       	"Java"
				name       	"Write Only"
				value      	83)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFullyQualifiedTypes"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"InitialValue"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Transient"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Volatile"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"PropertyType"
			value      	("BeanProperty_Set" 71))
		    (object Attribute
			tool       	"Java"
			name       	"BeanProperty_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Not A Property"
				value      	71)
			    (object Attribute
				tool       	"Java"
				name       	"Simple"
				value      	72)
			    (object Attribute
				tool       	"Java"
				name       	"Bound"
				value      	73)
			    (object Attribute
				tool       	"Java"
				name       	"Constrained"
				value      	74)))
		    (object Attribute
			tool       	"Java"
			name       	"IndividualChangeMgt"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write"
			value      	("Read/Write_Set" 81))
		    (object Attribute
			tool       	"Java"
			name       	"Read/Write_Set"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Read & Write"
				value      	81)
			    (object Attribute
				tool       	"Java"
				name       	"Read Only"
				value      	82)
			    (object Attribute
				tool       	"Java"
				name       	"Write Only"
				value      	83)))
		    (object Attribute
			tool       	"Java"
			name       	"GenerateFullyQualifiedTypes"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"IsNavigable"
			value      	TRUE)))
	    (object Attribute
		tool       	"Java"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Oracle8"
		name       	"propertyId"
		value      	"360000002")
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")
		    (object Attribute
			tool       	"Oracle8"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnName"
			value      	"_ID")
		    (object Attribute
			tool       	"Oracle8"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5,0)")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"SchemaNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TypeNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ViewNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"VarrayNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"NestedTableNameSuffix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNamePrefix"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"ObjectTableNameSuffix"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSchema"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"WhereClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeLength"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypePrecision"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionTypeScale"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"CollectionOfREFS"
			value      	FALSE)))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKind"
			value      	("MethodKindSet" 1903))
		    (object Attribute
			tool       	"Oracle8"
			name       	"OverloadID"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsReadNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoDataState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsWriteNoProcessState"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsSelfish"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerType"
			value      	("TriggerTypeSet" 1801))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEvent"
			value      	("TriggerEventSet" 1601))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerText"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerReferencingNames"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEach"
			value      	("TriggerForEachSet" 1701))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerWhenClause"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"MethodKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"MapMethod"
				value      	1901)
			    (object Attribute
				tool       	"Oracle8"
				name       	"OrderMethod"
				value      	1902)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Function"
				value      	1903)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Procedure"
				value      	1904)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Operator"
				value      	1905)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Constructor"
				value      	1906)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Destructor"
				value      	1907)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Trigger"
				value      	1908)
			    (object Attribute
				tool       	"Oracle8"
				name       	"Calculated"
				value      	1909)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"AFTER"
				value      	1801)
			    (object Attribute
				tool       	"Oracle8"
				name       	"BEFORE"
				value      	1802)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSTEAD OF"
				value      	1803)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerForEachSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"ROW"
				value      	1701)
			    (object Attribute
				tool       	"Oracle8"
				name       	"STATEMENT"
				value      	1702)))
		    (object Attribute
			tool       	"Oracle8"
			name       	"TriggerEventSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT"
				value      	1601)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE"
				value      	1602)
			    (object Attribute
				tool       	"Oracle8"
				name       	"DELETE"
				value      	1603)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE"
				value      	1604)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR DELETE"
				value      	1605)
			    (object Attribute
				tool       	"Oracle8"
				name       	"UPDATE OR DELETE"
				value      	1606)
			    (object Attribute
				tool       	"Oracle8"
				name       	"INSERT OR UPDATE OR DELETE"
				value      	1607)))))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Oracle8"
			name       	"OrderNumber"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"NullsAllowed"
			value      	TRUE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Precision"
			value      	"2")
		    (object Attribute
			tool       	"Oracle8"
			name       	"Scale"
			value      	"6")
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsIndex"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"IsPrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"Oracle8"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"Oracle8"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"ComponentTest"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Rose Model Integrator"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Rose Web Publisher"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"TopLink"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"COM"
		name       	"propertyId"
		value      	"783606378")
	    (object Attribute
		tool       	"COM"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"COM"
			name       	"TypeKinds"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"COM"
				name       	"enum"
				value      	100)
			    (object Attribute
				tool       	"COM"
				name       	"record"
				value      	101)
			    (object Attribute
				tool       	"COM"
				name       	"module"
				value      	102)
			    (object Attribute
				tool       	"COM"
				name       	"interface"
				value      	103)
			    (object Attribute
				tool       	"COM"
				name       	"dispinterface"
				value      	104)
			    (object Attribute
				tool       	"COM"
				name       	"coclass"
				value      	105)
			    (object Attribute
				tool       	"COM"
				name       	"alias"
				value      	106)
			    (object Attribute
				tool       	"COM"
				name       	"union"
				value      	107)
			    (object Attribute
				tool       	"COM"
				name       	"max"
				value      	108)
			    (object Attribute
				tool       	"COM"
				name       	"(none)"
				value      	109)))
		    (object Attribute
			tool       	"COM"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"COM"
			name       	"kind"
			value      	("TypeKinds" 109))
		    (object Attribute
			tool       	"COM"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"version"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"helpstring"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"helpcontext"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"attributes"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"dllname"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"alias"
			value      	"")))
	    (object Attribute
		tool       	"COM"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"COM"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"COM"
			name       	"id"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"helpstring"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"attributes"
			value      	"")))
	    (object Attribute
		tool       	"COM"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"COM"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"COM"
			name       	"id"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"helpstring"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"attributes"
			value      	"")))
	    (object Attribute
		tool       	"COM"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"COM"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"COM"
			name       	"filename"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"library"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"uuid"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"version"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"helpstring"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"helpfile"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"helpcontext"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"lcid"
			value      	"")
		    (object Attribute
			tool       	"COM"
			name       	"attributes"
			value      	"")))
	    (object Attribute
		tool       	"COM"
		name       	"default__Param"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"COM"
			name       	"attributes"
			value      	"")))
	    (object Attribute
		tool       	"COM"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"VisualStudio"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"XML_DTD"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"XML_DTD"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"XML_DTD"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"XML_DTD"
			name       	"Editor"
			value      	("EditorType" 100))
		    (object Attribute
			tool       	"XML_DTD"
			name       	"StopOnError"
			value      	TRUE)
		    (object Attribute
			tool       	"XML_DTD"
			name       	"EditorType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"XML_DTD"
				name       	"BuiltIn"
				value      	100)
			    (object Attribute
				tool       	"XML_DTD"
				name       	"WindowsShell"
				value      	101)))))
	    (object Attribute
		tool       	"XML_DTD"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"XML_DTD"
			name       	"Entity_SystemID"
			value      	"")
		    (object Attribute
			tool       	"XML_DTD"
			name       	"Entity_PublicID"
			value      	"")
		    (object Attribute
			tool       	"XML_DTD"
			name       	"NotationValue"
			value      	"")
		    (object Attribute
			tool       	"XML_DTD"
			name       	"InternalValue"
			value      	"")
		    (object Attribute
			tool       	"XML_DTD"
			name       	"ParameterEntity"
			value      	FALSE)
		    (object Attribute
			tool       	"XML_DTD"
			name       	"ExternalEntity"
			value      	FALSE)
		    (object Attribute
			tool       	"XML_DTD"
			name       	"Notation_SystemID"
			value      	"")
		    (object Attribute
			tool       	"XML_DTD"
			name       	"Notation_PublicID"
			value      	"")))
	    (object Attribute
		tool       	"XML_DTD"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"XML_DTD"
			name       	"DefaultDeclType"
			value      	"")))
	    (object Attribute
		tool       	"XML_DTD"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"XML_DTD"
			name       	"Assign All"
			value      	FALSE)
		    (object Attribute
			tool       	"XML_DTD"
			name       	"ComponentPath"
			value      	"")))
	    (object Attribute
		tool       	"XML_DTD"
		name       	"HiddenTool"
		value      	FALSE))
	quid       	"4CC6843D012B"))
