
(object Petal
    version    	42
    _written   	"Rose 4.5.8054a"
    charSet    	0)

(object Design "Logical View"
    is_unit    	TRUE
    is_loaded  	TRUE
    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      	16
	gridY      	16
	defaultFont 	(object Font
	    size       	10
	    face       	"Arial"
	    bold       	FALSE
	    italics    	FALSE
	    underline  	FALSE
	    strike     	FALSE
	    color      	0
	    default_color 	TRUE)
	showMessageNum 	1
	showClassOfObject 	TRUE
	notation   	"Unified")
    root_usecase_package 	(object Class_Category "Use Case View"
	quid       	"3ABFD9A70151"
	exportControl 	"Public"
	global     	TRUE
	logical_models 	(list unit_reference_list)
	logical_presentations 	(list unit_reference_list
	    (object UseCaseDiagram "Main"
		quid       	"3ABFD9A7018C"
		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       	"3ABFD9A70150"
	exportControl 	"Public"
	global     	TRUE
	subsystem  	"Component View"
	quidu      	"3ABFD9A70152"
	logical_models 	(list unit_reference_list
	    (object Class_Category "http"
		quid       	"3ABFD9AD01F8"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "HTTPBinding"
			quid       	"3ABFE57C0136"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE5FF1D0019"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")
			    (object Inheritance_Relationship
				quid       	"409843F103C0"
				supplier   	"Logical View::http::IHTTPBinding"
				quidu      	"409843A702EB"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "verb"
				quid       	"3ABFE60D00DB"
				type       	"String"))
			language   	"Java")
		    (object Class "HTTPOperation"
			quid       	"3ABFE6AE0050"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE5FF4B037C"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")
			    (object Inheritance_Relationship
				quid       	"4098444602CC"
				supplier   	"Logical View::http::IHTTPOperation"
				quidu      	"409843FF02BB"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "locationURI"
				quid       	"3ABFE70D0147"
				type       	"String"))
			language   	"Java")
		    (object Class "HTTPUrlReplacement"
			quid       	"3ABFEA1A017C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE728B802C3"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")
			    (object Inheritance_Relationship
				quid       	"409844D202C5"
				supplier   	"Logical View::http::IHTTPUrlReplacement"
				quidu      	"4098449600D8"))
			language   	"Java")
		    (object Class "HTTPUrlEncoded"
			quid       	"3ABFEA6D0294"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE728D50094"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")
			    (object Inheritance_Relationship
				quid       	"409844910009"
				supplier   	"Logical View::http::IHTTPUrlEncoded"
				quidu      	"409844570063"))
			language   	"Java")
		    (object Class "HTTPAddress"
			quid       	"3AC3BF2500F5"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE5FEA901B7"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")
			    (object Inheritance_Relationship
				quid       	"409840D800C4"
				supplier   	"Logical View::http::IHTTPAddress"
				quidu      	"4098408901A1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "locationURI"
				quid       	"3AC3BFA7012E"
				type       	"String"))
			language   	"Java")
		    (object Class "IHTTPAddress"
			quid       	"4098408901A1"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.http.HTTPAddress"
				quid       	"409840A4013A"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "IHTTPBinding"
			quid       	"409843A702EB"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.http.HTTPBinding"
				quid       	"409843CA0177"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "IHTTPOperation"
			quid       	"409843FF02BB"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.http.HTTPOperation"
				quid       	"409844130204"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "IHTTPUrlEncoded"
			quid       	"409844570063"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.http.HTTPUrlEncoded"
				quid       	"4098446D021C"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "IHTTPUrlReplacement"
			quid       	"4098449600D8"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.http.HTTPUrlReplacement"
				quid       	"409844AC01AB"
				stereotype 	"javaclass"))
			language   	"Java"))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "Port"
			quid       	"3AC11E5201FB"
			title      	"Port"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::http::HTTPAddress" @1
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(672, 784)
				label      	(object ItemLabel
				    Parent_View 	@1
				    location   	(471, 703)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"HTTPAddress")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AC3BF2500F5"
				compartment 	(object Compartment
				    Parent_View 	@1
				    location   	(471, 763)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	409)
				width      	420
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::http::IHTTPAddress" @2
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(672, 288)
				label      	(object ItemLabel
				    Parent_View 	@2
				    location   	(138, 229)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1068
				    justify    	0
				    label      	"IHTTPAddress")
				stereotype 	(object ItemLabel
				    Parent_View 	@2
				    location   	(138, 179)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	1068
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4098408901A1"
				compartment 	(object Compartment
				    Parent_View 	@2
				    location   	(138, 289)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	1065)
				width      	1086
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @3
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"409840D800C4"
				client     	@1
				supplier   	@2
				line_style 	0)))
		    (object ClassDiagram "Extensibility"
			quid       	"3AE5FE3B037B"
			title      	"Extensibility"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @4
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 128)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@4
				    location   	(70, 53)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"ExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5DBB602A9"
				width      	422
				height     	174
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::http::HTTPAddress" @5
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 480)
				label      	(object ItemLabel
				    Parent_View 	@5
				    location   	(128, 428)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	288
				    justify    	0
				    label      	"HTTPAddress")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AC3BF2500F5"
				width      	306
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::http::HTTPBinding" @6
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(480, 640)
				label      	(object ItemLabel
				    Parent_View 	@6
				    location   	(344, 588)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"HTTPBinding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFE57C0136"
				width      	290
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @7
				location   	(272, 305)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@4
				vertices   	(list Points
				    (272, 305)
				    (272, 215)))
			    (object InheritView "" @8
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE5FEA901B7"
				client     	@5
				supplier   	@4
				line_style 	3
				origin_attachment 	(272, 416)
				terminal_attachment 	(272, 305)
				drawSupplier 	@7)
			    (object InheritView "" @9
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE5FF1D0019"
				client     	@6
				supplier   	@4
				line_style 	3
				origin_attachment 	(475, 576)
				terminal_attachment 	(475, 305)
				drawSupplier 	@7)
			    (object ClassView "Class" "Logical View::http::HTTPOperation" @10
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(672, 816)
				label      	(object ItemLabel
				    Parent_View 	@10
				    location   	(518, 764)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	308
				    justify    	0
				    label      	"HTTPOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFE6AE0050"
				width      	326
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @11
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE5FF4B037C"
				client     	@10
				supplier   	@4
				line_style 	3
				origin_attachment 	(656, 752)
				terminal_attachment 	(656, 305)
				drawSupplier 	@7)
			    (object ClassView "Class" "Logical View::http::HTTPUrlReplacement" @12
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(816, 992)
				label      	(object ItemLabel
				    Parent_View 	@12
				    location   	(605, 941)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	422
				    justify    	0
				    label      	"HTTPUrlReplacement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFEA1A017C"
				width      	440
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @13
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE728B802C3"
				client     	@12
				supplier   	@4
				line_style 	3
				origin_attachment 	(869, 929)
				terminal_attachment 	(869, 305)
				drawSupplier 	@7)
			    (object ClassView "Class" "Logical View::http::HTTPUrlEncoded" @14
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1168)
				label      	(object ItemLabel
				    Parent_View 	@14
				    location   	(900, 1117)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"HTTPUrlEncoded")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFEA6D0294"
				width      	362
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @15
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE728D50094"
				client     	@14
				supplier   	@4
				line_style 	3
				origin_attachment 	(1103, 1105)
				terminal_attachment 	(1103, 305)
				drawSupplier 	@7)))
		    (object ClassDiagram "Binding"
			quid       	"3AE72A7000A9"
			title      	"Binding"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::http::HTTPBinding" @16
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(576, 592)
				label      	(object ItemLabel
				    Parent_View 	@16
				    location   	(440, 540)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"HTTPBinding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFE57C0136"
				compartment 	(object Compartment
				    Parent_View 	@16
				    location   	(440, 600)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	275)
				width      	290
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::http::HTTPOperation" @17
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1696, 608)
				label      	(object ItemLabel
				    Parent_View 	@17
				    location   	(1495, 527)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"HTTPOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFE6AE0050"
				compartment 	(object Compartment
				    Parent_View 	@17
				    location   	(1495, 587)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	409)
				width      	420
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::http::HTTPUrlReplacement" @18
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1616, 1808)
				label      	(object ItemLabel
				    Parent_View 	@18
				    location   	(1405, 1757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	422
				    justify    	0
				    label      	"HTTPUrlReplacement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFEA1A017C"
				width      	440
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::http::HTTPUrlEncoded" @19
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(608, 1520)
				label      	(object ItemLabel
				    Parent_View 	@19
				    location   	(436, 1469)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"HTTPUrlEncoded")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3ABFEA6D0294"
				width      	362
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::http::IHTTPBinding" @20
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(576, 160)
				label      	(object ItemLabel
				    Parent_View 	@20
				    location   	(50, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1052
				    justify    	0
				    label      	"IHTTPBinding")
				stereotype 	(object ItemLabel
				    Parent_View 	@20
				    location   	(50, 51)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	1052
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"409843A702EB"
				compartment 	(object Compartment
				    Parent_View 	@20
				    location   	(50, 161)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	1050)
				width      	1070
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @21
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"409843F103C0"
				client     	@16
				supplier   	@20
				line_style 	0)
			    (object ClassView "Class" "Logical View::http::IHTTPOperation" @22
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1696, 160)
				label      	(object ItemLabel
				    Parent_View 	@22
				    location   	(1150, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1092
				    justify    	0
				    label      	"IHTTPOperation")
				stereotype 	(object ItemLabel
				    Parent_View 	@22
				    location   	(1150, 51)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	1092
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"409843FF02BB"
				compartment 	(object Compartment
				    Parent_View 	@22
				    location   	(1150, 161)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	1090)
				width      	1110
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @23
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"4098444602CC"
				client     	@17
				supplier   	@22
				line_style 	0)
			    (object ClassView "Class" "Logical View::http::IHTTPUrlEncoded" @24
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(608, 1104)
				label      	(object ItemLabel
				    Parent_View 	@24
				    location   	(44, 1045)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1128
				    justify    	0
				    label      	"IHTTPUrlEncoded")
				stereotype 	(object ItemLabel
				    Parent_View 	@24
				    location   	(44, 995)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	1128
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"409844570063"
				compartment 	(object Compartment
				    Parent_View 	@24
				    location   	(44, 1105)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	1125)
				width      	1146
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @25
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"409844910009"
				client     	@19
				supplier   	@24
				line_style 	0)
			    (object ClassView "Class" "Logical View::http::IHTTPUrlReplacement" @26
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 1376)
				label      	(object ItemLabel
				    Parent_View 	@26
				    location   	(981, 1317)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1206
				    justify    	0
				    label      	"IHTTPUrlReplacement")
				stereotype 	(object ItemLabel
				    Parent_View 	@26
				    location   	(981, 1267)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	1206
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"4098449600D8"
				compartment 	(object Compartment
				    Parent_View 	@26
				    location   	(981, 1377)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	1203)
				width      	1224
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @27
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"409844D202C5"
				client     	@18
				supplier   	@26
				line_style 	0)))))
	    (object Class_Category "wsdl"
		quid       	"3ADFB8E5021E"
		documentation 	
|The WSDL model contains classes for the Web Services Description Language (WSDL).
|
|WSDL describes network services as sets of endpoints operating on messages. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.
|
|WSDL describes the formats of the messages exchanged by the services, and supports the XML Schemas specification as its canonical type system. This package uses an XML Schema Infoset model package (see the XSD package) to describe the abstract message formats.
|
|The model contains the following diagrams, named after the corresponding chapters in the WSDL 1.1 specification (http://www.w3.org/TR/2001/NOTE-wsdl-20010315)
|- 2.1 Definition, shows the WSDL definition element and the WSDL document structure
|- 2.1.1 Naming and Linking, shows the namespace and import mechanism
|- 2.1.3 Extensibility, shows the WSDL extensibility mechanism
|- 2.2 Types, shows the use of XML Schema types in WSDL
|- 2.3 Messages, 2.4 PortTypes, 2.5 Bindings and 2.7 Services, show the major WSDL elements and their relations.
|
|The WSDL classes extend the javax.wsdl interfaces defined by JSR 110. Classes with interface and datatype stereotypes are used to represent these non-MOF interfaces.
		
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "WSDLElement"
			quid       	"3AD5C6A302DD"
			documentation 	"This class represents a WSDL language element."
			operations 	(list Operations
			    (object Operation "getEnclosingDefinition"
				quid       	"3CD1529600C8"
				result     	"Definition"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setEnclosingDefinition"
				quid       	"3CD152B80347"
				parameters 	(list Parameters
				    (object Parameter "definition"
					type       	"Definition"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "documentationElement"
				quid       	"3CCE443602A3"
				type       	"DOMElement")
			    (object ClassAttribute "element"
				quid       	"3F97DBD30207"
				type       	"DOMElement"))
			language   	"Java"
			abstract   	TRUE)
		    (object Class "PortType"
			quid       	"3AD5C7F001A5"
			documentation 	"This class represents a WSDL portType element of the WSDL specification version 1.1 and an Interface component of the WSDL specification version 1.2. A port type or Interface is a named set of abstract operations and the abstract messages involved."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5C9B70150"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F1FD8019F"
				supplier   	"Logical View::wsdl::IPortType"
				quidu      	"3B84A5BE0331"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB488E0023"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1E301E5"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CDEB0316"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D4FD01BA"
				type       	"String"))
			language   	"Java")
		    (object Class "Operation"
			quid       	"3AD5C80D03CE"
			documentation 	"This class represents a WSDL operation element. A WSDL operation is an abstract description of an action supported by a service."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE9DE98003C"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F1FE20171"
				supplier   	"Logical View::wsdl::IOperation"
				quidu      	"3B84A77600D1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "style"
				quid       	"3AEB472601AC"
				type       	"OperationType")
			    (object ClassAttribute "name"
				quid       	"3BDD9643004C"
				type       	"String")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF235003E"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CE2201AD"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D520011B"
				type       	"String"))
			language   	"Java")
		    (object Class "Message"
			quid       	"3AD5C9590078"
			documentation 	"This class represents a WSDL message element. A WSDL message is an abstract, typed definition of the data being communicated."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5D05501C4"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3B84A8D102BA"
				supplier   	"Logical View::wsdl::IMessage"
				quidu      	"3B84A8AF004F"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB487C01FE"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1D20226"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CE4B02B0"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D54200F1"
				type       	"String"))
			language   	"Java")
		    (object Class "Part"
			quid       	"3AD5CE1C032E"
			documentation 	"This class represents a WSDL part element. Parts describe the logical abstract content of a message. Each part is associated with a type from some type system. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84A96D02F1"
				supplier   	"Logical View::wsdl::IPart"
				quidu      	"3B84A93F01BE")
			    (object Inheritance_Relationship
				quid       	"3B897E230237"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3BCE70B703C8"
				type       	"String")
			    (object ClassAttribute "elementName"
				quid       	"3B84B08703DB"
				type       	"QName")
			    (object ClassAttribute "typeName"
				quid       	"3BCE70C303C5"
				type       	"QName"))
			language   	"Java")
		    (object Class "Binding"
			quid       	"3AD5D2860261"
			documentation 	"This class represents a WSDL binding element. A binding defines message format and protocol details for operations and messages defined by a particular portType. There may be any number of bindings for a given portType."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FA0F02F0"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B8595410129"
				supplier   	"Logical View::wsdl::IBinding"
				quidu      	"3B84ABC60219"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB4899014B"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF1F401A3"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18CE6D0151"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D4DF035C"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingOperation"
			quid       	"3AD5D3CB0145"
			documentation 	"This class represents a WSDL operation element within a binding. An operation element within a binding specifies binding information for the operation with the same name within the binding's portType. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD6009202F7"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84ADE401DC"
				supplier   	"Logical View::wsdl::IBindingOperation"
				quidu      	"3B84ADC00072"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B89C4CB0199"
				type       	"String"))
			language   	"Java")
		    (object Class "Service"
			quid       	"3AD5D8F002F8"
			documentation 	"This class represents a WSDL service element. A service groups a set of related ports together."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FA20025E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B85954E01B4"
				supplier   	"Logical View::wsdl::IService"
				quidu      	"3B84AB490287"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qName"
				quid       	"3AEB48A40151"
				type       	"QName")
			    (object ClassAttribute "undefined"
				quid       	"3BDDF20D0203"
				type       	"boolean")
			    (object ClassAttribute "proxy"
				quid       	"3D18D4810220"
				type       	"boolean")
			    (object ClassAttribute "resourceURI"
				quid       	"3D18D4C501E2"
				type       	"String"))
			language   	"Java")
		    (object Class "Port"
			quid       	"3AD5D9170286"
			documentation 	"This class represents a WSDL port element. A port defines an individual endpoint by specifying a single address for a binding"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD600CB00AA"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B85954502C9"
				supplier   	"Logical View::wsdl::IPort"
				quidu      	"3B84AB800326"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3AD5D9A00391"
				type       	"String"))
			language   	"Java")
		    (object Class "ExtensibilityElement"
			quid       	"3AD5DBB602A9"
			documentation 	"This class represents a WSDL extensibility element. WSDL allows extensibility elements representing a specific technology under various elements defined by WSDL."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84B14903D0"
				supplier   	"Logical View::wsdl::IExtensibilityElement"
				quidu      	"3B84B12402AB")
			    (object Inheritance_Relationship
				quid       	"3BDDF53502C3"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "required"
				quid       	"3AF9543C0073"
				type       	"boolean")
			    (object ClassAttribute "elementType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B85B21A0271"
				type       	"QName"))
			language   	"Java")
		    (object Class "Definition"
			quid       	"3AD5E43F008E"
			documentation 	"This class represents a WSDL definitions element. The WSDL definitions element is the root element of a WSDL document."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FDB803D4"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84B1F80382"
				supplier   	"Logical View::wsdl::IDefinition"
				quidu      	"3B84B1D90142"))
			operations 	(list Operations
			    (object Operation "getDocument"
				quid       	"3CD14FC2012B"
				result     	"DOMDocument"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setDocument"
				quid       	"3CD150DE01E7"
				parameters 	(list Parameters
				    (object Parameter "document"
					type       	"DOMDocument"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "targetNamespace"
				quid       	"3AD5E474004E"
				type       	"String")
			    (object ClassAttribute "location"
				quid       	"40352B7C0396"
				type       	"String")
			    (object ClassAttribute "qName"
				quid       	"3AEB485702F5"
				type       	"QName")
			    (object ClassAttribute "encoding"
				quid       	"3CADD00D000D"
				type       	"String"))
			language   	"Java")
		    (object Class "Import"
			quid       	"3AD5E4F903DE"
			documentation 	"This class represents WSDL import element. WSDL allows associating a namespace with a document location using an import element."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5EE58037A"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F6F200D0340"
				supplier   	"Logical View::wsdl::IImport"
				quidu      	"3B84B2020119"))
			operations 	(list Operations
			    (object Operation "getSchema"
				quid       	"3C8672C10379"
				result     	"XSDSchema"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setSchema"
				quid       	"3C8672C10397"
				parameters 	(list Parameters
				    (object Parameter "schema"
					type       	"XSDSchema"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespaceURI"
				quid       	"3AD5E50A0036"
				type       	"String")
			    (object ClassAttribute "locationURI"
				quid       	"3AD5E5140211"
				type       	"String"))
			language   	"Java")
		    (object Class "ExtensibleElement"
			quid       	"3AD5FCFA033A"
			documentation 	" WSDL allows elements representing a specific technology (referred to here as extensibility elements) under various elements defined by WSDL. This class represents a WSDL point of extensibility."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AD5FE3C03D4"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			operations 	(list Operations
			    (object Operation "getExtensibilityElements"
				quid       	"3B85C12C03CD"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addExtensibilityElement"
				quid       	"3B85C1470295"
				parameters 	(list Parameters
				    (object Parameter "extElement"
					type       	"IExtensibilityElement"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			language   	"Java"
			abstract   	TRUE)
		    (object Class "Input"
			quid       	"3AE0789F0059"
			documentation 	"This class represents a WSDL input element. An input element specifies the abstract message format for the input of the operation."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B85C504025F"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67722802E7"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F1FEE031D"
				supplier   	"Logical View::wsdl::IInput"
				quidu      	"3B84A7EE0015"))
			language   	"Java")
		    (object Class "Output"
			quid       	"3AE078B60232"
			documentation 	"This class represents a WSDL output element. An output element specifies the abstract message format for the output of the operation."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B85C50C035B"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67723500DD"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F1FF801CD"
				supplier   	"Logical View::wsdl::IOutput"
				quidu      	"3B84A829027D"))
			language   	"Java")
		    (object Class "Fault"
			quid       	"3AE078BE0108"
			documentation 	"This class represents a WSDL fault element. Fault elements specify the abstract message format for any error messages that may be output as the result of the operation "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE1C82002F2"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD")
			    (object Inheritance_Relationship
				quid       	"3F67723D0319"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")
			    (object Inheritance_Relationship
				quid       	"3F6F2002002D"
				supplier   	"Logical View::wsdl::IFault"
				quidu      	"3B84A861031D"))
			language   	"Java")
		    (object Class "BindingInput"
			quid       	"3AE08A8202D4"
			documentation 	"This class represents a WSDL input element within a operation within a binding. An input element within an operation within a binding specifies binding information for the input of the operation. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84AE1B0113"
				supplier   	"Logical View::wsdl::IBindingInput"
				quidu      	"3B84ADEB0100")
			    (object Inheritance_Relationship
				quid       	"3B85B59B0072"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"))
			operations 	(list Operations
			    (object Operation "getInput"
				quid       	"3C8653A40203"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setInput"
				quid       	"3C8653B503A2"
				parameters 	(list Parameters
				    (object Parameter "input"
					type       	"IInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85C1EA020E"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingOutput"
			quid       	"3AE08A8F028C"
			documentation 	"This class represents a WSDL output element within a operation within a binding. An output element within an operation within a binding specifies binding information for the output of the operation. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B84AE4302AB"
				supplier   	"Logical View::wsdl::IBindingOutput"
				quidu      	"3B84AE210111")
			    (object Inheritance_Relationship
				quid       	"3B85B5A4027E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"))
			operations 	(list Operations
			    (object Operation "getOutput"
				quid       	"3C8653D900F1"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOutput"
				quid       	"3C8653F10326"
				parameters 	(list Parameters
				    (object Parameter "output"
					type       	"IOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85C20200BE"
				type       	"String"))
			language   	"Java")
		    (object Class "BindingFault"
			quid       	"3AE08A9E03A6"
			documentation 	"This class represents a WSDL fault element within a operation within a binding. A fault element within an operation within a binding specifies binding information for the fault with the same name. "
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3AE0938602C9"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3B84AE710333"
				supplier   	"Logical View::wsdl::IBindingFault"
				quidu      	"3B84AE4F00BD"))
			operations 	(list Operations
			    (object Operation "getFault"
				quid       	"3C865413037F"
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setFault"
				quid       	"3C8654210109"
				parameters 	(list Parameters
				    (object Parameter "fault"
					type       	"IFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B85BF9E014A"
				type       	"String"))
			language   	"Java")
		    (object Class "QName"
			quid       	"3AE8ED220140"
			documentation 	"This class represents the javax.wsdl.QName class. A QName is a fully qualified name."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.xml.namespace.QName"
				quid       	"3B849DA9003D"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "Namespace"
			quid       	"3AEA3CD30030"
			documentation 	"This class represents a namespace and the corresponding namespace prefix used in a WSDL document."
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "URI"
				quid       	"3AEA3D2901B1"
				type       	"String")
			    (object ClassAttribute "prefix"
				quid       	"3AEA3D320236"
				type       	"String"))
			language   	"Java")
		    (object Class "OperationType"
			quid       	"3AEB4782024F"
			documentation 	
|ONE_WAY=1
|REQUEST_RESPONSE=2
|SOLICIT_RESPONSE=3
|NOTIFICATION=4
			
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.OperationType"
				quid       	"3B85C35303E3"
				stereotype 	"javaclass"))
			language   	"Java")
		    (object Class "IPortType"
			quid       	"3B84A5BE0331"
			documentation 	"This class represents the javax.wsdl.PortType non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addOperation"
				quid       	"3B896AC101CA"
				parameters 	(list Parameters
				    (object Parameter "operation"
					type       	"IOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperation"
				quid       	"3B896BAF01A4"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String")
				    (object Parameter "inputName"
					type       	"String")
				    (object Parameter "outputName"
					type       	"String"))
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperations"
				quid       	"3B896BF7031A"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.PortType"
				quid       	"3B84A632000D"
				stereotype 	"javaclass")))
		    (object Class "IOperation"
			quid       	"3B84A77600D1"
			documentation 	"This class represents the javax.wsdl.Operation non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addFault"
				quid       	"3B896C420065"
				parameters 	(list Parameters
				    (object Parameter "fault"
					type       	"IFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getFault"
				quid       	"3B896C59028F"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getFaults"
				quid       	"3B896C7102B1"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getParameterOrdering"
				quid       	"3B896C8101B0"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setParameterOrdering"
				quid       	"3B896C99031D"
				parameters 	(list Parameters
				    (object Parameter "parameterOrder"
					type       	"IList"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getInput"
				quid       	"3C8654E5018D"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setInput"
				quid       	"3C8662C40107"
				parameters 	(list Parameters
				    (object Parameter "input"
					type       	"IInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOutput"
				quid       	"3C8662E40094"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOutput"
				quid       	"3C8662F001D2"
				parameters 	(list Parameters
				    (object Parameter "output"
					type       	"IOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Operation"
				quid       	"3B84A799012B"
				stereotype 	"javaclass")))
		    (object Class "IInput"
			quid       	"3B84A7EE0015"
			documentation 	"This class represents the javax.wsdl.Input non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86633100EF"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C8663470277"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Input"
				quid       	"3B84A8000039"
				stereotype 	"javaclass")))
		    (object Class "IOutput"
			quid       	"3B84A829027D"
			documentation 	"This class represents the javax.wsdl.Output non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86643A035D"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C86644501C8"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Output"
				quid       	"3B84A83901D5"
				stereotype 	"javaclass")))
		    (object Class "IFault"
			quid       	"3B84A861031D"
			documentation 	"This class represents the javax.wsdl.Fault non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getMessage"
				quid       	"3C86646A00BD"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setMessage"
				quid       	"3C8664750131"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Fault"
				quid       	"3B84A8710208"
				stereotype 	"javaclass")))
		    (object Class "IMessage"
			quid       	"3B84A8AF004F"
			documentation 	"This class represents the javax.wsdl.Message non-MOF interface"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addPart"
				quid       	"3B8972240273"
				parameters 	(list Parameters
				    (object Parameter "part"
					type       	"IPart"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPart"
				quid       	"3B89723D0233"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IPart"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getParts"
				quid       	"3B897254025E"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOrderedParts"
				quid       	"3B897261020D"
				parameters 	(list Parameters
				    (object Parameter "partOrder"
					type       	"IList"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Message"
				quid       	"3B84A8BC0260"
				stereotype 	"javaclass")))
		    (object Class "IPart"
			quid       	"3B84A93F01BE"
			documentation 	"This class represents the javax.wsdl.Part non-MOF interface"
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "setExtensionAttribute"
				quid       	"3C4688450052"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName")
				    (object Parameter "value"
					type       	"QName"))
				exceptions 	"WSDLException"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionAttributeNames"
				quid       	"3C468A0101C3"
				result     	"IIterator"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionAttribute"
				quid       	"3C468A2D02D5"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"QName"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Part"
				quid       	"3B84A9500231"
				stereotype 	"javaclass")))
		    (object Class "IService"
			quid       	"3B84AB490287"
			documentation 	"This class represents the javax.wsdl.Service non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addPort"
				quid       	"3B895D5601D1"
				parameters 	(list Parameters
				    (object Parameter "port"
					type       	"IPort"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPorts"
				quid       	"3B895DA20036"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPort"
				quid       	"3B895DB001BC"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IPort"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Service"
				quid       	"3B84AB5B003E"
				stereotype 	"javaclass")))
		    (object Class "IPort"
			quid       	"3B84AB800326"
			documentation 	"This class represents the javax.wsdl.Port non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "getBinding"
				quid       	"3C8651F302B5"
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBinding"
				quid       	"3C86526302F2"
				parameters 	(list Parameters
				    (object Parameter "binding"
					type       	"IBinding"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Port"
				quid       	"3B84AB8C0016"
				stereotype 	"javaclass")))
		    (object Class "IBinding"
			quid       	"3B84ABC60219"
			documentation 	"This class represents the javax.wsdl.Binding non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBindingOperation"
				quid       	"3B895F160153"
				parameters 	(list Parameters
				    (object Parameter "bindingOperation"
					type       	"IBindingOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOperation"
				quid       	"3B895F500066"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String")
				    (object Parameter "inputName"
					type       	"String")
				    (object Parameter "outputName"
					type       	"String"))
				result     	"IBindingOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOperations"
				quid       	"3B895FA401C5"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortType"
				quid       	"3C8652A90284"
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setPortType"
				quid       	"3C8652BE01A8"
				parameters 	(list Parameters
				    (object Parameter "portType"
					type       	"IPortType"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Binding"
				quid       	"3B84ABCF0302"
				stereotype 	"javaclass")))
		    (object Class "IBindingOperation"
			quid       	"3B84ADC00072"
			documentation 	"This class represents the javax.wsdl.BindingOperation non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBindingFault"
				quid       	"3B8960BC0041"
				parameters 	(list Parameters
				    (object Parameter "bindingFault"
					type       	"IBindingFault"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingFault"
				quid       	"3B8960D9009D"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"String"))
				result     	"IBindingFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingFaults"
				quid       	"3B8960FC0061"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getOperation"
				quid       	"3C86532D0017"
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setOperation"
				quid       	"3C86533F037B"
				parameters 	(list Parameters
				    (object Parameter "operation"
					type       	"IOperation"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingInput"
				quid       	"3C86550900DA"
				result     	"IBindingInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBindingInput"
				quid       	"3C86551D007F"
				parameters 	(list Parameters
				    (object Parameter "bindingInput"
					type       	"IBindingInput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindingOutput"
				quid       	"3C8655340349"
				result     	"IBindingOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setBindingOutput"
				quid       	"3C86554702A6"
				parameters 	(list Parameters
				    (object Parameter "bindingOutput"
					type       	"IBindingOutput"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingOperation"
				quid       	"3B84ADCB021C"
				stereotype 	"javaclass")))
		    (object Class "IBindingInput"
			quid       	"3B84ADEB0100"
			documentation 	"This class represents the javax.wsdl.BindingInput non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingInput"
				quid       	"3B84ADFE000D"
				stereotype 	"javaclass")))
		    (object Class "IBindingOutput"
			quid       	"3B84AE210111"
			documentation 	"This class represents the javax.wsdl.BindingOutput non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingOutput"
				quid       	"3B84AE2D0050"
				stereotype 	"javaclass")))
		    (object Class "IBindingFault"
			quid       	"3B84AE4F00BD"
			documentation 	"This class represents the javax.wsdl.BindingFault non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.BindingFault"
				quid       	"3B84AE5F002A"
				stereotype 	"javaclass")))
		    (object Class "DOMElement"
			quid       	"3B84AF3203DB"
			documentation 	"This class represents the org.w3c.dom.Element non-MOF interface."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Element"
				quid       	"3B84AF560292"
				stereotype 	"javaclass")))
		    (object Class "IExtensibilityElement"
			quid       	"3B84B12402AB"
			documentation 	"This class represents the javax.wsdl.ExtensibilityElement non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.ExtensibilityElement"
				quid       	"3B84B13503D1"
				stereotype 	"javaclass")))
		    (object Class "IDefinition"
			quid       	"3B84B1D90142"
			documentation 	"This class represents the javax.wsdl.Definition non-MOF interface."
			stereotype 	"Interface"
			operations 	(list Operations
			    (object Operation "addBinding"
				quid       	"3B8988F1039D"
				parameters 	(list Parameters
				    (object Parameter "binding"
					type       	"IBinding"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addImport"
				quid       	"3B8989490259"
				parameters 	(list Parameters
				    (object Parameter "importDef"
					type       	"IImport"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addMessage"
				quid       	"3B89896E005E"
				parameters 	(list Parameters
				    (object Parameter "message"
					type       	"IMessage"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addNamespace"
				quid       	"3B898984004B"
				parameters 	(list Parameters
				    (object Parameter "prefix"
					type       	"String")
				    (object Parameter "namespaceURI"
					type       	"String"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addPortType"
				quid       	"3B8989C50045"
				parameters 	(list Parameters
				    (object Parameter "portType"
					type       	"IPortType"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "addService"
				quid       	"3B8989E401EE"
				parameters 	(list Parameters
				    (object Parameter "service"
					type       	"IService"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingFault"
				quid       	"3B898A17038C"
				result     	"IBindingFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingInput"
				quid       	"3B898A320286"
				result     	"IBindingInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingOutput"
				quid       	"3B898A46013B"
				result     	"IBindingOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBindingOperation"
				quid       	"3B898A5C00B0"
				result     	"IBindingOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createBinding"
				quid       	"3B8989FE037C"
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createFault"
				quid       	"3B898A7502E7"
				result     	"IFault"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createImport"
				quid       	"3B898A83014C"
				result     	"IImport"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createInput"
				quid       	"3B898A9D033E"
				result     	"IInput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createMessage"
				quid       	"3B898AAF0254"
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createOperation"
				quid       	"3B898AC203C4"
				result     	"IOperation"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createOutput"
				quid       	"3B898AE800ED"
				result     	"IOutput"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPart"
				quid       	"3B898AF8026D"
				result     	"IPart"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPort"
				quid       	"3B898B0801DA"
				result     	"IPort"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createPortType"
				quid       	"3B898B15039B"
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createService"
				quid       	"3B898B32013A"
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBinding"
				quid       	"3B898B420075"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getBindings"
				quid       	"3B898B920341"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getImports"
				quid       	"3B898BCD0060"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getImports"
				quid       	"3B898BE70144"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getMessage"
				quid       	"3B898C170107"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getMessages"
				quid       	"3B898C3E001D"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getNamespace"
				quid       	"3B898C62014B"
				parameters 	(list Parameters
				    (object Parameter "prefix"
					type       	"String"))
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getNamespaces"
				quid       	"3B898C740115"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortType"
				quid       	"3B898CBE0071"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPortTypes"
				quid       	"3B898CDA01C6"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getPrefix"
				quid       	"3B898CFD0017"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getService"
				quid       	"3B898D2300A8"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getServices"
				quid       	"3B898D3B03CE"
				result     	"IMap"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getExtensionRegistry"
				quid       	"3B89D5B8012B"
				result     	"IExtensionRegistry"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setExtensionRegistry"
				quid       	"3B89D5D703BB"
				parameters 	(list Parameters
				    (object Parameter "extensionRegistry"
					type       	"IExtensionRegistry"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getDocumentBaseURI"
				quid       	"3B89D5FE0208"
				result     	"String"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setDocumentBaseURI"
				quid       	"3B89D6180328"
				parameters 	(list Parameters
				    (object Parameter "documentBase"
					type       	"String"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "createTypes"
				quid       	"3CADD0560080"
				result     	"ITypes"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeService"
				quid       	"3CADD07E004C"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IService"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeBinding"
				quid       	"3CADD0BA0355"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IBinding"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removePortType"
				quid       	"3CADD0D8029A"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IPortType"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "removeMessage"
				quid       	"3CADD0FA0307"
				parameters 	(list Parameters
				    (object Parameter "name"
					type       	"QName"))
				result     	"IMessage"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getTypes"
				quid       	"3C86706F031B"
				result     	"ITypes"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "setTypes"
				quid       	"3C86709500EE"
				parameters 	(list Parameters
				    (object Parameter "types"
					type       	"ITypes"))
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Definition"
				quid       	"3B84B1E702A1"
				stereotype 	"javaclass")))
		    (object Class "IImport"
			quid       	"3B84B2020119"
			documentation 	"This class represents the javax.wsdl.Import non-MOF interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Import"
				quid       	"3B84B20C02EA"
				stereotype 	"javaclass")))
		    (object Class "IList"
			quid       	"3B85C0A203C5"
			documentation 	"This class represents the non-MOF java.util.List interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.List"
				quid       	"3B85C0AF0297"
				stereotype 	"javaclass")))
		    (object Class "IMap"
			quid       	"3B896B0300D4"
			documentation 	"This class represents the non-MOF java.util.Map interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.Map"
				quid       	"3B896B1102B5"
				stereotype 	"javaclass")))
		    (object Class "IURL"
			quid       	"3B89D5630274"
			documentation 	"This class represents the non-MOF java.net.URL interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.net.URL"
				quid       	"3B89D56E03E2"
				stereotype 	"javaclass")))
		    (object Class "IExtensionRegistry"
			quid       	"3B89D59302A5"
			documentation 	"This class represents the non-MOF javax.wsdl.extensions.ExtensionRegistry interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.extensions.ExtensionRegistry"
				quid       	"3B89D59F02E8"
				stereotype 	"javaclass")))
		    (object Class "Types"
			quid       	"3B8BE9A603A8"
			documentation 	"This class represents a WSDL types element. The types element encloses data type definitions that are relevant for the exchanged messages."
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B8BEB010311"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A")
			    (object Inheritance_Relationship
				quid       	"3CADCD3B0380"
				supplier   	"Logical View::wsdl::ITypes"
				quidu      	"3CADCBB20050"))
			operations 	(list Operations
			    (object Operation "getSchemas"
				quid       	"3CADCF3803E6"
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)
			    (object Operation "getSchemas"
				quid       	"3CADCF7E0301"
				parameters 	(list Parameters
				    (object Parameter "namespaceURI"
					type       	"String"))
				result     	"IList"
				concurrency 	"Sequential"
				opExportControl 	"Public"
				uid        	0)))
		    (object Class "IIterator"
			quid       	"3C4687DA0167"
			documentation 	"This class represents the non-MOF java.util.Iterator interface."
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.util.Iterator"
				quid       	"3C46880800B9"
				stereotype 	"javaclass")))
		    (object Class "WSDLException"
			quid       	"3C4689650313"
			documentation 	"This class represents the javax.wsdl.Exception class."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.WSDLException"
				quid       	"3C4689740315"
				stereotype 	"javaclass")))
		    (object Class "ITypes"
			quid       	"3CADCBB20050"
			documentation 	"This class represents the javax.wsdl.Types non-MOF interface"
			stereotype 	"Interface"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "javax.wsdl.Types"
				quid       	"3CADCBF10173"
				stereotype 	"javaclass")))
		    (object Class "UnknownExtensibilityElement"
			quid       	"3CB24AC002AE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3CB24AEC01CB"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")))
		    (object Class "XSDSchemaExtensibilityElement"
			quid       	"3CC360D7039C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3CC3627F00B7"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9")))
		    (object Class "DOMDocument"
			quid       	"3CD1502C023B"
			documentation 	"This class represents the org.w3c.dom.Document non-MOF interface."
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Document"
				quid       	"3CD150600182"
				stereotype 	"javaclass")))
		    (object Class "MessageReference"
			quid       	"3F6771DB02DC"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3F762A6A0308"
				supplier   	"Logical View::wsdl::WSDLElement"
				quidu      	"3AD5C6A302DD"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3F6780A001AB"
				type       	"String"
				exportControl 	"Protected"))
			language   	"Java"
			abstract   	TRUE)
		    (object Association "$UNNAMED$0"
			quid       	"3AD5C824018C"
			roles      	(list role_list
			    (object Role "portType"
				quid       	"3AD5C82701C3"
				label      	"portType"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "1..1")
				Containment 	"By Value"
				is_aggregate 	TRUE)
			    (object Role "eOperations"
				quid       	"3AD5C82701CD"
				label      	"eOperations"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$1"
			quid       	"3AD5CEBE00E2"
			roles      	(list role_list
			    (object Role "$UNNAMED$2"
				quid       	"3AD5CEBF0057"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eParts"
				quid       	"3AD5CEBF0061"
				label      	"eParts"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$3"
			quid       	"3AD5D352010F"
			roles      	(list role_list
			    (object Role "ePortType"
				quid       	"3AD5D3540176"
				label      	"ePortType"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$4"
				quid       	"3AD5D3540180"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261")))
		    (object Association "$UNNAMED$5"
			quid       	"3AD5D3E10179"
			roles      	(list role_list
			    (object Role "$UNNAMED$6"
				quid       	"3AD5D3E20225"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eBindingOperations"
				quid       	"3AD5D3E20239"
				label      	"eBindingOperations"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$7"
			quid       	"3AD5D425038A"
			roles      	(list role_list
			    (object Role "eOperation"
				quid       	"3AD5D42602F5"
				label      	"eOperation"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$8"
				quid       	"3AD5D42602FF"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145")))
		    (object Association "$UNNAMED$9"
			quid       	"3AD5D9400393"
			roles      	(list role_list
			    (object Role "ePorts"
				quid       	"3AD5D941031C"
				label      	"ePorts"
				supplier   	"Logical View::wsdl::Port"
				quidu      	"3AD5D9170286"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$10"
				quid       	"3AD5D941031D"
				supplier   	"Logical View::wsdl::Service"
				quidu      	"3AD5D8F002F8"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$11"
			quid       	"3AD5D9B8011F"
			roles      	(list role_list
			    (object Role "eBinding"
				quid       	"3AD5D9B9024D"
				label      	"eBinding"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$12"
				quid       	"3AD5D9B90261"
				supplier   	"Logical View::wsdl::Port"
				quidu      	"3AD5D9170286")))
		    (object Association "$UNNAMED$13"
			quid       	"3AD5E60301E2"
			roles      	(list role_list
			    (object Role "$UNNAMED$14"
				quid       	"3AD5E60400B7"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eMessages"
				quid       	"3AD5E60400C1"
				label      	"eMessages"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$15"
			quid       	"3AD5E6710104"
			roles      	(list role_list
			    (object Role "$UNNAMED$16"
				quid       	"3AD5E672034A"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "ePortTypes"
				quid       	"3AD5E6720354"
				label      	"ePortTypes"
				supplier   	"Logical View::wsdl::PortType"
				quidu      	"3AD5C7F001A5"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$17"
			quid       	"3AD5E6770095"
			roles      	(list role_list
			    (object Role "$UNNAMED$18"
				quid       	"3AD5E6780371"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eBindings"
				quid       	"3AD5E678037B"
				label      	"eBindings"
				supplier   	"Logical View::wsdl::Binding"
				quidu      	"3AD5D2860261"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$19"
			quid       	"3AD5E67B0311"
			roles      	(list role_list
			    (object Role "$UNNAMED$20"
				quid       	"3AD5E67D007F"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eServices"
				quid       	"3AD5E67D0089"
				label      	"eServices"
				supplier   	"Logical View::wsdl::Service"
				quidu      	"3AD5D8F002F8"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$21"
			quid       	"3AD5FD130079"
			roles      	(list role_list
			    (object Role "eExtensibilityElements"
				quid       	"3AD5FD14019D"
				label      	"eExtensibilityElements"
				supplier   	"Logical View::wsdl::ExtensibilityElement"
				quidu      	"3AD5DBB602A9"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$22"
				quid       	"3AD5FD14019E"
				supplier   	"Logical View::wsdl::ExtensibleElement"
				quidu      	"3AD5FCFA033A"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$23"
			quid       	"3ADF2E6401F5"
			roles      	(list role_list
			    (object Role "eBindingInput"
				quid       	"3ADF2E650251"
				label      	"eBindingInput"
				supplier   	"Logical View::wsdl::BindingInput"
				quidu      	"3AE08A8202D4"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$24"
				quid       	"3ADF2E650252"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$25"
			quid       	"3ADF2EB30163"
			roles      	(list role_list
			    (object Role "eBindingOutput"
				quid       	"3ADF2EB4013C"
				label      	"eBindingOutput"
				supplier   	"Logical View::wsdl::BindingOutput"
				quidu      	"3AE08A8F028C"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$26"
				quid       	"3ADF2EB4013D"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$27"
			quid       	"3ADF2F94024D"
			roles      	(list role_list
			    (object Role "eInput"
				quid       	"3ADF2F950190"
				label      	"eInput"
				supplier   	"Logical View::wsdl::Input"
				quidu      	"3AE0789F0059"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$28"
				quid       	"3ADF2F95019A"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$29"
			quid       	"3ADF2FB802F9"
			roles      	(list role_list
			    (object Role "eOutput"
				quid       	"3ADF2FB9020A"
				label      	"eOutput"
				supplier   	"Logical View::wsdl::Output"
				quidu      	"3AE078B60232"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$30"
				quid       	"3ADF2FB9020B"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$31"
			quid       	"3ADF331601A4"
			roles      	(list role_list
			    (object Role "eFaults"
				quid       	"3ADF33180387"
				label      	"eFaults"
				supplier   	"Logical View::wsdl::Fault"
				quidu      	"3AE078BE0108"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$32"
				quid       	"3ADF33180388"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$33"
			quid       	"3ADF340003E5"
			roles      	(list role_list
			    (object Role "eBindingFaults"
				quid       	"3ADF340103AA"
				label      	"eBindingFaults"
				supplier   	"Logical View::wsdl::BindingFault"
				quidu      	"3AE08A9E03A6"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$34"
				quid       	"3ADF340103AB"
				supplier   	"Logical View::wsdl::BindingOperation"
				quidu      	"3AD5D3CB0145"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$35"
			quid       	"3AE091F402F3"
			roles      	(list role_list
			    (object Role "eFault"
				quid       	"3AE091F801FE"
				label      	"eFault"
				supplier   	"Logical View::wsdl::Fault"
				quidu      	"3AE078BE0108"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$36"
				quid       	"3AE091F801FF"
				supplier   	"Logical View::wsdl::BindingFault"
				quidu      	"3AE08A9E03A6")))
		    (object Association "$UNNAMED$37"
			quid       	"3AEA3D55002D"
			roles      	(list role_list
			    (object Role "$UNNAMED$38"
				quid       	"3AEA3D560328"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eNamespaces"
				quid       	"3AEA3D560332"
				label      	"eNamespaces"
				supplier   	"Logical View::wsdl::Namespace"
				quidu      	"3AEA3CD30030"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$39"
			quid       	"3AEA3E3A002D"
			roles      	(list role_list
			    (object Role "eDefinition"
				quid       	"3AEA3E3C01E8"
				label      	"eDefinition"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$40"
				quid       	"3AEA3E3C01F2"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE")))
		    (object Association "$UNNAMED$41"
			quid       	"3AEA412F0035"
			roles      	(list role_list
			    (object Role "eParameterOrdering"
				quid       	"3AEA41310255"
				label      	"eParameterOrdering"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$42"
				quid       	"3AEA4131025F"
				supplier   	"Logical View::wsdl::Operation"
				quidu      	"3AD5C80D03CE")))
		    (object Association "$UNNAMED$43"
			quid       	"3B84AD2400BD"
			roles      	(list role_list
			    (object Role "eInput"
				quid       	"3B84AD250083"
				label      	"eInput"
				supplier   	"Logical View::wsdl::Input"
				quidu      	"3AE0789F0059"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$44"
				quid       	"3B84AD250084"
				supplier   	"Logical View::wsdl::BindingInput"
				quidu      	"3AE08A8202D4")))
		    (object Association "$UNNAMED$45"
			quid       	"3B84AD7900F2"
			roles      	(list role_list
			    (object Role "eOutput"
				quid       	"3B84AD7A014D"
				label      	"eOutput"
				supplier   	"Logical View::wsdl::Output"
				quidu      	"3AE078B60232"
				client_cardinality 	(value cardinality "1..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$46"
				quid       	"3B84AD7A014E"
				supplier   	"Logical View::wsdl::BindingOutput"
				quidu      	"3AE08A8F028C")))
		    (object Association "$UNNAMED$47"
			quid       	"3B8B1BE900C4"
			roles      	(list role_list
			    (object Role "typeDefinition"
				quid       	"3B8B1BE90327"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$48"
				quid       	"3B8B1BE90331"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$49"
			quid       	"3B8B1C1203B2"
			roles      	(list role_list
			    (object Role "elementDeclaration"
				quid       	"3B8B1C14001C"
				label      	"elementDeclaration"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$50"
				quid       	"3B8B1C140026"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$51"
			quid       	"3B8B1DCC02E5"
			roles      	(list role_list
			    (object Role "eSchema"
				quid       	"3B8B1DCE0270"
				label      	"eSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$52"
				quid       	"3B8B1DCE027A"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE")))
		    (object Association "$UNNAMED$53"
			quid       	"3B8BEA27029F"
			roles      	(list role_list
			    (object Role "$UNNAMED$54"
				quid       	"3B8BEA290356"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "eTypes"
				quid       	"3B8BEA29036A"
				label      	"eTypes"
				supplier   	"Logical View::wsdl::Types"
				quidu      	"3B8BE9A603A8"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$55"
			quid       	"3C46829303E5"
			roles      	(list role_list
			    (object Role "eMessage"
				quid       	"3C468296010E"
				label      	"eMessage"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$56"
				quid       	"3C4682960118"
				supplier   	"Logical View::wsdl::Part"
				quidu      	"3AD5CE1C032E")))
		    (object Association "$UNNAMED$57"
			quid       	"3C864DFF02EC"
			roles      	(list role_list
			    (object Role "eImports"
				quid       	"3C864DFF02ED"
				label      	"eImports"
				supplier   	"Logical View::wsdl::Import"
				quidu      	"3AD5E4F903DE"
				client_cardinality 	(value cardinality "0..n")
				Constraints 	"ordered"
				Containment 	"By Value"
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$58"
				quid       	"3C864DFF02EE"
				supplier   	"Logical View::wsdl::Definition"
				quidu      	"3AD5E43F008E"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)))
		    (object Association "$UNNAMED$59"
			quid       	"3CC3614500F2"
			roles      	(list role_list
			    (object Role "$UNNAMED$60"
				quid       	"3CC36146023D"
				supplier   	"Logical View::wsdl::XSDSchemaExtensibilityElement"
				quidu      	"3CC360D7039C"
				client_cardinality 	(value cardinality "1..1")
				is_aggregate 	TRUE)
			    (object Role "schema"
				quid       	"3CC36146023E"
				label      	"schema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$61"
			quid       	"3F74E78401B1"
			roles      	(list role_list
			    (object Role "eMessage"
				quid       	"3F74E786000F"
				label      	"eMessage"
				supplier   	"Logical View::wsdl::Message"
				quidu      	"3AD5C9590078"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$62"
				quid       	"3F74E7860023"
				supplier   	"Logical View::wsdl::MessageReference"
				quidu      	"3F6771DB02DC")))
		    (object Association "$UNNAMED$63"
			quid       	"3F7896A2026E"
			roles      	(list role_list
			    (object Role "parent"
				quid       	"3F7896A7012B"
				label      	"parent"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "children"
				quid       	"3F7896A7012C"
				label      	"children"
				supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
				quidu      	"3CB24AC002AE"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "2.7 Services"
			quid       	"39AD3EF60127"
			title      	"2.7 Services"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IBinding" @28
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 800)
				label      	(object ItemLabel
				    Parent_View 	@28
				    location   	(1173, 660)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"IBinding")
				stereotype 	(object ItemLabel
				    Parent_View 	@28
				    location   	(1173, 610)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ABC60219"
				width      	520
				height     	404
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IPort" @29
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(816, 528)
				label      	(object ItemLabel
				    Parent_View 	@29
				    location   	(686, 481)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"IPort")
				stereotype 	(object ItemLabel
				    Parent_View 	@29
				    location   	(686, 431)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AB800326"
				width      	278
				height     	218
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IService" @30
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 160)
				label      	(object ItemLabel
				    Parent_View 	@30
				    location   	(126, 90)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"IService")
				stereotype 	(object ItemLabel
				    Parent_View 	@30
				    location   	(126, 40)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AB490287"
				width      	246
				height     	264
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Service" @31
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 528)
				label      	(object ItemLabel
				    Parent_View 	@31
				    location   	(44, 389)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				width      	410
				height     	302
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @32
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85954E01B4"
				client     	@31
				supplier   	@30
				line_style 	3
				origin_attachment 	(240, 377)
				terminal_attachment 	(240, 292))
			    (object ClassView "Class" "Logical View::wsdl::Binding" @33
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1440, 1264)
				label      	(object ItemLabel
				    Parent_View 	@33
				    location   	(1244, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	410
				height     	302
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @34
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8595410129"
				client     	@33
				supplier   	@28
				line_style 	3
				origin_attachment 	(1430, 1113)
				terminal_attachment 	(1430, 1002))
			    (object ClassView "Class" "Logical View::wsdl::Port" @35
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(816, 912)
				label      	(object ItemLabel
				    Parent_View 	@35
				    location   	(675, 840)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	282
				    justify    	0
				    label      	"Port")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D9170286"
				width      	300
				height     	168
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @36
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85954502C9"
				client     	@35
				supplier   	@29
				line_style 	3
				origin_attachment 	(809, 828)
				terminal_attachment 	(809, 637))
			    (object AssociationViewNew "$UNNAMED$9" @37
				location   	(343, 916)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D9400393"
				roleview_list 	(list RoleViews
				    (object RoleView "ePorts" @38
					Parent_View 	@37
					location   	(-121, 644)
					label      	(object SegLabel @39
					    Parent_View 	@38
					    location   	(413, 945)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+ePorts"
					    pctDist    	0.218978
					    height     	29
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D941031C"
					client     	@37
					supplier   	@35
					line_style 	3
					origin_attachment 	(343, 916)
					terminal_attachment 	(666, 916)
					label      	(object SegLabel @40
					    Parent_View 	@38
					    location   	(539, 880)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	160
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.608000
					    height     	37
					    orientation 	0)
					label      	(object SegLabel @41
					    Parent_View 	@38
					    location   	(448, 990)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.328467
					    height     	74
					    orientation 	1))
				    (object RoleView "$UNNAMED$10" @42
					Parent_View 	@37
					location   	(-121, 644)
					label      	(object SegLabel @43
					    Parent_View 	@42
					    location   	(216, 744)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D941031D"
					client     	@37
					supplier   	@31
					vertices   	(list Points
					    (343, 916)
					    (257, 916)
					    (257, 679))
					line_style 	3
					origin_attachment 	(343, 916)
					terminal_attachment 	(257, 679)
					label      	(object SegLabel @44
					    Parent_View 	@42
					    location   	(301, 796)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.637097
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$11" @45
				location   	(886, 1270)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D9B8011F"
				roleview_list 	(list RoleViews
				    (object RoleView "eBinding" @46
					Parent_View 	@45
					location   	(38, 422)
					label      	(object SegLabel @47
					    Parent_View 	@46
					    location   	(1112, 1235)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+eBinding"
					    pctDist    	0.648571
					    height     	36
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D9B9024D"
					client     	@45
					supplier   	@33
					line_style 	3
					origin_attachment 	(886, 1270)
					terminal_attachment 	(1235, 1270)
					label      	(object SegLabel @48
					    Parent_View 	@46
					    location   	(1170, 1313)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.814286
					    height     	43
					    orientation 	1))
				    (object RoleView "$UNNAMED$12" @49
					Parent_View 	@45
					location   	(38, 422)
					label      	(object SegLabel @50
					    Parent_View 	@49
					    location   	(852, 1106)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	156
					    justify    	0
					    label      	""
					    pctDist    	0.687943
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D9B90261"
					client     	@45
					supplier   	@35
					vertices   	(list Points
					    (886, 1270)
					    (812, 1270)
					    (812, 996))
					line_style 	3
					origin_attachment 	(886, 1270)
					terminal_attachment 	(812, 996))))))
		    (object ClassDiagram "2.5 Bindings"
			quid       	"39AD51270252"
			title      	"2.5 Bindings"
			zoom       	85
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IBinding" @51
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 240)
				label      	(object ItemLabel
				    Parent_View 	@51
				    location   	(73, 114)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"IBinding")
				stereotype 	(object ItemLabel
				    Parent_View 	@51
				    location   	(73, 64)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ABC60219"
				width      	480
				height     	376
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingOperation" @52
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(976, 352)
				label      	(object ItemLabel
				    Parent_View 	@52
				    location   	(780, 130)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"IBindingOperation")
				stereotype 	(object ItemLabel
				    Parent_View 	@52
				    location   	(780, 80)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	392
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ADC00072"
				width      	410
				height     	568
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingInput" @53
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1360)
				label      	(object ItemLabel
				    Parent_View 	@53
				    location   	(62, 1334)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"IBindingInput")
				stereotype 	(object ItemLabel
				    Parent_View 	@53
				    location   	(62, 1284)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	260
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84ADEB0100"
				width      	278
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingOutput" @54
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1664)
				label      	(object ItemLabel
				    Parent_View 	@54
				    location   	(61, 1638)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	294
				    justify    	0
				    label      	"IBindingOutput")
				stereotype 	(object ItemLabel
				    Parent_View 	@54
				    location   	(61, 1588)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	294
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AE210111"
				width      	312
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IBindingFault" @55
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1984)
				label      	(object ItemLabel
				    Parent_View 	@55
				    location   	(72, 1958)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"IBindingFault")
				stereotype 	(object ItemLabel
				    Parent_View 	@55
				    location   	(72, 1908)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84AE4F00BD"
				width      	290
				height     	176
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @56
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 624)
				label      	(object ItemLabel
				    Parent_View 	@56
				    location   	(1568, 486)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	673
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				width      	691
				height     	301
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Input" @57
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 1360)
				label      	(object ItemLabel
				    Parent_View 	@57
				    location   	(1756, 1283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Input")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE0789F0059"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Output" @58
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 1664)
				label      	(object ItemLabel
				    Parent_View 	@58
				    location   	(1756, 1587)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Output")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078B60232"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Binding" @59
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 688)
				label      	(object ItemLabel
				    Parent_View 	@59
				    location   	(97, 539)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	414
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	432
				height     	322
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @60
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8595410129"
				client     	@59
				supplier   	@51
				line_style 	3
				origin_attachment 	(279, 527)
				terminal_attachment 	(279, 428))
			    (object AssociationViewNew "$UNNAMED$3" @61
				location   	(1039, 742)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D352010F"
				roleview_list 	(list RoleViews
				    (object RoleView "ePortType" @62
					Parent_View 	@61
					location   	(575, 598)
					label      	(object SegLabel @63
					    Parent_View 	@62
					    location   	(1449, 781)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+ePortType"
					    pctDist    	0.789292
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3540176"
					client     	@61
					supplier   	@56
					line_style 	3
					origin_attachment 	(1039, 742)
					terminal_attachment 	(1559, 742)
					label      	(object SegLabel @64
					    Parent_View 	@62
					    location   	(1492, 716)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.872193
					    height     	27
					    orientation 	0))
				    (object RoleView "$UNNAMED$4" @65
					Parent_View 	@61
					location   	(575, 598)
					label      	(object SegLabel @66
					    Parent_View 	@65
					    location   	(776, 697)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	""
					    pctDist    	0.509449
					    height     	46
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3540180"
					client     	@61
					supplier   	@59
					line_style 	3
					origin_attachment 	(1039, 742)
					terminal_attachment 	(520, 742))))
			    (object ClassView "Class" "Logical View::wsdl::Operation" @67
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1024)
				label      	(object ItemLabel
				    Parent_View 	@67
				    location   	(1672, 851)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"Operation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C80D03CE"
				width      	450
				height     	370
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingInput" @68
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(624, 1408)
				label      	(object ItemLabel
				    Parent_View 	@68
				    location   	(476, 1283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingInput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8202D4"
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$43" @69
				location   	(1264, 1359)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AD2400BD"
				roleview_list 	(list RoleViews
				    (object RoleView "eInput" @70
					Parent_View 	@69
					location   	(96, 287)
					label      	(object SegLabel @71
					    Parent_View 	@70
					    location   	(1637, 1316)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+eInput"
					    pctDist    	0.775148
					    height     	44
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD250083"
					client     	@69
					supplier   	@57
					line_style 	3
					origin_attachment 	(1264, 1359)
					terminal_attachment 	(1747, 1359)
					label      	(object SegLabel @72
					    Parent_View 	@70
					    location   	(1694, 1398)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.889546
					    height     	39
					    orientation 	1))
				    (object RoleView "$UNNAMED$44" @73
					Parent_View 	@69
					location   	(96, 287)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD250084"
					client     	@69
					supplier   	@68
					line_style 	3
					origin_attachment 	(1264, 1359)
					terminal_attachment 	(781, 1359))))
			    (object ClassView "Class" "Logical View::wsdl::BindingOutput" @74
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(960, 1664)
				label      	(object ItemLabel
				    Parent_View 	@74
				    location   	(812, 1539)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingOutput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8F028C"
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$45" @75
				location   	(1432, 1654)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AD7900F2"
				roleview_list 	(list RoleViews
				    (object RoleView "eOutput" @76
					Parent_View 	@75
					location   	(-120, 374)
					label      	(object SegLabel @77
					    Parent_View 	@76
					    location   	(1645, 1612)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eOutput"
					    pctDist    	0.674772
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD7A014D"
					client     	@75
					supplier   	@58
					line_style 	3
					origin_attachment 	(1432, 1654)
					terminal_attachment 	(1747, 1654)
					label      	(object SegLabel @78
					    Parent_View 	@76
					    location   	(1681, 1697)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.790274
					    height     	43
					    orientation 	1))
				    (object RoleView "$UNNAMED$46" @79
					Parent_View 	@75
					location   	(-120, 374)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B84AD7A014E"
					client     	@75
					supplier   	@74
					line_style 	3
					origin_attachment 	(1432, 1654)
					terminal_attachment 	(1117, 1654))))
			    (object ClassView "Class" "Logical View::wsdl::BindingOperation" @80
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(992, 1008)
				label      	(object ItemLabel
				    Parent_View 	@80
				    location   	(819, 931)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	346
				    justify    	0
				    label      	"BindingOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D3CB0145"
				width      	364
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @81
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84ADE401DC"
				client     	@80
				supplier   	@52
				line_style 	3
				origin_attachment 	(966, 919)
				terminal_attachment 	(966, 636))
			    (object AssociationViewNew "$UNNAMED$5" @82
				location   	(457, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D3E10179"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$6" @83
					Parent_View 	@82
					location   	(-1319, 494)
					label      	(object SegLabel @84
					    Parent_View 	@83
					    location   	(235, 920)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3E20225"
					client     	@82
					supplier   	@59
					vertices   	(list Points
					    (457, 1022)
					    (276, 1022)
					    (276, 849))
					line_style 	3
					origin_attachment 	(457, 1022)
					terminal_attachment 	(276, 849)
					label      	(object SegLabel @85
					    Parent_View 	@83
					    location   	(330, 884)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "eBindingOperations" @86
					Parent_View 	@82
					location   	(-1319, 494)
					label      	(object SegLabel @87
					    Parent_View 	@86
					    location   	(531, 977)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+eBindingOperations"
					    pctDist    	0.211699
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D3E20239"
					client     	@82
					supplier   	@80
					line_style 	3
					origin_attachment 	(457, 1022)
					terminal_attachment 	(810, 1022)
					label      	(object SegLabel @88
					    Parent_View 	@86
					    location   	(769, 980)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.884956
					    height     	43
					    orientation 	0)
					label      	(object SegLabel @89
					    Parent_View 	@86
					    location   	(714, 1067)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.727564
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$7" @90
				location   	(1418, 1040)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5D425038A"
				roleview_list 	(list RoleViews
				    (object RoleView "eOperation" @91
					Parent_View 	@90
					location   	(-358, 464)
					label      	(object SegLabel @92
					    Parent_View 	@91
					    location   	(1520, 1079)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	228
					    justify    	0
					    label      	"+eOperation"
					    pctDist    	0.420601
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D42602F5"
					client     	@90
					supplier   	@67
					line_style 	3
					origin_attachment 	(1418, 1040)
					terminal_attachment 	(1663, 1040)
					label      	(object SegLabel @93
					    Parent_View 	@91
					    location   	(1589, 1005)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.696721
					    height     	36
					    orientation 	0))
				    (object RoleView "$UNNAMED$8" @94
					Parent_View 	@90
					location   	(-358, 464)
					label      	(object SegLabel @95
					    Parent_View 	@94
					    location   	(1273, 1070)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	""
					    pctDist    	0.595420
					    height     	30
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5D42602FF"
					client     	@90
					supplier   	@80
					line_style 	3
					origin_attachment 	(1418, 1040)
					terminal_attachment 	(1174, 1040))))
			    (object AssociationViewNew "$UNNAMED$23" @96
				location   	(787, 1190)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2E6401F5"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingInput" @97
					Parent_View 	@96
					location   	(-381, 454)
					label      	(object SegLabel @98
					    Parent_View 	@97
					    location   	(669, 1152)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+eBindingInput"
					    pctDist    	0.511905
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2E650251"
					client     	@96
					supplier   	@68
					vertices   	(list Points
					    (787, 1190)
					    (636, 1190)
					    (636, 1271))
					line_style 	3
					origin_attachment 	(787, 1190)
					terminal_attachment 	(636, 1271)
					label      	(object SegLabel @99
					    Parent_View 	@97
					    location   	(685, 1222)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.440476
					    height     	32
					    orientation 	0))
				    (object RoleView "$UNNAMED$24" @100
					Parent_View 	@96
					location   	(-381, 454)
					label      	(object SegLabel @101
					    Parent_View 	@100
					    location   	(885, 1144)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2E650252"
					client     	@96
					supplier   	@80
					vertices   	(list Points
					    (787, 1190)
					    (926, 1190)
					    (926, 1097))
					line_style 	3
					origin_attachment 	(787, 1190)
					terminal_attachment 	(926, 1097)
					label      	(object SegLabel @102
					    Parent_View 	@100
					    location   	(871, 1136)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.837758
					    height     	56
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$25" @103
				location   	(1024, 1312)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2EB30163"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingOutput" @104
					Parent_View 	@103
					location   	(-150, 578)
					label      	(object SegLabel @105
					    Parent_View 	@104
					    location   	(1012, 1429)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	306
					    justify    	0
					    label      	"+eBindingOutput"
					    pctDist    	0.545082
					    height     	13
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2EB4013C"
					client     	@103
					supplier   	@74
					line_style 	3
					origin_attachment 	(1024, 1312)
					terminal_attachment 	(1024, 1527)
					label      	(object SegLabel @106
					    Parent_View 	@104
					    location   	(967, 1479)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.774590
					    height     	58
					    orientation 	1))
				    (object RoleView "$UNNAMED$26" @107
					Parent_View 	@103
					location   	(-150, 578)
					label      	(object SegLabel @108
					    Parent_View 	@107
					    location   	(983, 1140)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2EB4013D"
					client     	@103
					supplier   	@80
					line_style 	3
					origin_attachment 	(1024, 1312)
					terminal_attachment 	(1024, 1097)
					label      	(object SegLabel @109
					    Parent_View 	@107
					    location   	(1031, 1186)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.590164
					    height     	7
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::Fault" @110
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1920, 1984)
				label      	(object ItemLabel
				    Parent_View 	@110
				    location   	(1772, 1907)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"Fault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078BE0108"
				width      	314
				height     	178
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingFault" @111
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 1984)
				label      	(object ItemLabel
				    Parent_View 	@111
				    location   	(1212, 1859)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"BindingFault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A9E03A6"
				width      	314
				height     	274
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @112
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE710333"
				client     	@111
				supplier   	@55
				line_style 	3
				origin_attachment 	(1203, 2007)
				terminal_attachment 	(353, 2007))
			    (object AssociationViewNew "$UNNAMED$33" @113
				location   	(1356, 1352)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF340003E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eBindingFaults" @114
					Parent_View 	@113
					location   	(188, 616)
					label      	(object SegLabel @115
					    Parent_View 	@114
					    location   	(1382, 1750)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	300
					    justify    	0
					    label      	"+eBindingFaults"
					    pctDist    	0.803150
					    height     	26
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF340103AA"
					client     	@113
					supplier   	@111
					line_style 	3
					origin_attachment 	(1356, 1352)
					terminal_attachment 	(1356, 1847)
					label      	(object SegLabel @116
					    Parent_View 	@114
					    location   	(1409, 1797)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.899194
					    height     	53
					    orientation 	0)
					label      	(object SegLabel @117
					    Parent_View 	@114
					    location   	(1256, 1806)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.919291
					    height     	101
					    orientation 	1))
				    (object RoleView "$UNNAMED$34" @118
					Parent_View 	@113
					location   	(188, 616)
					label      	(object SegLabel @119
					    Parent_View 	@118
					    location   	(1076, 1197)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF340103AB"
					client     	@113
					supplier   	@80
					vertices   	(list Points
					    (1356, 1352)
					    (1356, 1217)
					    (1117, 1217)
					    (1117, 1097))
					line_style 	3
					origin_attachment 	(1356, 1352)
					terminal_attachment 	(1117, 1097)
					label      	(object SegLabel @120
					    Parent_View 	@118
					    location   	(1152, 1164)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.687008
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$35" @121
				location   	(1640, 1970)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE091F402F3"
				roleview_list 	(list RoleViews
				    (object RoleView "eFault" @122
					Parent_View 	@121
					location   	(-344, 818)
					label      	(object SegLabel @123
					    Parent_View 	@122
					    location   	(1674, 1915)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+eFault"
					    pctDist    	0.276423
					    height     	56
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AE091F801FE"
					client     	@121
					supplier   	@110
					line_style 	3
					origin_attachment 	(1640, 1970)
					terminal_attachment 	(1763, 1970)
					label      	(object SegLabel @124
					    Parent_View 	@122
					    location   	(1718, 2012)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.642276
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$36" @125
					Parent_View 	@121
					location   	(-344, 818)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AE091F801FF"
					client     	@121
					supplier   	@111
					line_style 	3
					origin_attachment 	(1640, 1970)
					terminal_attachment 	(1517, 1970))))
			    (object InheritView "" @126
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE4302AB"
				client     	@74
				supplier   	@54
				line_style 	3
				origin_attachment 	(803, 1656)
				terminal_attachment 	(364, 1656))
			    (object InheritView "" @127
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84AE1B0113"
				client     	@68
				supplier   	@53
				line_style 	3
				origin_attachment 	(467, 1385)
				terminal_attachment 	(331, 1385))))
		    (object ClassDiagram "2.4 PortTypes"
			quid       	"3AD5D1C40366"
			title      	"2.4 PortTypes"
			documentation 	"This class represents the non-MOF java.util.Iterator interface."
			zoom       	80
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IPortType" @128
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 208)
				label      	(object ItemLabel
				    Parent_View 	@128
				    location   	(146, 172)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	700
				    justify    	0
				    label      	"IPortType")
				stereotype 	(object ItemLabel
				    Parent_View 	@128
				    location   	(146, 122)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	700
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A5BE0331"
				width      	718
				height     	196
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::IOperation" @129
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 208)
				label      	(object ItemLabel
				    Parent_View 	@129
				    location   	(1116, 176)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	873
				    justify    	0
				    label      	"IOperation")
				stereotype 	(object ItemLabel
				    Parent_View 	@129
				    location   	(1116, 126)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	873
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A77600D1"
				width      	891
				height     	188
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IInput" @130
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1472)
				label      	(object ItemLabel
				    Parent_View 	@130
				    location   	(55, 1437)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"IInput")
				stereotype 	(object ItemLabel
				    Parent_View 	@130
				    location   	(55, 1387)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A7EE0015"
				width      	644
				height     	194
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IOutput" @131
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 1792)
				label      	(object ItemLabel
				    Parent_View 	@131
				    location   	(56, 1757)
				    fill_color 	16777215
				    nlines     	1
				    max_width  	656
				    justify    	0
				    label      	"IOutput")
				stereotype 	(object ItemLabel
				    Parent_View 	@131
				    location   	(56, 1707)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	656
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A829027D"
				width      	674
				height     	194
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IFault" @132
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 2112)
				label      	(object ItemLabel
				    Parent_View 	@132
				    location   	(55, 2076)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"IFault")
				stereotype 	(object ItemLabel
				    Parent_View 	@132
				    location   	(55, 2026)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	626
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A861031D"
				width      	644
				height     	196
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @133
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 800)
				label      	(object ItemLabel
				    Parent_View 	@133
				    location   	(158, 672)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	677
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				width      	695
				height     	281
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Part" @134
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2576, 800)
				label      	(object ItemLabel
				    Parent_View 	@134
				    location   	(2325, 692)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	502
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	520
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Fault" @135
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1728, 2112)
				label      	(object ItemLabel
				    Parent_View 	@135
				    location   	(1647, 2060)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Fault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078BE0108"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Input" @136
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1056, 1472)
				label      	(object ItemLabel
				    Parent_View 	@136
				    location   	(870, 1422)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"Input")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE0789F0059"
				width      	390
				height     	125
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Output" @137
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 1792)
				label      	(object ItemLabel
				    Parent_View 	@137
				    location   	(1232, 1742)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"Output")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE078B60232"
				width      	274
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Operation" @138
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 784)
				label      	(object ItemLabel
				    Parent_View 	@138
				    location   	(1214, 620)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	677
				    justify    	0
				    label      	"Operation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C80D03CE"
				width      	695
				height     	352
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$0" @139
				location   	(1024, 797)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5C824018C"
				roleview_list 	(list RoleViews
				    (object RoleView "eOperations" @140
					Parent_View 	@139
					location   	(592, 269)
					label      	(object SegLabel @141
					    Parent_View 	@140
					    location   	(1088, 748)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	249
					    justify    	0
					    label      	"+eOperations"
					    pctDist    	0.359649
					    height     	50
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5C82701CD"
					client     	@139
					supplier   	@138
					line_style 	3
					origin_attachment 	(1024, 797)
					terminal_attachment 	(1205, 797)
					label      	(object SegLabel @142
					    Parent_View 	@140
					    location   	(1176, 861)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.840391
					    height     	64
					    orientation 	1)
					label      	(object SegLabel @143
					    Parent_View 	@140
					    location   	(1074, 923)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.276243
					    height     	126
					    orientation 	1))
				    (object RoleView "portType" @144
					Parent_View 	@139
					location   	(592, 269)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5C82701C3"
					client     	@139
					supplier   	@133
					line_style 	3
					origin_attachment 	(1024, 797)
					terminal_attachment 	(843, 797)
					label      	(object SegLabel @145
					    Parent_View 	@144
					    location   	(888, 757)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.753488
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$41" @146
				location   	(2107, 773)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA412F0035"
				roleview_list 	(list RoleViews
				    (object RoleView "eParameterOrdering" @147
					Parent_View 	@146
					location   	(1819, 101)
					label      	(object SegLabel @148
					    Parent_View 	@147
					    location   	(2145, 647)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+eParameterOrdering"
					    pctDist    	0.183333
					    height     	127
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA41310255"
					client     	@146
					supplier   	@134
					line_style 	3
					origin_attachment 	(2107, 773)
					terminal_attachment 	(2316, 773)
					label      	(object SegLabel @149
					    Parent_View 	@147
					    location   	(2272, 822)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.796610
					    height     	49
					    orientation 	1)
					label      	(object SegLabel @150
					    Parent_View 	@147
					    location   	(2171, 888)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.306220
					    height     	115
					    orientation 	1))
				    (object RoleView "$UNNAMED$42" @151
					Parent_View 	@146
					location   	(1819, 101)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA4131025F"
					client     	@146
					supplier   	@138
					line_style 	3
					origin_attachment 	(2107, 773)
					terminal_attachment 	(1899, 773))))
			    (object AssociationViewNew "$UNNAMED$31" @152
				location   	(1702, 1504)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF331601A4"
				roleview_list 	(list RoleViews
				    (object RoleView "eFaults" @153
					Parent_View 	@152
					location   	(1414, 832)
					label      	(object SegLabel @154
					    Parent_View 	@153
					    location   	(1815, 1982)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eFaults"
					    pctDist    	0.878992
					    height     	113
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF33180387"
					client     	@152
					supplier   	@135
					line_style 	3
					origin_attachment 	(1702, 1504)
					terminal_attachment 	(1702, 2048)
					label      	(object SegLabel @155
					    Parent_View 	@153
					    location   	(1644, 2020)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.949580
					    height     	59
					    orientation 	1)
					label      	(object SegLabel @156
					    Parent_View 	@153
					    location   	(1593, 1963)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.845378
					    height     	110
					    orientation 	1))
				    (object RoleView "$UNNAMED$32" @157
					Parent_View 	@152
					location   	(1414, 832)
					label      	(object SegLabel @158
					    Parent_View 	@157
					    location   	(1661, 1069)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF33180388"
					client     	@152
					supplier   	@138
					line_style 	3
					origin_attachment 	(1702, 1504)
					terminal_attachment 	(1702, 960)
					label      	(object SegLabel @159
					    Parent_View 	@157
					    location   	(1821, 1039)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.857362
					    height     	119
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$27" @160
				location   	(1178, 1234)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2F94024D"
				roleview_list 	(list RoleViews
				    (object RoleView "eInput" @161
					Parent_View 	@160
					location   	(890, 562)
					label      	(object SegLabel @162
					    Parent_View 	@161
					    location   	(878, 1343)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+eInput"
					    pctDist    	0.819820
					    height     	103
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2F950190"
					client     	@160
					supplier   	@136
					vertices   	(list Points
					    (1178, 1234)
					    (980, 1234)
					    (980, 1410))
					line_style 	3
					origin_attachment 	(1178, 1234)
					terminal_attachment 	(980, 1410)
					label      	(object SegLabel @163
					    Parent_View 	@161
					    location   	(1046, 1364)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.877660
					    height     	66
					    orientation 	0))
				    (object RoleView "$UNNAMED$28" @164
					Parent_View 	@160
					location   	(890, 562)
					label      	(object SegLabel @165
					    Parent_View 	@164
					    location   	(1236, 1036)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2F95019A"
					client     	@160
					supplier   	@138
					vertices   	(list Points
					    (1178, 1234)
					    (1277, 1234)
					    (1277, 960))
					line_style 	3
					origin_attachment 	(1178, 1234)
					terminal_attachment 	(1277, 960)
					label      	(object SegLabel @166
					    Parent_View 	@164
					    location   	(1197, 1058)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.736413
					    height     	81
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$29" @167
				location   	(1468, 1345)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3ADF2FB802F9"
				roleview_list 	(list RoleViews
				    (object RoleView "eOutput" @168
					Parent_View 	@167
					location   	(1180, 673)
					label      	(object SegLabel @169
					    Parent_View 	@168
					    location   	(1362, 1669)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+eOutput"
					    pctDist    	0.840909
					    height     	107
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2FB9020A"
					client     	@167
					supplier   	@137
					line_style 	3
					origin_attachment 	(1468, 1345)
					terminal_attachment 	(1468, 1730)
					label      	(object SegLabel @170
					    Parent_View 	@168
					    location   	(1546, 1676)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.863636
					    height     	78
					    orientation 	0))
				    (object RoleView "$UNNAMED$30" @171
					Parent_View 	@167
					location   	(1180, 673)
					label      	(object SegLabel @172
					    Parent_View 	@171
					    location   	(1427, 1037)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3ADF2FB9020B"
					client     	@167
					supplier   	@138
					line_style 	3
					origin_attachment 	(1468, 1345)
					terminal_attachment 	(1468, 960)
					label      	(object SegLabel @173
					    Parent_View 	@171
					    location   	(1523, 1080)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.690341
					    height     	55
					    orientation 	1))))
			    (object InheritView "" @174
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FD8019F"
				client     	@133
				supplier   	@128
				line_style 	0)
			    (object InheritView "" @175
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FE20171"
				client     	@138
				supplier   	@129
				line_style 	0)
			    (object InheritView "" @176
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FEE031D"
				client     	@136
				supplier   	@130
				line_style 	0)
			    (object InheritView "" @177
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F1FF801CD"
				client     	@137
				supplier   	@131
				line_style 	0)
			    (object InheritView "" @178
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F2002002D"
				client     	@135
				supplier   	@132
				line_style 	0)
			    (object ClassView "Class" "Logical View::wsdl::Message" @179
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2224, 1456)
				label      	(object ItemLabel
				    Parent_View 	@179
				    location   	(1937, 1312)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	575
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	593
				height     	312
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::MessageReference" @180
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1520, 2544)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@180
				    location   	(1193, 2466)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	654
				    justify    	0
				    label      	"MessageReference")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3F6771DB02DC"
				width      	672
				height     	180
				annotation 	8)
			    (object InheritTreeView "" @181
				location   	(1524, 2275)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@180
				vertices   	(list Points
				    (1524, 2275)
				    (1524, 2454)))
			    (object InheritView "" @182
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67723D0319"
				client     	@135
				supplier   	@180
				line_style 	3
				origin_attachment 	(1776, 2176)
				terminal_attachment 	(1776, 2275)
				drawSupplier 	@181)
			    (object InheritView "" @183
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67723500DD"
				client     	@137
				supplier   	@180
				line_style 	3
				origin_attachment 	(1371, 1854)
				terminal_attachment 	(1371, 2275)
				drawSupplier 	@181)
			    (object InheritView "" @184
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F67722802E7"
				client     	@136
				supplier   	@180
				line_style 	3
				origin_attachment 	(980, 1534)
				terminal_attachment 	(980, 2275)
				drawSupplier 	@181)
			    (object AssociationViewNew "$UNNAMED$61" @185
				location   	(2206, 2259)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F74E78401B1"
				roleview_list 	(list RoleViews
				    (object RoleView "eMessage" @186
					Parent_View 	@185
					location   	(734, -285)
					label      	(object SegLabel @187
					    Parent_View 	@186
					    location   	(2068, 1670)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eMessage"
					    pctDist    	0.912230
					    height     	139
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F74E786000F"
					client     	@185
					supplier   	@179
					line_style 	3
					origin_attachment 	(2206, 2259)
					terminal_attachment 	(2206, 1612)
					label      	(object SegLabel @188
					    Parent_View 	@186
					    location   	(2260, 1678)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "$UNNAMED$62" @189
					Parent_View 	@185
					location   	(734, -285)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F74E7860023"
					client     	@185
					supplier   	@180
					vertices   	(list Points
					    (2206, 2259)
					    (2206, 2556)
					    (1856, 2556))
					line_style 	3
					origin_attachment 	(2206, 2259)
					terminal_attachment 	(1856, 2556))))))
		    (object ClassDiagram "2.1 Definitions"
			quid       	"3AD5E48A0262"
			title      	"2.1 Definitions"
			zoom       	83
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IDefinition" @190
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 192)
				label      	(object ItemLabel
				    Parent_View 	@190
				    location   	(88, 161)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	688
				    justify    	0
				    label      	"IDefinition")
				stereotype 	(object ItemLabel
				    Parent_View 	@190
				    location   	(88, 111)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	688
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B1D90142"
				width      	706
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Types" @191
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1824, 944)
				label      	(object ItemLabel
				    Parent_View 	@191
				    location   	(1686, 896)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	276
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				width      	294
				height     	120
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Import" @192
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 624)
				label      	(object ItemLabel
				    Parent_View 	@192
				    location   	(1910, 545)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"Import")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E4F903DE"
				width      	486
				height     	182
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Message" @193
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(2112, 1184)
				label      	(object ItemLabel
				    Parent_View 	@193
				    location   	(1900, 1056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::PortType" @194
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(1808, 1488)
				label      	(object ItemLabel
				    Parent_View 	@194
				    location   	(1596, 1360)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"PortType")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C7F001A5"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Binding" @195
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(2336, 1728)
				label      	(object ItemLabel
				    Parent_View 	@195
				    location   	(2124, 1600)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @196
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 240)
				label      	(object ItemLabel
				    Parent_View 	@196
				    location   	(1073, 39)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	510
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	528
				height     	426
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$53" @197
				location   	(1358, 860)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEA27029F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$54" @198
					Parent_View 	@197
					location   	(62, -36)
					label      	(object SegLabel @199
					    Parent_View 	@198
					    location   	(1317, 535)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA290356"
					client     	@197
					supplier   	@196
					line_style 	3
					origin_attachment 	(1358, 860)
					terminal_attachment 	(1358, 453)
					label      	(object SegLabel @200
					    Parent_View 	@198
					    location   	(1403, 511)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.856649
					    height     	45
					    orientation 	1))
				    (object RoleView "eTypes" @201
					Parent_View 	@197
					location   	(62, -36)
					label      	(object SegLabel @202
					    Parent_View 	@201
					    location   	(1586, 909)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	156
					    justify    	0
					    label      	"+eTypes"
					    pctDist    	0.779097
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA29036A"
					client     	@197
					supplier   	@191
					vertices   	(list Points
					    (1358, 860)
					    (1358, 948)
					    (1677, 948))
					line_style 	3
					origin_attachment 	(1358, 860)
					terminal_attachment 	(1677, 948)
					label      	(object SegLabel @203
					    Parent_View 	@201
					    location   	(1632, 987)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.892655
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$57" @204
				location   	(1612, 595)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C864DFF02EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$58" @205
					Parent_View 	@204
					location   	(12, 227)
					label      	(object SegLabel @206
					    Parent_View 	@205
					    location   	(1423, 512)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02EE"
					client     	@204
					supplier   	@196
					vertices   	(list Points
					    (1612, 595)
					    (1464, 595)
					    (1464, 453))
					line_style 	3
					origin_attachment 	(1612, 595)
					terminal_attachment 	(1464, 453)
					label      	(object SegLabel @207
					    Parent_View 	@205
					    location   	(1524, 495)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.858667
					    height     	60
					    orientation 	1))
				    (object RoleView "eImports" @208
					Parent_View 	@204
					location   	(12, 227)
					label      	(object SegLabel @209
					    Parent_View 	@208
					    location   	(1692, 557)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eImports"
					    pctDist    	0.280335
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02ED"
					client     	@204
					supplier   	@192
					line_style 	3
					origin_attachment 	(1612, 595)
					terminal_attachment 	(1901, 595)
					label      	(object SegLabel @210
					    Parent_View 	@208
					    location   	(1854, 652)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.841004
					    height     	57
					    orientation 	1)
					label      	(object SegLabel @211
					    Parent_View 	@208
					    location   	(1676, 646)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.225941
					    height     	51
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$13" @212
				location   	(1279, 1137)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E60301E2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$14" @213
					Parent_View 	@212
					location   	(271, 273)
					label      	(object SegLabel @214
					    Parent_View 	@213
					    location   	(1238, 591)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E60400B7"
					client     	@212
					supplier   	@196
					line_style 	3
					origin_attachment 	(1279, 1137)
					terminal_attachment 	(1279, 453)
					label      	(object SegLabel @215
					    Parent_View 	@213
					    location   	(1320, 586)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.804974
					    height     	41
					    orientation 	1))
				    (object RoleView "eMessages" @216
					Parent_View 	@212
					location   	(271, 273)
					label      	(object SegLabel @217
					    Parent_View 	@216
					    location   	(1647, 1171)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+eMessages"
					    pctDist    	0.643137
					    height     	38
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E60400C1"
					client     	@212
					supplier   	@193
					vertices   	(list Points
					    (1279, 1137)
					    (1279, 1208)
					    (1891, 1208))
					line_style 	3
					origin_attachment 	(1279, 1137)
					terminal_attachment 	(1891, 1208)
					label      	(object SegLabel @218
					    Parent_View 	@216
					    location   	(1821, 1171)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.899346
					    height     	38
					    orientation 	0)
					label      	(object SegLabel @219
					    Parent_View 	@216
					    location   	(1797, 1244)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.864407
					    height     	36
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$15" @220
				location   	(1212, 1159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E6710104"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$16" @221
					Parent_View 	@220
					location   	(-324, 215)
					label      	(object SegLabel @222
					    Parent_View 	@221
					    location   	(1171, 594)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E672034A"
					client     	@220
					supplier   	@196
					line_style 	3
					origin_attachment 	(1212, 1159)
					terminal_attachment 	(1212, 453)
					label      	(object SegLabel @223
					    Parent_View 	@221
					    location   	(1251, 624)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.757962
					    height     	39
					    orientation 	1))
				    (object RoleView "ePortTypes" @224
					Parent_View 	@220
					location   	(-324, 215)
					label      	(object SegLabel @225
					    Parent_View 	@224
					    location   	(1391, 1451)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+ePortTypes"
					    pctDist    	0.723698
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E6720354"
					client     	@220
					supplier   	@194
					vertices   	(list Points
					    (1212, 1159)
					    (1212, 1490)
					    (1587, 1490))
					line_style 	3
					origin_attachment 	(1212, 1159)
					terminal_attachment 	(1587, 1490)
					label      	(object SegLabel @226
					    Parent_View 	@224
					    location   	(1533, 1451)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.925611
					    height     	40
					    orientation 	0)
					label      	(object SegLabel @227
					    Parent_View 	@224
					    location   	(1512, 1540)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.895855
					    height     	50
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$17" @228
				location   	(1114, 1585)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E6770095"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$18" @229
					Parent_View 	@228
					location   	(-406, 241)
					label      	(object SegLabel @230
					    Parent_View 	@229
					    location   	(1073, 680)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E6780371"
					client     	@228
					supplier   	@196
					line_style 	3
					origin_attachment 	(1114, 1585)
					terminal_attachment 	(1114, 453)
					label      	(object SegLabel @231
					    Parent_View 	@229
					    location   	(1155, 752)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.736704
					    height     	41
					    orientation 	1))
				    (object RoleView "eBindings" @232
					Parent_View 	@228
					location   	(-406, 241)
					label      	(object SegLabel @233
					    Parent_View 	@232
					    location   	(1851, 1674)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eBindings"
					    pctDist    	0.766347
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E678037B"
					client     	@228
					supplier   	@195
					vertices   	(list Points
					    (1114, 1585)
					    (1114, 1716)
					    (2115, 1716))
					line_style 	3
					origin_attachment 	(1114, 1585)
					terminal_attachment 	(2115, 1716)
					label      	(object SegLabel @234
					    Parent_View 	@232
					    location   	(2053, 1677)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.945074
					    height     	40
					    orientation 	0)
					label      	(object SegLabel @235
					    Parent_View 	@232
					    location   	(2014, 1754)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.911072
					    height     	38
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::Service" @236
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				location   	(1840, 2048)
				label      	(object ItemLabel
				    Parent_View 	@236
				    location   	(1628, 1920)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				width      	442
				height     	280
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$19" @237
				location   	(1066, 1533)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5E67B0311"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$20" @238
					Parent_View 	@237
					location   	(-521, -111)
					label      	(object SegLabel @239
					    Parent_View 	@238
					    location   	(1025, 669)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E67D007F"
					client     	@237
					supplier   	@196
					line_style 	3
					origin_attachment 	(1066, 1533)
					terminal_attachment 	(1066, 453)
					label      	(object SegLabel @240
					    Parent_View 	@238
					    location   	(1109, 756)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.719697
					    height     	43
					    orientation 	1))
				    (object RoleView "eServices" @241
					Parent_View 	@237
					location   	(-521, -111)
					label      	(object SegLabel @242
					    Parent_View 	@241
					    location   	(1393, 2028)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eServices"
					    pctDist    	0.791824
					    height     	32
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5E67D0089"
					client     	@237
					supplier   	@236
					vertices   	(list Points
					    (1066, 1533)
					    (1066, 2059)
					    (1619, 2059))
					line_style 	3
					origin_attachment 	(1066, 1533)
					terminal_attachment 	(1619, 2059)
					label      	(object SegLabel @243
					    Parent_View 	@241
					    location   	(1554, 2031)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.940197
					    height     	29
					    orientation 	0)
					label      	(object SegLabel @244
					    Parent_View 	@241
					    location   	(1532, 2113)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	158
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.920515
					    height     	54
					    orientation 	1))))
			    (object InheritView "" @245
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84B1F80382"
				client     	@196
				supplier   	@190
				line_style 	3
				origin_attachment 	(1064, 263)
				terminal_attachment 	(785, 263))))
		    (object ClassDiagram "2.1.3 Extensibility"
			quid       	"3AD60C510192"
			title      	"2.1.3 Extensibility"
			zoom       	80
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::Binding" @246
				ShowCompartmentStereotypes 	TRUE
				location   	(576, 1584)
				label      	(object ItemLabel
				    Parent_View 	@246
				    location   	(494, 1531)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	164
				    justify    	0
				    label      	"Binding")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D2860261"
				width      	182
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Port" @247
				ShowCompartmentStereotypes 	TRUE
				location   	(1568, 1888)
				label      	(object ItemLabel
				    Parent_View 	@247
				    location   	(1487, 1836)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Port")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D9170286"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Service" @248
				ShowCompartmentStereotypes 	TRUE
				location   	(1424, 1728)
				label      	(object ItemLabel
				    Parent_View 	@248
				    location   	(1342, 1675)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	164
				    justify    	0
				    label      	"Service")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D8F002F8"
				width      	182
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingFault" @249
				ShowCompartmentStereotypes 	TRUE
				location   	(1216, 2336)
				label      	(object ItemLabel
				    Parent_View 	@249
				    location   	(1088, 2283)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"BindingFault")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A9E03A6"
				width      	274
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingOperation" @250
				ShowCompartmentStereotypes 	TRUE
				location   	(736, 1760)
				label      	(object ItemLabel
				    Parent_View 	@250
				    location   	(563, 1707)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	346
				    justify    	0
				    label      	"BindingOperation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5D3CB0145"
				width      	364
				height     	130
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IExtensibilityElement" @251
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 160)
				label      	(object ItemLabel
				    Parent_View 	@251
				    location   	(1495, 136)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	786
				    justify    	0
				    label      	"IExtensibilityElement")
				stereotype 	(object ItemLabel
				    Parent_View 	@251
				    location   	(1495, 86)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	786
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B12402AB"
				width      	804
				height     	172
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingInput" @252
				ShowCompartmentStereotypes 	TRUE
				location   	(928, 1952)
				label      	(object ItemLabel
				    Parent_View 	@252
				    location   	(800, 1899)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	256
				    justify    	0
				    label      	"BindingInput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8202D4"
				width      	274
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::BindingOutput" @253
				ShowCompartmentStereotypes 	TRUE
				location   	(1008, 2144)
				label      	(object ItemLabel
				    Parent_View 	@253
				    location   	(863, 2091)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	290
				    justify    	0
				    label      	"BindingOutput")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AE08A8F028C"
				width      	308
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @254
				ShowCompartmentStereotypes 	TRUE
				location   	(176, 1296)
				label      	(object ItemLabel
				    Parent_View 	@254
				    location   	(74, 1235)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	204
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	222
				height     	146
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Types" @255
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(416, 1408)
				label      	(object ItemLabel
				    Parent_View 	@255
				    location   	(335, 1356)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	162
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @256
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(480, 688)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@256
				    location   	(209, 580)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	542
				    justify    	0
				    label      	"ExtensibleElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5FCFA033A"
				width      	560
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @257
				location   	(480, 1039)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@256
				vertices   	(list Points
				    (480, 1039)
				    (480, 808)))
			    (object InheritView "" @258
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD600CB00AA"
				client     	@247
				supplier   	@256
				line_style 	3
				origin_attachment 	(1566, 1824)
				terminal_attachment 	(1566, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @259
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85B5A4027E"
				client     	@253
				supplier   	@256
				line_style 	3
				origin_attachment 	(1097, 2079)
				terminal_attachment 	(1097, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @260
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AE0938602C9"
				client     	@249
				supplier   	@256
				line_style 	3
				origin_attachment 	(1219, 2271)
				terminal_attachment 	(1219, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @261
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B85B59B0072"
				client     	@252
				supplier   	@256
				line_style 	3
				origin_attachment 	(988, 1887)
				terminal_attachment 	(988, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @262
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD6009202F7"
				client     	@250
				supplier   	@256
				line_style 	3
				origin_attachment 	(797, 1695)
				terminal_attachment 	(797, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @263
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FA0F02F0"
				client     	@246
				supplier   	@256
				line_style 	3
				origin_attachment 	(601, 1519)
				terminal_attachment 	(601, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @264
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FDB803D4"
				client     	@254
				supplier   	@256
				line_style 	3
				origin_attachment 	(211, 1223)
				terminal_attachment 	(211, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @265
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEB010311"
				client     	@255
				supplier   	@256
				line_style 	3
				origin_attachment 	(414, 1344)
				terminal_attachment 	(414, 1039)
				drawSupplier 	@257)
			    (object InheritView "" @266
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FA20025E"
				client     	@248
				supplier   	@256
				line_style 	3
				origin_attachment 	(1429, 1663)
				terminal_attachment 	(1429, 1039)
				drawSupplier 	@257)
			    (object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @267
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 688)
				label      	(object ItemLabel
				    Parent_View 	@267
				    location   	(1632, 583)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	545
				    justify    	0
				    label      	"ExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5DBB602A9"
				width      	563
				height     	234
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$21" @268
				location   	(1191, 672)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FD130079"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$22" @269
					Parent_View 	@268
					location   	(23, 560)
					label      	(object SegLabel @270
					    Parent_View 	@269
					    location   	(847, 631)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019E"
					client     	@268
					supplier   	@256
					line_style 	3
					origin_attachment 	(1191, 672)
					terminal_attachment 	(760, 672)
					label      	(object SegLabel @271
					    Parent_View 	@269
					    location   	(830, 628)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.839695
					    height     	45
					    orientation 	1))
				    (object RoleView "eExtensibilityElements" @272
					Parent_View 	@268
					location   	(23, 560)
					label      	(object SegLabel @273
					    Parent_View 	@272
					    location   	(1355, 522)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	"+eExtensibilityElements"
					    pctDist    	0.379070
					    height     	151
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019D"
					client     	@268
					supplier   	@267
					line_style 	3
					origin_attachment 	(1191, 672)
					terminal_attachment 	(1623, 672)
					label      	(object SegLabel @274
					    Parent_View 	@272
					    location   	(1496, 627)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.709402
					    height     	46
					    orientation 	0)
					label      	(object SegLabel @275
					    Parent_View 	@272
					    location   	(1463, 764)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	164
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.632479
					    height     	92
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::WSDLElement" @276
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(1008, 192)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@276
				    location   	(630, 84)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	756
				    justify    	0
				    label      	"WSDLElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C6A302DD"
				width      	774
				height     	240
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @277
				location   	(1008, 402)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@276
				vertices   	(list Points
				    (1008, 402)
				    (1008, 312)))
			    (object InheritView "" @278
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FE3C03D4"
				client     	@256
				supplier   	@276
				line_style 	3
				origin_attachment 	(492, 568)
				terminal_attachment 	(492, 402)
				drawSupplier 	@277)
			    (object InheritView "" @279
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84B14903D0"
				client     	@267
				supplier   	@251
				line_style 	3
				origin_attachment 	(2015, 571)
				terminal_attachment 	(2015, 246))
			    (object InheritView "" @280
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BDDF53502C3"
				client     	@267
				supplier   	@276
				line_style 	3
				origin_attachment 	(1762, 571)
				terminal_attachment 	(1762, 402)
				drawSupplier 	@277)
			    (object ClassView "Class" "Logical View::wsdl::UnknownExtensibilityElement" @281
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2016, 1360)
				label      	(object ItemLabel
				    Parent_View 	@281
				    location   	(1731, 1307)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	570
				    justify    	0
				    label      	"UnknownExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CB24AC002AE"
				width      	588
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @282
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CB24AEC01CB"
				client     	@281
				supplier   	@267
				line_style 	3
				origin_attachment 	(1796, 1295)
				terminal_attachment 	(1796, 805))
			    (object AssociationViewNew "$UNNAMED$63" @283
				location   	(2311, 1686)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F7896A2026E"
				roleview_list 	(list RoleViews
				    (object RoleView "parent" @284
					Parent_View 	@283
					location   	(279, 294)
					label      	(object SegLabel @285
					    Parent_View 	@284
					    location   	(2422, 1333)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+parent"
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F7896A7012B"
					client     	@283
					supplier   	@281
					vertices   	(list Points
					    (2311, 1686)
					    (2432, 1686)
					    (2432, 1374)
					    (2310, 1374))
					line_style 	3
					origin_attachment 	(2311, 1686)
					terminal_attachment 	(2310, 1374)
					label      	(object SegLabel @286
					    Parent_View 	@284
					    location   	(2366, 1428)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	0))
				    (object RoleView "children" @287
					Parent_View 	@283
					location   	(279, 294)
					label      	(object SegLabel @288
					    Parent_View 	@287
					    location   	(1899, 1537)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+children"
					    pctDist    	0.798561
					    height     	118
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3F7896A7012C"
					client     	@283
					supplier   	@281
					vertices   	(list Points
					    (2311, 1686)
					    (2016, 1686)
					    (2016, 1425))
					line_style 	3
					origin_attachment 	(2311, 1686)
					terminal_attachment 	(2016, 1425)
					label      	(object SegLabel @289
					    Parent_View 	@287
					    location   	(2070, 1481)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))))))
		    (object ClassDiagram "2.1.1 Naming and Linking"
			quid       	"3AE8ED7201BD"
			title      	"2.1.1 Naming and Linking"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IImport" @290
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1712, 224)
				label      	(object ItemLabel
				    Parent_View 	@290
				    location   	(1422, 177)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	580
				    justify    	0
				    label      	"IImport")
				stereotype 	(object ItemLabel
				    Parent_View 	@290
				    location   	(1422, 127)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	580
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84B2020119"
				width      	598
				height     	218
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Namespace" @291
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 1136)
				label      	(object ItemLabel
				    Parent_View 	@291
				    location   	(202, 1041)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	461
				    justify    	0
				    label      	"Namespace")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AEA3CD30030"
				width      	479
				height     	215
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @292
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1632, 1216)
				label      	(object ItemLabel
				    Parent_View 	@292
				    location   	(1294, 1142)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	676
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	694
				height     	173
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @293
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(400, 384)
				label      	(object ItemLabel
				    Parent_View 	@293
				    location   	(164, 236)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	490
				height     	320
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$37" @294
				location   	(309, 786)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA3D55002D"
				roleview_list 	(list RoleViews
				    (object RoleView "eNamespaces" @295
					Parent_View 	@294
					location   	(-91, 258)
					label      	(object SegLabel @296
					    Parent_View 	@295
					    location   	(461, 956)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+eNamespaces"
					    pctDist    	0.698842
					    height     	152
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3D560332"
					client     	@294
					supplier   	@291
					line_style 	3
					origin_attachment 	(309, 786)
					terminal_attachment 	(309, 1029)
					label      	(object SegLabel @297
					    Parent_View 	@295
					    location   	(248, 973)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.768707
					    height     	62
					    orientation 	1)
					label      	(object SegLabel @298
					    Parent_View 	@295
					    location   	(228, 913)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.525097
					    height     	82
					    orientation 	1))
				    (object RoleView "$UNNAMED$38" @299
					Parent_View 	@294
					location   	(-91, 258)
					label      	(object SegLabel @300
					    Parent_View 	@299
					    location   	(268, 592)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3D560328"
					client     	@294
					supplier   	@293
					line_style 	3
					origin_attachment 	(309, 786)
					terminal_attachment 	(309, 544)
					label      	(object SegLabel @301
					    Parent_View 	@299
					    location   	(239, 583)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.844961
					    height     	71
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::wsdl::Import" @302
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1472, 720)
				label      	(object ItemLabel
				    Parent_View 	@302
				    location   	(1255, 580)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	434
				    justify    	0
				    label      	"Import")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E4F903DE"
				width      	452
				height     	304
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$51" @303
				location   	(1486, 1001)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1DCC02E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eSchema" @304
					Parent_View 	@303
					location   	(510, -103)
					label      	(object SegLabel @305
					    Parent_View 	@304
					    location   	(1737, 1018)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+eSchema"
					    pctDist    	0.592593
					    height     	105
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1DCE0270"
					client     	@303
					supplier   	@292
					vertices   	(list Points
					    (1486, 1001)
					    (1632, 1001)
					    (1632, 1130))
					line_style 	3
					origin_attachment 	(1486, 1001)
					terminal_attachment 	(1632, 1130)
					label      	(object SegLabel @306
					    Parent_View 	@304
					    location   	(1563, 1018)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.592593
					    height     	70
					    orientation 	1))
				    (object RoleView "$UNNAMED$52" @307
					Parent_View 	@303
					location   	(510, -103)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1DCE027A"
					client     	@303
					supplier   	@302
					line_style 	3
					origin_attachment 	(1486, 1000)
					terminal_attachment 	(1486, 872))))
			    (object AssociationViewNew "$UNNAMED$39" @308
				location   	(1087, 403)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AEA3E3A002D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$40" @309
					Parent_View 	@308
					location   	(687, -125)
					label      	(object SegLabel @310
					    Parent_View 	@309
					    location   	(1406, 480)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3E3C01F2"
					client     	@308
					supplier   	@302
					vertices   	(list Points
					    (1087, 403)
					    (1364, 403)
					    (1364, 568))
					line_style 	3
					origin_attachment 	(1087, 403)
					terminal_attachment 	(1364, 568))
				    (object RoleView "eDefinition" @311
					Parent_View 	@308
					location   	(687, -125)
					label      	(object SegLabel @312
					    Parent_View 	@311
					    location   	(805, 363)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eDefinition"
					    pctDist    	0.637532
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AEA3E3C01E8"
					client     	@308
					supplier   	@293
					line_style 	3
					origin_attachment 	(1087, 403)
					terminal_attachment 	(645, 403)
					label      	(object SegLabel @313
					    Parent_View 	@311
					    location   	(727, 456)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.814910
					    height     	53
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$57" @314
				location   	(737, 826)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C864DFF02EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$58" @315
					Parent_View 	@314
					location   	(-671, 106)
					label      	(object SegLabel @316
					    Parent_View 	@315
					    location   	(552, 647)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02EE"
					client     	@314
					supplier   	@293
					vertices   	(list Points
					    (737, 826)
					    (510, 826)
					    (510, 544))
					line_style 	3
					origin_attachment 	(737, 826)
					terminal_attachment 	(510, 544)
					label      	(object SegLabel @317
					    Parent_View 	@315
					    location   	(457, 595)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	0))
				    (object RoleView "eImports" @318
					Parent_View 	@314
					location   	(-671, 106)
					label      	(object SegLabel @319
					    Parent_View 	@318
					    location   	(1144, 773)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+eImports"
					    pctDist    	0.799189
					    height     	54
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C864DFF02ED"
					client     	@314
					supplier   	@302
					line_style 	3
					origin_attachment 	(737, 826)
					terminal_attachment 	(1246, 826)
					label      	(object SegLabel @320
					    Parent_View 	@318
					    location   	(1180, 879)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.872211
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @321
					    Parent_View 	@318
					    location   	(1162, 933)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.837728
					    height     	107
					    orientation 	1))))
			    (object InheritView "" @322
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3F6F200D0340"
				client     	@302
				supplier   	@290
				line_style 	3
				origin_attachment 	(1555, 568)
				terminal_attachment 	(1555, 333))))
		    (object ClassDiagram "2.2 Types"
			quid       	"3B85AE59037E"
			title      	"2.2 Types"
			zoom       	90
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	81
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @323
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1136, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@323
				    location   	(895, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	482
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ECD302A9"
				width      	500
				height     	174
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @324
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1136, 1600)
				label      	(object ItemLabel
				    Parent_View 	@324
				    location   	(906, 1531)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	478
				height     	162
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Message" @325
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1280, 1968)
				label      	(object ItemLabel
				    Parent_View 	@325
				    location   	(1022, 1828)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	517
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	535
				height     	305
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Part" @326
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1184)
				label      	(object ItemLabel
				    Parent_View 	@326
				    location   	(128, 1067)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	448
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	466
				height     	258
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$47" @327
				location   	(735, 1172)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1BE900C4"
				roleview_list 	(list RoleViews
				    (object RoleView "typeDefinition" @328
					Parent_View 	@327
					location   	(143, 676)
					label      	(object SegLabel @329
					    Parent_View 	@328
					    location   	(775, 1133)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	0.269006
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1BE90327"
					client     	@327
					supplier   	@323
					line_style 	3
					origin_attachment 	(735, 1172)
					terminal_attachment 	(886, 1172)
					label      	(object SegLabel @330
					    Parent_View 	@328
					    location   	(839, 1207)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.688705
					    height     	35
					    orientation 	1))
				    (object RoleView "$UNNAMED$48" @331
					Parent_View 	@327
					location   	(143, 676)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1BE90331"
					client     	@327
					supplier   	@326
					line_style 	3
					origin_attachment 	(735, 1172)
					terminal_attachment 	(585, 1172))))
			    (object AssociationViewNew "$UNNAMED$49" @332
				location   	(527, 1592)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8B1C1203B2"
				roleview_list 	(list RoleViews
				    (object RoleView "elementDeclaration" @333
					Parent_View 	@332
					location   	(-65, 1096)
					label      	(object SegLabel @334
					    Parent_View 	@333
					    location   	(666, 1554)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+elementDeclaration"
					    pctDist    	0.375394
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1C14001C"
					client     	@332
					supplier   	@324
					line_style 	3
					origin_attachment 	(527, 1592)
					terminal_attachment 	(897, 1592)
					label      	(object SegLabel @335
					    Parent_View 	@333
					    location   	(807, 1645)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.755877
					    height     	53
					    orientation 	1))
				    (object RoleView "$UNNAMED$50" @336
					Parent_View 	@332
					location   	(-65, 1096)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8B1C140026"
					client     	@332
					supplier   	@326
					vertices   	(list Points
					    (527, 1592)
					    (437, 1592)
					    (437, 1313))
					line_style 	3
					origin_attachment 	(527, 1592)
					terminal_attachment 	(437, 1313))))
			    (object AssociationViewNew "$UNNAMED$55" @337
				location   	(322, 1911)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C46829303E5"
				roleview_list 	(list RoleViews
				    (object RoleView "eMessage" @338
					Parent_View 	@337
					location   	(-14, 1191)
					label      	(object SegLabel @339
					    Parent_View 	@338
					    location   	(838, 1872)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+eMessage"
					    pctDist    	0.748560
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C468296010E"
					client     	@337
					supplier   	@325
					line_style 	3
					origin_attachment 	(322, 1911)
					terminal_attachment 	(1013, 1911)
					label      	(object SegLabel @340
					    Parent_View 	@338
					    location   	(943, 1965)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))
				    (object RoleView "$UNNAMED$56" @341
					Parent_View 	@337
					location   	(-14, 1191)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C4682960118"
					client     	@337
					supplier   	@326
					vertices   	(list Points
					    (322, 1911)
					    (229, 1911)
					    (229, 1313))
					line_style 	3
					origin_attachment 	(322, 1911)
					terminal_attachment 	(229, 1313))))
			    (object ClassView "Class" "Logical View::wsdl::Types" @342
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 608)
				label      	(object ItemLabel
				    Parent_View 	@342
				    location   	(615, 512)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	371
				    justify    	0
				    label      	"Types")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B8BE9A603A8"
				width      	389
				height     	216
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::Definition" @343
				ShowCompartmentStereotypes 	TRUE
				location   	(176, 160)
				label      	(object ItemLabel
				    Parent_View 	@343
				    location   	(74, 107)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	204
				    justify    	0
				    label      	"Definition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5E43F008E"
				width      	222
				height     	130
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$53" @344
				location   	(234, 604)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEA27029F"
				roleview_list 	(list RoleViews
				    (object RoleView "eTypes" @345
					Parent_View 	@344
					location   	(-150, 396)
					label      	(object SegLabel @346
					    Parent_View 	@345
					    location   	(480, 640)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	207
					    justify    	0
					    label      	"+eTypes"
					    pctDist    	0.661017
					    height     	36
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA29036A"
					client     	@344
					supplier   	@342
					line_style 	3
					origin_attachment 	(234, 604)
					terminal_attachment 	(606, 604)
					label      	(object SegLabel @347
					    Parent_View 	@345
					    location   	(526, 569)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.783883
					    height     	36
					    orientation 	0))
				    (object RoleView "$UNNAMED$54" @348
					Parent_View 	@344
					location   	(-150, 396)
					label      	(object SegLabel @349
					    Parent_View 	@348
					    location   	(133, 313)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B8BEA290356"
					client     	@344
					supplier   	@343
					vertices   	(list Points
					    (234, 604)
					    (174, 604)
					    (174, 225))
					line_style 	3
					origin_attachment 	(234, 604)
					terminal_attachment 	(174, 225)
					label      	(object SegLabel @350
					    Parent_View 	@348
					    location   	(228, 271)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.897729
					    height     	54
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::wsdl::ITypes" @351
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 224)
				label      	(object ItemLabel
				    Parent_View 	@351
				    location   	(525, 203)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	230
				    justify    	0
				    label      	"ITypes")
				stereotype 	(object ItemLabel
				    Parent_View 	@351
				    location   	(525, 153)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	230
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CADCBB20050"
				width      	248
				height     	166
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::XSDSchemaExtensibilityElement" @352
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1728, 800)
				label      	(object ItemLabel
				    Parent_View 	@352
				    location   	(1359, 753)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	739
				    justify    	0
				    label      	"XSDSchemaExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3CC360D7039C"
				width      	757
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @353
				ShowCompartmentStereotypes 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 1216)
				label      	(object ItemLabel
				    Parent_View 	@353
				    location   	(1529, 1103)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	655
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	673
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$59" @354
				location   	(1826, 975)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CC3614500F2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$60" @355
					Parent_View 	@354
					location   	(306, 447)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3CC36146023D"
					client     	@354
					supplier   	@352
					line_style 	3
					origin_attachment 	(1826, 975)
					terminal_attachment 	(1826, 859)
					label      	(object SegLabel @356
					    Parent_View 	@355
					    location   	(1774, 900)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.656489
					    height     	53
					    orientation 	0))
				    (object RoleView "schema" @357
					Parent_View 	@354
					location   	(306, 447)
					label      	(object SegLabel @358
					    Parent_View 	@357
					    location   	(2006, 1033)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+schema"
					    pctDist    	0.507576
					    height     	180
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3CC36146023E"
					client     	@354
					supplier   	@353
					line_style 	3
					origin_attachment 	(1826, 975)
					terminal_attachment 	(1826, 1091)
					label      	(object SegLabel @359
					    Parent_View 	@357
					    location   	(1788, 1050)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.651515
					    height     	39
					    orientation 	1))))
			    (object InheritView "" @360
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CADCD3B0380"
				client     	@342
				supplier   	@351
				line_style 	3
				origin_attachment 	(705, 500)
				terminal_attachment 	(705, 307))
			    (object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @361
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1056, 224)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@361
				    location   	(815, 130)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	482
				    justify    	0
				    label      	"ExtensibleElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5FCFA033A"
				width      	500
				height     	212
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @362
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B8BEB010311"
				client     	@342
				supplier   	@361
				line_style 	3
				origin_attachment 	(854, 500)
				terminal_attachment 	(854, 330))
			    (object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @363
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				location   	(1824, 464)
				label      	(object ItemLabel
				    Parent_View 	@363
				    location   	(1490, 368)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	669
				    justify    	0
				    label      	"ExtensibilityElement")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5DBB602A9"
				width      	687
				height     	216
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$21" @364
				location   	(1206, 493)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5FD130079"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$22" @365
					Parent_View 	@364
					location   	(-586, 237)
					label      	(object SegLabel @366
					    Parent_View 	@365
					    location   	(1136, 386)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019E"
					client     	@364
					supplier   	@361
					vertices   	(list Points
					    (1206, 493)
					    (1094, 493)
					    (1094, 330))
					line_style 	3
					origin_attachment 	(1206, 493)
					terminal_attachment 	(1094, 330)
					label      	(object SegLabel @367
					    Parent_View 	@365
					    location   	(1042, 377)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.828326
					    height     	53
					    orientation 	0))
				    (object RoleView "eExtensibilityElements" @368
					Parent_View 	@364
					location   	(-586, 237)
					label      	(object SegLabel @369
					    Parent_View 	@368
					    location   	(1196, 454)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	444
					    justify    	0
					    label      	"+eExtensibilityElements"
					    pctDist    	-0.039711
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5FD14019D"
					client     	@364
					supplier   	@363
					line_style 	3
					origin_attachment 	(1206, 493)
					terminal_attachment 	(1481, 493)
					label      	(object SegLabel @370
					    Parent_View 	@368
					    location   	(1415, 546)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.764957
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @371
					    Parent_View 	@368
					    location   	(1396, 392)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	146
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.694915
					    height     	102
					    orientation 	0))))
			    (object InheritView "" @372
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3CC3627F00B7"
				client     	@352
				supplier   	@363
				line_style 	3
				origin_attachment 	(1812, 741)
				terminal_attachment 	(1812, 572))))
		    (object ClassDiagram "2.3 Messages"
			quid       	"3BCE853D02C8"
			title      	"2.3 Messages"
			zoom       	85
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::wsdl::IMessage" @373
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 224)
				label      	(object ItemLabel
				    Parent_View 	@373
				    location   	(267, 122)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"IMessage")
				stereotype 	(object ItemLabel
				    Parent_View 	@373
				    location   	(267, 72)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A8AF004F"
				width      	380
				height     	328
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::wsdl::IPart" @374
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 224)
				label      	(object ItemLabel
				    Parent_View 	@374
				    location   	(1029, 124)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	599
				    justify    	0
				    label      	"IPart")
				stereotype 	(object ItemLabel
				    Parent_View 	@374
				    location   	(1029, 74)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	599
				    justify    	0
				    label      	"<<Interface>>")
				icon       	"Interface"
				icon_style 	"Label"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B84A93F01BE"
				width      	617
				height     	324
				annotation 	8)
			    (object ClassView "Class" "Logical View::wsdl::Part" @375
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 816)
				label      	(object ItemLabel
				    Parent_View 	@375
				    location   	(1075, 690)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"Part")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5CE1C032E"
				width      	492
				height     	276
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @376
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84A96D02F1"
				client     	@375
				supplier   	@374
				line_style 	3
				origin_attachment 	(1304, 678)
				terminal_attachment 	(1304, 386))
			    (object ClassView "Class" "Logical View::wsdl::Message" @377
				ShowCompartmentStereotypes 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 656)
				label      	(object ItemLabel
				    Parent_View 	@377
				    location   	(241, 507)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	414
				    justify    	0
				    label      	"Message")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3AD5C9590078"
				width      	432
				height     	322
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @378
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B84A8D102BA"
				client     	@377
				supplier   	@373
				line_style 	3
				origin_attachment 	(445, 495)
				terminal_attachment 	(445, 388))
			    (object AssociationViewNew "$UNNAMED$1" @379
				location   	(688, 952)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3AD5CEBE00E2"
				roleview_list 	(list RoleViews
				    (object RoleView "eParts" @380
					Parent_View 	@379
					location   	(176, 328)
					label      	(object SegLabel @381
					    Parent_View 	@380
					    location   	(952, 897)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	144
					    justify    	0
					    label      	"+eParts"
					    pctDist    	0.697452
					    height     	56
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5CEBF0061"
					client     	@379
					supplier   	@375
					line_style 	3
					origin_attachment 	(688, 952)
					terminal_attachment 	(1066, 952)
					label      	(object SegLabel @382
					    Parent_View 	@380
					    location   	(987, 1005)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.789809
					    height     	53
					    orientation 	1)
					label      	(object SegLabel @383
					    Parent_View 	@380
					    location   	(967, 1061)
					    anchor     	3
					    anchor_loc 	1
					    nlines     	1
					    max_width  	154
					    justify    	0
					    label      	"{ordered}"
					    pctDist    	0.742038
					    height     	109
					    orientation 	1))
				    (object RoleView "$UNNAMED$2" @384
					Parent_View 	@379
					location   	(176, 328)
					label      	(object SegLabel @385
					    Parent_View 	@384
					    location   	(404, 893)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3AD5CEBF0057"
					client     	@379
					supplier   	@377
					vertices   	(list Points
					    (688, 952)
					    (445, 952)
					    (445, 817))
					line_style 	3
					origin_attachment 	(688, 952)
					terminal_attachment 	(445, 817)
					label      	(object SegLabel @386
					    Parent_View 	@384
					    location   	(393, 912)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..1"
					    pctDist    	0.747604
					    height     	53
					    orientation 	0))))))))
	    (object Class_Category "xsd"
		attributes 	(list Attribute_Set
		    (object Attribute
			tool       	"Ecore"
			name       	"prefix"
			value      	"XSD")
		    (object Attribute
			tool       	"Ecore"
			name       	"basePackage"
			value      	"org.eclipse")
		    (object Attribute
			tool       	"Ecore"
			name       	"nsPrefix"
			value      	"xsd")
		    (object Attribute
			tool       	"Ecore"
			name       	"nsURI"
			value      	"http://www.eclipse.org/xsd/2002/XSD"))
		quid       	"39ABDC6F01AA"
		exportControl 	"Public"
		logical_models 	(list unit_reference_list
		    (object Class "XSDAnnotation"
			quid       	"3B66EDC80233"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69E1770116"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029")
			    (object Inheritance_Relationship
				quid       	"3B7FD4E20366"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "applicationInformation"
				quid       	"3BBF7EBF02C8"
				stereotype 	"0..*"
				type       	"DOMElement"
				exportControl 	"Public")
			    (object ClassAttribute "userInformation"
				quid       	"3BBF7EEA0157"
				stereotype 	"0..*"
				type       	"DOMElement"
				exportControl 	"Public")
			    (object ClassAttribute "attributes"
				quid       	"3BBF7F0501E2"
				stereotype 	"0..*"
				type       	"DOMAttr"
				exportControl 	"Public")))
		    (object Class "XSDAttributeDeclaration"
			quid       	"3B66ED2E0192"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69B7DC0193"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")
			    (object Inheritance_Relationship
				quid       	"3B688E6103BE"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "attributeDeclarationReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C287F5202B4"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDAttributeGroupContent"
			quid       	"3B6940200089"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B72D8E200EA"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDAttributeGroupDefinition"
			quid       	"3B66ED840290"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69403A0221"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089")
			    (object Inheritance_Relationship
				quid       	"3B6AE2EB02A8"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B7FCAC800D2"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "attributeGroupDefinitionReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C287F7B0386"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDAttributeUse"
			quid       	"3B68354601A8"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B72D737038F"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089")
			    (object Inheritance_Relationship
				quid       	"3B72D7BB0349"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "required"
				quid       	"3B69CCF3027D"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "value"
				quid       	"3B69CDDB03B7"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "constraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CDE002D8"
				type       	"XSDConstraint"
				exportControl 	"Public")
			    (object ClassAttribute "use"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA7B0220382"
				type       	"XSDAttributeUseCategory"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalValue"
				quid       	"3C2719D90341"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDBoundedFacet"
			quid       	"3B6C751D0344"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C763C0224"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C752A00CC"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDCardinalityFacet"
			quid       	"3B6C755D03D2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C764F0131"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C756C0153"
				type       	"XSDCardinality"
				exportControl 	"Public")))
		    (object Class "XSDComplexTypeContent"
			quid       	"3B683BA00196"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848B80286"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			abstract   	TRUE)
		    (object Class "XSDComplexTypeDefinition"
			quid       	"3B682B82031A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69BAA20310"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2")
			    (object Inheritance_Relationship
				quid       	"3BA0D01901F1"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "derivationMethod"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C6E4020E"
				type       	"XSDDerivationMethod"
				initv      	"restriction"
				exportControl 	"Public")
			    (object ClassAttribute "final"
				quid       	"3B69C71D026A"
				stereotype 	"0..*"
				type       	"XSDComplexFinal"
				exportControl 	"Public")
			    (object ClassAttribute "abstract"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C73800C5"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "contentTypeCategory"
				quid       	"3B69CA4202B8"
				type       	"XSDContentTypeCategory"
				exportControl 	"Public")
			    (object ClassAttribute "prohibitedSubstitutions"
				quid       	"3B69CB8A03E6"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F618014D"
				stereotype 	"0..*"
				type       	"XSDComplexFinal"
				exportControl 	"Public")
			    (object ClassAttribute "block"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0FB97006E"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "mixed"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3C31AF5E03A6"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDComponent"
			quid       	"3B6846E90029"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3BA0CEA903D2"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDConcreteComponent"
			quid       	"3B6AD7B40065"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "element"
				quid       	"3B6ADDB501A5"
				type       	"DOMElement"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDConstrainingFacet"
			quid       	"3B6C6B340093"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C800394"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"))
			abstract   	TRUE)
		    (object Class "XSDDiagnostic"
			quid       	"3BFE5F910046"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3D4C0F4C01A1"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "severity"
				quid       	"3BFE691C005D"
				type       	"XSDDiagnosticSeverity"
				exportControl 	"Public")
			    (object ClassAttribute "message"
				quid       	"3BFE5FDD0280"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "locationURI"
				quid       	"3C063743016B"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "line"
				quid       	"3BFE607E0213"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "column"
				quid       	"3BFE611E0296"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "node"
				quid       	"3C016B6B0200"
				type       	"DOMNode"
				exportControl 	"Public")
			    (object ClassAttribute "annotationURI"
				quid       	"3C06374F0186"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDElementDeclaration"
			quid       	"3B66ED580214"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B69EDEE01BF"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")
			    (object Inheritance_Relationship
				quid       	"3B685F17002E"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174")
			    (object Inheritance_Relationship
				quid       	"3B688E660339"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "nillable"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69BFB4029F"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "disallowedSubstitutions"
				quid       	"3B69C4680368"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "substitutionGroupExclusions"
				quid       	"3B69C4A003B9"
				stereotype 	"0..*"
				type       	"XSDSubstitutionGroupExclusions"
				exportControl 	"Public")
			    (object ClassAttribute "abstract"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69C4E0000E"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0D14C00B2"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "block"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0D16801C1"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "elementDeclarationReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C289F6203CF"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "circular"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C34DCB00018"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDEnumerationFacet"
			quid       	"3B6C6ACE0141"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C9D03C7"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7C640054"
				stereotype 	"0..*"
				type       	"Value"
				exportControl 	"Public")))
		    (object Class "XSDFacet"
			quid       	"3B6C359403D2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6D25680259"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "lexicalValue"
				quid       	"3B6C73740253"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "facetName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C289FB401EC"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "effectiveValue"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28AAE303B6"
				type       	"Value"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFeature"
			quid       	"3B69B537026C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C290A2C0307"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B69BF81020F"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "constraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69BF8800C5"
				type       	"XSDConstraint"
				exportControl 	"Public")
			    (object ClassAttribute "form"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F902B033E"
				type       	"XSDForm"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalValue"
				quid       	"3C271A1B016F"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "global"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A0070372"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "featureReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A0440185"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFixedFacet"
			quid       	"3B6C699E00C1"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C8801B4"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "fixed"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B6C6A600201"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDFractionDigitsFacet"
			quid       	"3B6C79BE02EE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B990016"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C79D2008A"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDFundamentalFacet"
			quid       	"3B6C69E801D6"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C7B0396"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"))
			abstract   	TRUE)
		    (object Class "XSDIdentityConstraintDefinition"
			quid       	"3B682B2603A2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684AA30242"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "identityConstraintCategory"
				quid       	"3B69D1C70143"
				type       	"XSDIdentityConstraintCategory"
				exportControl 	"Public")))
		    (object Class "XSDImport"
			quid       	"3B688C93017F"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8D9003E"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespace"
				quid       	"3B6ADB15036C"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDInclude"
			quid       	"3B688C7D0250"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8DC0381"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE")))
		    (object Class "XSDLengthFacet"
			quid       	"3B6C776200E7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C778002DF"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C776C004B"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDMaxExclusiveFacet"
			quid       	"3B6C789600C2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B8E0309"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E")))
		    (object Class "XSDMaxFacet"
			quid       	"3C0A1CEB010E"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C0A1D3103AD"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3C0A1EE201F7"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "inclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A174027D"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "exclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1930354"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDMaxInclusiveFacet"
			quid       	"3B6C787D00DA"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B8303B8"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E")))
		    (object Class "XSDMaxLengthFacet"
			quid       	"3B6C77C70146"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B7D00FC"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C77DA00F3"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDMinExclusiveFacet"
			quid       	"3B6C792D000A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B590281"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C")))
		    (object Class "XSDMinFacet"
			quid       	"3C0A1CDE037C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C0A1D240098"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3C0A1ED10398"
				type       	"Value"
				exportControl 	"Public")
			    (object ClassAttribute "inclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1A2008E"
				type       	"boolean"
				exportControl 	"Public")
			    (object ClassAttribute "exclusive"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1BE03E2"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDMinInclusiveFacet"
			quid       	"3B6C788702C9"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B520353"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C")))
		    (object Class "XSDMinLengthFacet"
			quid       	"3B6C778C0065"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C77C400C0"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7799015E"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDModelGroup"
			quid       	"3B6834E00291"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A640279"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "compositor"
				quid       	"3B69CF1D01CF"
				type       	"XSDCompositor"
				exportControl 	"Public")))
		    (object Class "XSDModelGroupDefinition"
			quid       	"3B66ED9A0205"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2E20381"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B6BD2550385"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6")
			    (object Inheritance_Relationship
				quid       	"3B7FCAC40090"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "modelGroupDefinitionReference"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A1F602E8"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDNamedComponent"
			quid       	"3B6846D303A4"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3BA0CEA20197"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "name"
				quid       	"3B6847000142"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "targetNamespace"
				quid       	"3B684704031E"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "aliasName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A57F0127"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "uRI"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A58700E2"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "aliasURI"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A5AA02AF"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "qName"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C290963025E"
				type       	"String"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDNotationDeclaration"
			quid       	"3B66EDAA021C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B68494302F1"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4")
			    (object Inheritance_Relationship
				quid       	"3B688E4F023C"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "systemIdentifier"
				quid       	"3B69D32E00F0"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "publicIdentifier"
				quid       	"3B69D3340397"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDNumericFacet"
			quid       	"3B6C75950206"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C76420074"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C75A30012"
				type       	"boolean"
				exportControl 	"Public")))
		    (object Class "XSDOrderedFacet"
			quid       	"3B6C74DD0248"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7659012C"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C74F602DA"
				type       	"XSDOrdered"
				exportControl 	"Public")))
		    (object Class "XSDParticle"
			quid       	"3B682BBD01F7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848FC01E7"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "minOccurs"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CF8E03B2"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")
			    (object ClassAttribute "maxOccurs"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69CF9903AE"
				type       	"int"
				initv      	"1"
				exportControl 	"Public")))
		    (object Class "XSDParticleContent"
			quid       	"3B6BD22300C6"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B780BD90059"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDPatternFacet"
			quid       	"3B6C6ADB026C"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6CA5038D"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C7C790311"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDRedefinableComponent"
			quid       	"3B7FCA8B020B"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FD4BA023C"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3C290A26036D"
				supplier   	"Logical View::xsd::XSDNamedComponent"
				quidu      	"3B6846D303A4"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "circular"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE))
				quid       	"3C28A6800216"
				type       	"boolean"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDRedefineContent"
			quid       	"3B6AE2060172"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2B301D5"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			abstract   	TRUE)
		    (object Class "XSDRedefine"
			quid       	"3B688C9B02AD"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C21DB640240"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE")))
		    (object Class "XSDRepeatableFacet"
			quid       	"3B6C6AA6031A"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C6C8F002E"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"))
			abstract   	TRUE)
		    (object Class "XSDSchema"
			quid       	"374B182500BB"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FCC4A0182"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "document"
				quid       	"3C2784E503DD"
				type       	"DOMDocument"
				exportControl 	"Public")
			    (object ClassAttribute "schemaLocation"
				quid       	"3B6868EC0226"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "targetNamespace"
				quid       	"3B9F9BFF0180"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "attributeFormDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F904B0102"
				type       	"XSDForm"
				initv      	"unqualified"
				exportControl 	"Public")
			    (object ClassAttribute "elementFormDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B9F907800AC"
				type       	"XSDForm"
				initv      	"unqualified"
				exportControl 	"Public")
			    (object ClassAttribute "finalDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0C4A70038"
				stereotype 	"0..*"
				type       	"XSDProhibitedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "blockDefault"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F59D02D8"
				stereotype 	"0..*"
				type       	"XSDDisallowedSubstitutions"
				exportControl 	"Public")
			    (object ClassAttribute "version"
				quid       	"3D22D6D80356"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDSchemaCompositor"
			quid       	"3C21DB4102AE"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3C21DB560092"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"))
			abstract   	TRUE)
		    (object Class "XSDSchemaContent"
			quid       	"3B688CB800BA"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AD8E60372"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"))
			abstract   	TRUE)
		    (object Class "XSDSchemaDirective"
			quid       	"3B6AD8A202A2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE32102AF"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "schemaLocation"
				quid       	"3B6AD9B30330"
				type       	"String"
				exportControl 	"Public"))
			abstract   	TRUE)
		    (object Class "XSDScope"
			quid       	"3B69B54000F2"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B7FCD640231"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			abstract   	TRUE)
		    (object Class "XSDSimpleTypeDefinition"
			quid       	"3B682BA7005D"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A1302A2"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")
			    (object Inheritance_Relationship
				quid       	"3B685F55032B"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "variety"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B6C315800A9"
				type       	"XSDVariety"
				exportControl 	"Public")
			    (object ClassAttribute "final"
				quid       	"3B6D544F0146"
				stereotype 	"0..*"
				type       	"XSDSimpleFinal"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalFinal"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA0F65E035A"
				stereotype 	"0..*"
				type       	"XSDSimpleFinal"
				exportControl 	"Public")
			    (object ClassAttribute "validFacets"
				quid       	"3C28AB0F00B6"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDTerm"
			quid       	"3B683C5E0174"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6848AA01D3"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029")
			    (object Inheritance_Relationship
				quid       	"3B6BD2440069"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6"))
			abstract   	TRUE)
		    (object Class "XSDTotalDigitsFacet"
			quid       	"3B6C79A0020E"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C7B610337"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C79AB0232"
				type       	"int"
				exportControl 	"Public")))
		    (object Class "XSDTypeDefinition"
			quid       	"3B66ECD302A9"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6AE2F5013A"
				stereotype 	"mixin"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172")
			    (object Inheritance_Relationship
				quid       	"3B7FCAB1004D"
				supplier   	"Logical View::xsd::XSDRedefinableComponent"
				quidu      	"3B7FCA8B020B"))
			abstract   	TRUE)
		    (object Class "XSDWhiteSpaceFacet"
			quid       	"3B6C784601B7"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6C78620045"
				supplier   	"Logical View::xsd::XSDFixedFacet"
				quidu      	"3B6C699E00C1"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "value"
				quid       	"3B6C78500201"
				type       	"XSDWhiteSpace"
				exportControl 	"Public")))
		    (object Class "XSDWildcard"
			quid       	"3B6838370031"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B684A3A0041"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "namespaceConstraintCategory"
				quid       	"3B69D0E9019E"
				type       	"XSDNamespaceConstraintCategory"
				exportControl 	"Public")
			    (object ClassAttribute "namespaceConstraint"
				quid       	"3B97CF860223"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")
			    (object ClassAttribute "processContents"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3B69D12E01E4"
				type       	"XSDProcessContents"
				exportControl 	"Public")
			    (object ClassAttribute "lexicalNamespaceConstraint"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isUnsettable"
					value      	TRUE))
				quid       	"3BA7BDB701F9"
				stereotype 	"0..*"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "XSDXPathDefinition"
			quid       	"3B6D83BB0355"
			superclasses 	(list inheritance_relationship_list
			    (object Inheritance_Relationship
				quid       	"3B6D84F70092"
				supplier   	"Logical View::xsd::XSDComponent"
				quidu      	"3B6846E90029"))
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "variety"
				quid       	"3B6D901503DE"
				type       	"XSDXPathVariety"
				exportControl 	"Public")
			    (object ClassAttribute "value"
				quid       	"3B7BBBE101B1"
				type       	"String"
				exportControl 	"Public")))
		    (object Class "DOMAttr"
			quid       	"3BBF8C8901B6"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Attr"
				quid       	"3BBF8CB000D5"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMDocument"
			quid       	"3C27850E0381"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Document"
				quid       	"3C27851B03C6"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMElement"
			quid       	"3B8189790200"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Element"
				quid       	"3B8189DB0374"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "DOMNode"
			quid       	"3BFE64A50117"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "org.w3c.dom.Node"
				quid       	"3BFE65BF002D"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "Value"
			quid       	"3C040B5B031F"
			stereotype 	"datatype"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "java.lang.Object"
				quid       	"3C040B8D03D5"
				stereotype 	"javaclass"
				exportControl 	"Public")))
		    (object Class "XSDAttributeUseCategory"
			quid       	"3BA7B0E801A8"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "optional"
				quid       	"3BA7B11502B7"
				exportControl 	"Public")
			    (object ClassAttribute "prohibited"
				quid       	"3BA7B12202D3"
				exportControl 	"Public")
			    (object ClassAttribute "required"
				quid       	"3BA7B12902F0"
				exportControl 	"Public")))
		    (object Class "XSDCardinality"
			quid       	"3BC7715D009B"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "finite"
				quid       	"3BC771DC02ED"
				exportControl 	"Public")
			    (object ClassAttribute "countablyInfinite"
				quid       	"3BC771EC0141"
				exportControl 	"Public")))
		    (object Class "XSDComplexFinal"
			quid       	"3B97C2CA01CB"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C2E700DA"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C2EA016A"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F6D20112"
				exportControl 	"Public")))
		    (object Class "XSDCompositor"
			quid       	"3B869B620037"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "all"
				quid       	"3B869BD00003"
				exportControl 	"Public")
			    (object ClassAttribute "choice"
				quid       	"3B869CB8011E"
				exportControl 	"Public")
			    (object ClassAttribute "sequence"
				quid       	"3B869CE50057"
				exportControl 	"Public")))
		    (object Class "XSDConstraint"
			quid       	"3B869E2601AE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "default"
				quid       	"3B869E8E0258"
				exportControl 	"Public")
			    (object ClassAttribute "fixed"
				quid       	"3B869E990271"
				exportControl 	"Public")))
		    (object Class "XSDContentTypeCategory"
			quid       	"3B86A79F03A2"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "empty"
				quid       	"3B86A7CD02F0"
				exportControl 	"Public")
			    (object ClassAttribute "simple"
				quid       	"3B86A7D100CE"
				exportControl 	"Public")
			    (object ClassAttribute "mixed"
				quid       	"3B86A7D301B7"
				exportControl 	"Public")
			    (object ClassAttribute "elementOnly"
				quid       	"3B86A7D702E9"
				exportControl 	"Public")))
		    (object Class "XSDDerivationMethod"
			quid       	"3B86A0B000CE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B86A0C80329"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B86A0CC0162"
				exportControl 	"Public")))
		    (object Class "XSDDiagnosticSeverity"
			quid       	"3BFE68A7032F"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "fatal"
				quid       	"3BFE68C303D0"
				exportControl 	"Public")
			    (object ClassAttribute "error"
				quid       	"3BFE68E700E3"
				exportControl 	"Public")
			    (object ClassAttribute "warning"
				quid       	"3BFE68EA01FF"
				exportControl 	"Public")
			    (object ClassAttribute "information"
				quid       	"3BFE7FC2019A"
				exportControl 	"Public")))
		    (object Class "XSDDisallowedSubstitutions"
			quid       	"3B97C5A403DF"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "substitution"
				quid       	"3B97C6790045"
				exportControl 	"Public")
			    (object ClassAttribute "extension"
				quid       	"3B97C67F01AC"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C683020B"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F2450069"
				exportControl 	"Public")))
		    (object Class "XSDForm"
			quid       	"3B9F913B01EB"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "qualified"
				quid       	"3B9F916F0023"
				exportControl 	"Public")
			    (object ClassAttribute "unqualified"
				quid       	"3B9F918C007F"
				exportControl 	"Public")))
		    (object Class "XSDIdentityConstraintCategory"
			quid       	"3B86A1E00272"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "key"
				quid       	"3B86A2120085"
				exportControl 	"Public")
			    (object ClassAttribute "keyref"
				quid       	"3B86A213014F"
				exportControl 	"Public")
			    (object ClassAttribute "unique"
				quid       	"3B86A2160365"
				exportControl 	"Public")))
		    (object Class "XSDNamespaceConstraintCategory"
			quid       	"3B97C5EA0023"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "any"
				quid       	"3B97D0600034"
				exportControl 	"Public")
			    (object ClassAttribute "not"
				quid       	"3B97D062005F"
				exportControl 	"Public")
			    (object ClassAttribute "set"
				quid       	"3B97D0650117"
				exportControl 	"Public")))
		    (object Class "XSDOrdered"
			quid       	"3BC7715202E4"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "false"
				quid       	"3BC771A90271"
				exportControl 	"Public")
			    (object ClassAttribute "partial"
				quid       	"3BC771BB01FF"
				exportControl 	"Public")
			    (object ClassAttribute "total"
				quid       	"3BC771C401B2"
				exportControl 	"Public")))
		    (object Class "XSDProcessContents"
			quid       	"3B8FF8C70284"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "strict"
				quid       	"3B8FF8F80045"
				exportControl 	"Public")
			    (object ClassAttribute "lax"
				quid       	"3B8FF8F6038B"
				exportControl 	"Public")
			    (object ClassAttribute "skip"
				quid       	"3B8FF8E802BA"
				exportControl 	"Public")))
		    (object Class "XSDProhibitedSubstitutions"
			quid       	"3B97C5BE0272"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C68B00B8"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C6940291"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F2500295"
				exportControl 	"Public")))
		    (object Class "XSDSimpleFinal"
			quid       	"3B97C25D0295"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "list"
				quid       	"3B97C2810230"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C2830138"
				exportControl 	"Public")
			    (object ClassAttribute "union"
				quid       	"3B97C288024E"
				exportControl 	"Public")
			    (object ClassAttribute "all"
				quid       	"3BA0F6E00374"
				exportControl 	"Public")))
		    (object Class "XSDSubstitutionGroupExclusions"
			quid       	"3B97C59100AE"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "extension"
				quid       	"3B97C6640231"
				exportControl 	"Public")
			    (object ClassAttribute "restriction"
				quid       	"3B97C66D0216"
				exportControl 	"Public")))
		    (object Class "XSDVariety"
			quid       	"3B8FF7730249"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "atomic"
				quid       	"3B8FF7A702DF"
				exportControl 	"Public")
			    (object ClassAttribute "list"
				quid       	"3B8FF7AD0139"
				exportControl 	"Public")
			    (object ClassAttribute "union"
				quid       	"3B8FF7AF039F"
				exportControl 	"Public")))
		    (object Class "XSDWhiteSpace"
			quid       	"3BEED0F60342"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "preserve"
				quid       	"3BEED10F0117"
				exportControl 	"Public")
			    (object ClassAttribute "replace"
				quid       	"3BEED127034D"
				exportControl 	"Public")
			    (object ClassAttribute "collapse"
				quid       	"3BEED1290396"
				exportControl 	"Public")))
		    (object Class "XSDXPathVariety"
			quid       	"3B8FFB89033A"
			stereotype 	"enumeration"
			class_attributes 	(list class_attribute_list
			    (object ClassAttribute "selector"
				quid       	"3B8FFBAC0192"
				exportControl 	"Public")
			    (object ClassAttribute "field"
				quid       	"3B8FFBB30278"
				exportControl 	"Public")))
		    (object Association "$UNNAMED$64"
			quid       	"3C626EA70102"
			roles      	(list role_list
			    (object Role "$UNNAMED$65"
				quid       	"3C626EA90191"
				supplier   	"Logical View::xsd::XSDRepeatableFacet"
				quidu      	"3B6C6AA6031A"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C626EA90192"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$66"
			quid       	"3B69DADC02F5"
			roles      	(list role_list
			    (object Role "$UNNAMED$67"
				quid       	"3B69DADD0238"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DADD0242"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$68"
			quid       	"3B6890D6006F"
			roles      	(list role_list
			    (object Role "$UNNAMED$69"
				quid       	"3B6890D6030E"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "anonymousTypeDefinition"
				quid       	"3B6890D60318"
				label      	"anonymousTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$70"
			quid       	"3B68356B02CB"
			roles      	(list role_list
			    (object Role "$UNNAMED$71"
				quid       	"3B68356D00A6"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "typeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68356D00A7"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$72"
			quid       	"3B6B426B0194"
			roles      	(list role_list
			    (object Role "$UNNAMED$73"
				quid       	"3B6B426D0309"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				is_aggregate 	TRUE)
			    (object Role "resolvedAttributeDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B426D0313"
				label      	"resolvedAttributeDeclaration"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$74"
			quid       	"3B69DB060291"
			roles      	(list role_list
			    (object Role "$UNNAMED$75"
				quid       	"3B69DB070171"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB070172"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$76"
			quid       	"3B69404E0067"
			roles      	(list role_list
			    (object Role "$UNNAMED$77"
				quid       	"3B694050029B"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B69405002A5"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$78"
			quid       	"3B68359F0086"
			roles      	(list role_list
			    (object Role "$UNNAMED$79"
				quid       	"3B6835A00069"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeUses"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6835A0006A"
				label      	"attributeUses"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$80"
			quid       	"3C275D320220"
			roles      	(list role_list
			    (object Role "$UNNAMED$81"
				quid       	"3C275D3C010C"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcardContent"
				quid       	"3C275D3C010D"
				label      	"attributeWildcardContent"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$82"
			quid       	"3B6887BF0150"
			roles      	(list role_list
			    (object Role "$UNNAMED$83"
				quid       	"3B6887C000A7"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6887C000A8"
				label      	"attributeWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$84"
			quid       	"3B6B425E01F9"
			roles      	(list role_list
			    (object Role "$UNNAMED$85"
				quid       	"3B6B42620046"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "resolvedAttributeGroupDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B42620050"
				label      	"resolvedAttributeGroupDefinition"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$86"
			quid       	"3B683585010D"
			roles      	(list role_list
			    (object Role "$UNNAMED$87"
				quid       	"3B68358600FA"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				is_aggregate 	TRUE)
			    (object Role "attributeDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68358600FB"
				label      	"attributeDeclaration"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$88"
			quid       	"3B6F1DE9018A"
			roles      	(list role_list
			    (object Role "$UNNAMED$89"
				quid       	"3B6F1DEA036C"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6F1DEA0380"
				label      	"content"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$90"
			quid       	"3B90068801C2"
			roles      	(list role_list
			    (object Role "$UNNAMED$91"
				quid       	"3B90068A0111"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "contentAnnotation"
				quid       	"3B90068A011B"
				label      	"contentAnnotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$92"
			quid       	"3B6833350340"
			roles      	(list role_list
			    (object Role "$UNNAMED$93"
				quid       	"3B683336028D"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "baseTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683336028E"
				label      	"baseTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$94"
			quid       	"3B6FDDD70113"
			roles      	(list role_list
			    (object Role "$UNNAMED$95"
				quid       	"3B6FDDDA026B"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6FDDDA0275"
				label      	"content"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$96"
			quid       	"3B6837DF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$97"
				quid       	"3B6837E100FD"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "contentType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6837E100FE"
				label      	"contentType"
				supplier   	"Logical View::xsd::XSDComplexTypeContent"
				quidu      	"3B683BA00196"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$98"
			quid       	"3B683959006E"
			roles      	(list role_list
			    (object Role "$UNNAMED$99"
				quid       	"3B6839590349"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeUses"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683959034A"
				label      	"attributeUses"
				supplier   	"Logical View::xsd::XSDAttributeUse"
				quidu      	"3B68354601A8"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$100"
			quid       	"3B698E360386"
			roles      	(list role_list
			    (object Role "$UNNAMED$101"
				quid       	"3B698E380072"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeContents"
				quid       	"3B698E38007C"
				label      	"attributeContents"
				supplier   	"Logical View::xsd::XSDAttributeGroupContent"
				quidu      	"3B6940200089"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$102"
			quid       	"3B6851BA0126"
			roles      	(list role_list
			    (object Role "$UNNAMED$103"
				quid       	"3B6851BB0150"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6851BB0151"
				label      	"attributeWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$104"
			quid       	"3B751B0803C7"
			roles      	(list role_list
			    (object Role "container"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751B0C01CE"
				label      	"container"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$105"
				attributes 	(list Attribute_Set)
				quid       	"3B751B0C01CF"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$106"
			quid       	"3B751B480261"
			roles      	(list role_list
			    (object Role "rootContainer"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751B4C0285"
				label      	"rootContainer"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$107"
				attributes 	(list Attribute_Set)
				quid       	"3B751B4C0286"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")))
		    (object Association "$UNNAMED$108"
			quid       	"3B751C310356"
			roles      	(list role_list
			    (object Role "$UNNAMED$109"
				attributes 	(list Attribute_Set)
				quid       	"3B751C330331"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065")
			    (object Role "schema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B751C33033B"
				label      	"schema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$110"
			quid       	"3B69DB0A0066"
			roles      	(list role_list
			    (object Role "$UNNAMED$111"
				quid       	"3B69DB0B023F"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB0B0249"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$112"
			quid       	"3B68911401AF"
			roles      	(list role_list
			    (object Role "$UNNAMED$113"
				quid       	"3B6891150016"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "anonymousTypeDefinition"
				quid       	"3B6891150017"
				label      	"anonymousTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$114"
			quid       	"3B68338C0058"
			roles      	(list role_list
			    (object Role "$UNNAMED$115"
				quid       	"3B68338C03BF"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "typeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B68338C03C0"
				label      	"typeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$116"
			quid       	"3B6833EF0160"
			roles      	(list role_list
			    (object Role "$UNNAMED$117"
				quid       	"3B6833F00298"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "identityConstraintDefinitions"
				quid       	"3B6833F00299"
				label      	"identityConstraintDefinitions"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$118"
			quid       	"3B6B41E60251"
			roles      	(list role_list
			    (object Role "$UNNAMED$119"
				quid       	"3B6B41EA02F7"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "resolvedElementDeclaration"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B41EA030B"
				label      	"resolvedElementDeclaration"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$120"
			quid       	"3B69C0590198"
			roles      	(list role_list
			    (object Role "$UNNAMED$121"
				quid       	"3B69C05D01E3"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214")
			    (object Role "substitutionGroupAffiliation"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69C05D01ED"
				label      	"substitutionGroupAffiliation"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$122"
			quid       	"3C42DBDD0297"
			roles      	(list role_list
			    (object Role "$UNNAMED$123"
				quid       	"3C42DBE0011E"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				is_aggregate 	TRUE)
			    (object Role "substitutionGroup"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C42DBE00128"
				label      	"substitutionGroup"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$124"
			quid       	"3B6D23B901CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$125"
				quid       	"3B6D23BA01C4"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6D23BA01CE"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$126"
			quid       	"3B6D597102EA"
			roles      	(list role_list
			    (object Role "simpleTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D59750105"
				label      	"simpleTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$127"
				attributes 	(list Attribute_Set)
				quid       	"3B6D59750119"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2")))
		    (object Association "$UNNAMED$128"
			quid       	"3B69B653017A"
			roles      	(list role_list
			    (object Role "scope"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B69B654006D"
				label      	"scope"
				supplier   	"Logical View::xsd::XSDScope"
				quidu      	"3B69B54000F2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$129"
				attributes 	(list Attribute_Set)
				quid       	"3B69B654006E"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$130"
			quid       	"3C29010602D7"
			roles      	(list role_list
			    (object Role "resolvedFeature"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C29010B000E"
				label      	"resolvedFeature"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$131"
				attributes 	(list Attribute_Set)
				quid       	"3C29010B0018"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$132"
			quid       	"3B69DB0D0183"
			roles      	(list role_list
			    (object Role "$UNNAMED$133"
				quid       	"3B69DB0D033C"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB0D0346"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$134"
			quid       	"3B69D29E014D"
			roles      	(list role_list
			    (object Role "referencedKey"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69D2A80165"
				label      	"referencedKey"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$135"
				attributes 	(list Attribute_Set)
				quid       	"3B69D2A8016F"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2")))
		    (object Association "$UNNAMED$136"
			quid       	"3B6D8D3D003E"
			roles      	(list role_list
			    (object Role "$UNNAMED$137"
				quid       	"3B6D8D3E022A"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "selector"
				quid       	"3B6D8D3E0234"
				label      	"selector"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$138"
			quid       	"3B6D8D330025"
			roles      	(list role_list
			    (object Role "$UNNAMED$139"
				quid       	"3B6D8D330365"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				is_aggregate 	TRUE)
			    (object Role "fields"
				quid       	"3B6D8D330379"
				label      	"fields"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				client_cardinality 	(value cardinality "1..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$140"
			quid       	"3B6ADCD802FC"
			roles      	(list role_list
			    (object Role "$UNNAMED$141"
				quid       	"3B6ADCD9018B"
				supplier   	"Logical View::xsd::XSDImport"
				quidu      	"3B688C93017F"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6ADCD9018C"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$142"
			quid       	"3B6ADCC5007E"
			roles      	(list role_list
			    (object Role "$UNNAMED$143"
				quid       	"3B6ADCC6006B"
				supplier   	"Logical View::xsd::XSDInclude"
				quidu      	"3B688C7D0250"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B6ADCC6006C"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$144"
			quid       	"3B69DB1702C8"
			roles      	(list role_list
			    (object Role "$UNNAMED$145"
				quid       	"3B69DB1803E2"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB190004"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$146"
			quid       	"3B6BCEB102F8"
			roles      	(list role_list
			    (object Role "$UNNAMED$147"
				quid       	"3B6BCEB6001B"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6BCEB60025"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$148"
			quid       	"3B683606026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$149"
				quid       	"3B6836070221"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				is_aggregate 	TRUE)
			    (object Role "particles"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6836070222"
				label      	"particles"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "1..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$150"
			quid       	"3B69DB15008A"
			roles      	(list role_list
			    (object Role "$UNNAMED$151"
				quid       	"3B69DB160096"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB1600A0"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$152"
			quid       	"3B6837AC025A"
			roles      	(list role_list
			    (object Role "$UNNAMED$153"
				quid       	"3B6837AD0338"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "modelGroup"
				quid       	"3B6837AD0339"
				label      	"modelGroup"
				supplier   	"Logical View::xsd::XSDModelGroup"
				quidu      	"3B6834E00291"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$154"
			quid       	"3B6B42450398"
			roles      	(list role_list
			    (object Role "$UNNAMED$155"
				quid       	"3B6B4249038A"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				is_aggregate 	TRUE)
			    (object Role "resolvedModelGroupDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6B4249039E"
				label      	"resolvedModelGroupDefinition"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$156"
			quid       	"3B69DB0F0212"
			roles      	(list role_list
			    (object Role "$UNNAMED$157"
				quid       	"3B69DB1000C9"
				supplier   	"Logical View::xsd::XSDNotationDeclaration"
				quidu      	"3B66EDAA021C"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB1000D3"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$158"
			quid       	"3B6B47150119"
			roles      	(list role_list
			    (object Role "$UNNAMED$159"
				quid       	"3B6B471A03AB"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				is_aggregate 	TRUE)
			    (object Role "content"
				quid       	"3B6B471A03B5"
				label      	"content"
				supplier   	"Logical View::xsd::XSDParticleContent"
				quidu      	"3B6BD22300C6"
				client_cardinality 	(value cardinality "1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$160"
			quid       	"3B683C890122"
			roles      	(list role_list
			    (object Role "$UNNAMED$161"
				quid       	"3B683C8A0110"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				is_aggregate 	TRUE)
			    (object Role "term"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B683C8A0111"
				label      	"term"
				supplier   	"Logical View::xsd::XSDTerm"
				quidu      	"3B683C5E0174"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$162"
			quid       	"3B6ADE42009A"
			roles      	(list role_list
			    (object Role "$UNNAMED$163"
				quid       	"3B6ADE4302FE"
				supplier   	"Logical View::xsd::XSDRedefine"
				quidu      	"3B688C9B02AD"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6ADE430308"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$164"
			quid       	"3B6AE8240051"
			roles      	(list role_list
			    (object Role "$UNNAMED$165"
				quid       	"3B6AE82602AD"
				supplier   	"Logical View::xsd::XSDRedefine"
				quidu      	"3B688C9B02AD"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6AE82602B7"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDRedefineContent"
				quidu      	"3B6AE2060172"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$166"
			quid       	"3B688E6B003D"
			roles      	(list role_list
			    (object Role "$UNNAMED$167"
				quid       	"3B688E6C0107"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B688E6C0111"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDSchemaContent"
				quidu      	"3B688CB800BA"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$168"
			quid       	"3B66EE8D01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$169"
				quid       	"3B66EE8E0198"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "elementDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE8E0199"
				label      	"elementDeclarations"
				supplier   	"Logical View::xsd::XSDElementDeclaration"
				quidu      	"3B66ED580214"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$170"
			quid       	"3B66FDFA00C3"
			roles      	(list role_list
			    (object Role "$UNNAMED$171"
				quid       	"3B66FDFB027D"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "attributeDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66FDFB027E"
				label      	"attributeDeclarations"
				supplier   	"Logical View::xsd::XSDAttributeDeclaration"
				quidu      	"3B66ED2E0192"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$172"
			quid       	"3B66EE920216"
			roles      	(list role_list
			    (object Role "$UNNAMED$173"
				quid       	"3B66EE93018B"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "attributeGroupDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE93018C"
				label      	"attributeGroupDefinitions"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$174"
			quid       	"3B66EE760049"
			roles      	(list role_list
			    (object Role "$UNNAMED$175"
				quid       	"3B66EE760374"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "typeDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EE76037E"
				label      	"typeDefinitions"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$176"
			quid       	"3B66EEFF024F"
			roles      	(list role_list
			    (object Role "$UNNAMED$177"
				quid       	"3B66EF00025A"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "modelGroupDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EF000264"
				label      	"modelGroupDefinitions"
				supplier   	"Logical View::xsd::XSDModelGroupDefinition"
				quidu      	"3B66ED9A0205"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$178"
			quid       	"3BFC2A1701ED"
			roles      	(list role_list
			    (object Role "$UNNAMED$179"
				quid       	"3BFC2A1A0273"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "identityConstraintDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFC2A1A027D"
				label      	"identityConstraintDefinitions"
				supplier   	"Logical View::xsd::XSDIdentityConstraintDefinition"
				quidu      	"3B682B2603A2"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$180"
			quid       	"3B66EEA7023E"
			roles      	(list role_list
			    (object Role "$UNNAMED$181"
				quid       	"3B66EEA8038A"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "notationDeclarations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B66EEA8038B"
				label      	"notationDeclarations"
				supplier   	"Logical View::xsd::XSDNotationDeclaration"
				quidu      	"3B66EDAA021C"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Reference"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$182"
			quid       	"3B69E4560290"
			roles      	(list role_list
			    (object Role "$UNNAMED$183"
				quid       	"3B69E4570165"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69E457016F"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$184"
			quid       	"3B6D5CA50112"
			roles      	(list role_list
			    (object Role "$UNNAMED$185"
				quid       	"3B6D5CA703B4"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "contents"
				quid       	"3B6D5CA703C8"
				label      	"contents"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$186"
			quid       	"3B6C35AD0374"
			roles      	(list role_list
			    (object Role "$UNNAMED$187"
				quid       	"3B6C35AF0006"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "facetContents"
				quid       	"3B6C35AF0010"
				label      	"facetContents"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$188"
			quid       	"3BC8AE0203A8"
			roles      	(list role_list
			    (object Role "$UNNAMED$189"
				quid       	"3BC8AE060051"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "facets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BC8AE060065"
				label      	"facets"
				supplier   	"Logical View::xsd::XSDConstrainingFacet"
				quidu      	"3B6C6B340093"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$190"
			quid       	"3B6C34B70208"
			roles      	(list role_list
			    (object Role "$UNNAMED$191"
				quid       	"3B6C34BE0258"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "memberTypeDefinitions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6C34BE0259"
				label      	"memberTypeDefinitions"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$192"
			quid       	"3B6C363201DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$193"
				quid       	"3B6C36350059"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "fundamentalFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3B6C36350063"
				label      	"fundamentalFacets"
				supplier   	"Logical View::xsd::XSDFundamentalFacet"
				quidu      	"3B6C69E801D6"
				client_cardinality 	(value cardinality "1..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$194"
			quid       	"3B6D35AB0273"
			roles      	(list role_list
			    (object Role "$UNNAMED$195"
				quid       	"3B6D35B20291"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "baseTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D35B202A5"
				label      	"baseTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$196"
			quid       	"3B6D5572016C"
			roles      	(list role_list
			    (object Role "$UNNAMED$197"
				quid       	"3B6D5575022F"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "primitiveTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B6D55750243"
				label      	"primitiveTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$198"
			quid       	"3B69E2910158"
			roles      	(list role_list
			    (object Role "$UNNAMED$199"
				quid       	"3B69E292019F"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69E29201A9"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$200"
			quid       	"3B9006CF0088"
			roles      	(list role_list
			    (object Role "$UNNAMED$201"
				quid       	"3B9006D1015D"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "derivationAnnotation"
				quid       	"3B9006D10167"
				label      	"derivationAnnotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$202"
			quid       	"3B69DB330264"
			roles      	(list role_list
			    (object Role "$UNNAMED$203"
				quid       	"3B69DB340284"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3B69DB34028E"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$204"
			quid       	"3B69DB11026F"
			roles      	(list role_list
			    (object Role "$UNNAMED$205"
				quid       	"3B69DB1201F9"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3B69DB120203"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$206"
			quid       	"3C626EB30005"
			roles      	(list role_list
			    (object Role "$UNNAMED$207"
				quid       	"3C626EB40327"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				is_aggregate 	TRUE)
			    (object Role "annotations"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C626EB40332"
				label      	"annotations"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$208"
			quid       	"3BEBDC870247"
			roles      	(list role_list
			    (object Role "$UNNAMED$209"
				quid       	"3BEBDC8C02F9"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "attributeWildcardContent"
				quid       	"3BEBDC8C0303"
				label      	"attributeWildcardContent"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$210"
			quid       	"3BFE622703CD"
			roles      	(list role_list
			    (object Role "$UNNAMED$211"
				attributes 	(list Attribute_Set)
				quid       	"3BFE622B0061"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046")
			    (object Role "components"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFE622B006C"
				label      	"components"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$212"
			quid       	"3BFE62690165"
			roles      	(list role_list
			    (object Role "$UNNAMED$213"
				quid       	"3BFE626A0026"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				is_aggregate 	TRUE)
			    (object Role "diagnostics"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3BFE626A0027"
				label      	"diagnostics"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$214"
			quid       	"3BFE6431035F"
			roles      	(list role_list
			    (object Role "$UNNAMED$215"
				quid       	"3BFE643201C6"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "allDiagnostics"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3BFE643201C7"
				label      	"allDiagnostics"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$216"
			quid       	"3C21DCC700EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$217"
				quid       	"3C21DCCE0042"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"
				is_aggregate 	TRUE)
			    (object Role "resolvedSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C21DCCE0043"
				label      	"resolvedSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$218"
			quid       	"3C21DD0C03DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$219"
				quid       	"3C21DD100304"
				supplier   	"Logical View::xsd::XSDSchemaCompositor"
				quidu      	"3C21DB4102AE"
				is_aggregate 	TRUE)
			    (object Role "incorporatedSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C21DD100305"
				label      	"incorporatedSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$220"
			quid       	"3C239134004F"
			roles      	(list role_list
			    (object Role "$UNNAMED$221"
				quid       	"3C23913600CA"
				supplier   	"Logical View::xsd::XSDXPathDefinition"
				quidu      	"3B6D83BB0355"
				is_aggregate 	TRUE)
			    (object Role "annotation"
				quid       	"3C23913600D4"
				label      	"annotation"
				supplier   	"Logical View::xsd::XSDAnnotation"
				quidu      	"3B66EDC80233"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$222"
			quid       	"3C25D3A60131"
			roles      	(list role_list
			    (object Role "$UNNAMED$223"
				quid       	"3C25D3A90370"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "referencingDirectives"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C25D3A90371"
				label      	"referencingDirectives"
				supplier   	"Logical View::xsd::XSDSchemaDirective"
				quidu      	"3B6AD8A202A2"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$224"
			quid       	"3C25ECF0005E"
			roles      	(list role_list
			    (object Role "$UNNAMED$225"
				quid       	"3C25ECF4001E"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "rootVersion"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25ECF40028"
				label      	"rootVersion"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$226"
			quid       	"3C25ED0B011B"
			roles      	(list role_list
			    (object Role "$UNNAMED$227"
				quid       	"3C25ED0F0121"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "originalVersion"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25ED0F012B"
				label      	"originalVersion"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$228"
			quid       	"3C25EEAB001F"
			roles      	(list role_list
			    (object Role "$UNNAMED$229"
				quid       	"3C25EEAF010B"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				is_aggregate 	TRUE)
			    (object Role "incorporatedVersions"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C25EEAF0115"
				label      	"incorporatedVersions"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$230"
			quid       	"3C276DA000DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$231"
				quid       	"3C276DA000DF"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "itemTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE))
				quid       	"3C276DA000E0"
				label      	"itemTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$232"
			quid       	"3C2784730194"
			roles      	(list role_list
			    (object Role "$UNNAMED$233"
				quid       	"3C27847501F1"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB")
			    (object Role "schemaForSchema"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C27847501FB"
				label      	"schemaForSchema"
				supplier   	"Logical View::xsd::XSDSchema"
				quidu      	"374B182500BB"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$234"
			quid       	"3C2880F503D9"
			roles      	(list role_list
			    (object Role "rootTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C2880F9003C"
				label      	"rootTypeDefinition"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$235"
				attributes 	(list Attribute_Set)
				quid       	"3C2880F90046"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A")))
		    (object Association "$UNNAMED$236"
			quid       	"3C2882C50137"
			roles      	(list role_list
			    (object Role "$UNNAMED$237"
				attributes 	(list Attribute_Set)
				quid       	"3C2882C70112"
				supplier   	"Logical View::xsd::XSDDiagnostic"
				quidu      	"3BFE5F910046")
			    (object Role "primaryComponent"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C2882C70113"
				label      	"primaryComponent"
				supplier   	"Logical View::xsd::XSDConcreteComponent"
				quidu      	"3B6AD7B40065"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$238"
			quid       	"3C28A0F201A4"
			roles      	(list role_list
			    (object Role "type"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A0F302E5"
				label      	"type"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$239"
				attributes 	(list Attribute_Set)
				quid       	"3C28A0F302F0"
				supplier   	"Logical View::xsd::XSDFeature"
				quidu      	"3B69B537026C")))
		    (object Association "$UNNAMED$240"
			quid       	"3C28A6DB01E5"
			roles      	(list role_list
			    (object Role "rootType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A6DD03DD"
				label      	"rootType"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$241"
				attributes 	(list Attribute_Set)
				quid       	"3C28A6DD03DE"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$242"
			quid       	"3C28A7120108"
			roles      	(list role_list
			    (object Role "baseType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A7140151"
				label      	"baseType"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$243"
				attributes 	(list Attribute_Set)
				quid       	"3C28A714015B"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$244"
			quid       	"3C28A74B0178"
			roles      	(list role_list
			    (object Role "simpleType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A74D017B"
				label      	"simpleType"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$245"
				attributes 	(list Attribute_Set)
				quid       	"3C28A74D0185"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$246"
			quid       	"3C28A7ED03C0"
			roles      	(list role_list
			    (object Role "complexType"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A7F40117"
				label      	"complexType"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$247"
				attributes 	(list Attribute_Set)
				quid       	"3C28A7F40121"
				supplier   	"Logical View::xsd::XSDTypeDefinition"
				quidu      	"3B66ECD302A9")))
		    (object Association "$UNNAMED$248"
			quid       	"3C28A994030A"
			roles      	(list role_list
			    (object Role "rootTypeDefinition"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28A99700DD"
				label      	"rootTypeDefinition"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)
			    (object Role "$UNNAMED$249"
				attributes 	(list Attribute_Set)
				quid       	"3C28A99700E7"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D")))
		    (object Association "$UNNAMED$250"
			quid       	"3C28B085025B"
			roles      	(list role_list
			    (object Role "$UNNAMED$251"
				quid       	"3C28B0860270"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B086027A"
				label      	"minFacet"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$252"
			quid       	"3C28B08D0252"
			roles      	(list role_list
			    (object Role "$UNNAMED$253"
				quid       	"3C28B08E0091"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B08E009B"
				label      	"maxFacet"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$254"
			quid       	"3C28B0AB0396"
			roles      	(list role_list
			    (object Role "$UNNAMED$255"
				quid       	"3C28B0AC03C9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxInclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0AC03D4"
				label      	"maxInclusiveFacet"
				supplier   	"Logical View::xsd::XSDMaxInclusiveFacet"
				quidu      	"3B6C787D00DA"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$256"
			quid       	"3C28B0AF0338"
			roles      	(list role_list
			    (object Role "$UNNAMED$257"
				quid       	"3C28B0B001F9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minInclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B00203"
				label      	"minInclusiveFacet"
				supplier   	"Logical View::xsd::XSDMinInclusiveFacet"
				quidu      	"3B6C788702C9"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$258"
			quid       	"3C28B0B30207"
			roles      	(list role_list
			    (object Role "$UNNAMED$259"
				quid       	"3C28B0B40190"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minExclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B4019A"
				label      	"minExclusiveFacet"
				supplier   	"Logical View::xsd::XSDMinExclusiveFacet"
				quidu      	"3B6C792D000A"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$260"
			quid       	"3C28B0B6028D"
			roles      	(list role_list
			    (object Role "$UNNAMED$261"
				quid       	"3C28B0B70217"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxExclusiveFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0B70221"
				label      	"maxExclusiveFacet"
				supplier   	"Logical View::xsd::XSDMaxExclusiveFacet"
				quidu      	"3B6C789600C2"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$262"
			quid       	"3C28B0BC0051"
			roles      	(list role_list
			    (object Role "$UNNAMED$263"
				quid       	"3C28B0BC0246"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "lengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0BC0250"
				label      	"lengthFacet"
				supplier   	"Logical View::xsd::XSDLengthFacet"
				quidu      	"3B6C776200E7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$264"
			quid       	"3C28B0BF018C"
			roles      	(list role_list
			    (object Role "$UNNAMED$265"
				quid       	"3C28B0C0006B"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "whiteSpaceFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C00075"
				label      	"whiteSpaceFacet"
				supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
				quidu      	"3B6C784601B7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$266"
			quid       	"3C28B0C2021D"
			roles      	(list role_list
			    (object Role "$UNNAMED$267"
				quid       	"3C28B0C300AB"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "enumerationFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C300AC"
				label      	"enumerationFacets"
				supplier   	"Logical View::xsd::XSDEnumerationFacet"
				quidu      	"3B6C6ACE0141"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$268"
			quid       	"3C28B0C50159"
			roles      	(list role_list
			    (object Role "$UNNAMED$269"
				quid       	"3C28B0C600B0"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "patternFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C600BA"
				label      	"patternFacets"
				supplier   	"Logical View::xsd::XSDPatternFacet"
				quidu      	"3B6C6ADB026C"
				client_cardinality 	(value cardinality "0..n")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$270"
			quid       	"3C28B0C802A7"
			roles      	(list role_list
			    (object Role "$UNNAMED$271"
				quid       	"3C28B0C901EA"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "cardinalityFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0C901F5"
				label      	"cardinalityFacet"
				supplier   	"Logical View::xsd::XSDCardinalityFacet"
				quidu      	"3B6C755D03D2"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$272"
			quid       	"3C28B0CB039C"
			roles      	(list role_list
			    (object Role "$UNNAMED$273"
				quid       	"3C28B0CC03D0"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "numericFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0CC03D1"
				label      	"numericFacet"
				supplier   	"Logical View::xsd::XSDNumericFacet"
				quidu      	"3B6C75950206"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$274"
			quid       	"3C28B0CF0199"
			roles      	(list role_list
			    (object Role "$UNNAMED$275"
				quid       	"3C28B0D20085"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "maxLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D2008F"
				label      	"maxLengthFacet"
				supplier   	"Logical View::xsd::XSDMaxLengthFacet"
				quidu      	"3B6C77C70146"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$276"
			quid       	"3C28B0D500C5"
			roles      	(list role_list
			    (object Role "$UNNAMED$277"
				quid       	"3C28B0D6001D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "minLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D60027"
				label      	"minLengthFacet"
				supplier   	"Logical View::xsd::XSDMinLengthFacet"
				quidu      	"3B6C778C0065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$278"
			quid       	"3C28B0D800DE"
			roles      	(list role_list
			    (object Role "$UNNAMED$279"
				quid       	"3C28B0D803CD"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "totalDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0D803D7"
				label      	"totalDigitsFacet"
				supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
				quidu      	"3B6C79A0020E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$280"
			quid       	"3C28B0DB0377"
			roles      	(list role_list
			    (object Role "$UNNAMED$281"
				quid       	"3C28B0DC035A"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "fractionDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0DC0364"
				label      	"fractionDigitsFacet"
				supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
				quidu      	"3B6C79BE02EE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$282"
			quid       	"3C28B0DF0048"
			roles      	(list role_list
			    (object Role "$UNNAMED$283"
				quid       	"3C28B0DF03B9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "orderedFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0DF03C3"
				label      	"orderedFacet"
				supplier   	"Logical View::xsd::XSDOrderedFacet"
				quidu      	"3B6C74DD0248"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$284"
			quid       	"3C28B0E300D9"
			roles      	(list role_list
			    (object Role "$UNNAMED$285"
				quid       	"3C28B0E4038E"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "boundedFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B0E40398"
				label      	"boundedFacet"
				supplier   	"Logical View::xsd::XSDBoundedFacet"
				quidu      	"3B6C751D0344"
				client_cardinality 	(value cardinality "1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$286"
			quid       	"3C28B44401EC"
			roles      	(list role_list
			    (object Role "$UNNAMED$287"
				quid       	"3C28B4450360"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMaxFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B445036A"
				label      	"effectiveMaxFacet"
				supplier   	"Logical View::xsd::XSDMaxFacet"
				quidu      	"3C0A1CEB010E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$288"
			quid       	"3C28B54F0145"
			roles      	(list role_list
			    (object Role "$UNNAMED$289"
				quid       	"3C28B550038C"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveWhiteSpaceFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B5500396"
				label      	"effectiveWhiteSpaceFacet"
				supplier   	"Logical View::xsd::XSDWhiteSpaceFacet"
				quidu      	"3B6C784601B7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$290"
			quid       	"3C28B5C4011C"
			roles      	(list role_list
			    (object Role "$UNNAMED$291"
				quid       	"3C28B5C5020D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMaxLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B5C50217"
				label      	"effectiveMaxLengthFacet"
				supplier   	"Logical View::xsd::XSDMaxLengthFacet"
				quidu      	"3B6C77C70146"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$292"
			quid       	"3C28B62A00AA"
			roles      	(list role_list
			    (object Role "$UNNAMED$293"
				quid       	"3C28B62B0138"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveFractionDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B62B0142"
				label      	"effectiveFractionDigitsFacet"
				supplier   	"Logical View::xsd::XSDFractionDigitsFacet"
				quidu      	"3B6C79BE02EE"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$294"
			quid       	"3C28B6B003A6"
			roles      	(list role_list
			    (object Role "$UNNAMED$295"
				quid       	"3C28B6B10311"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectivePatternFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B6B10312"
				label      	"effectivePatternFacet"
				supplier   	"Logical View::xsd::XSDPatternFacet"
				quidu      	"3B6C6ADB026C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$296"
			quid       	"3C28B7CA026B"
			roles      	(list role_list
			    (object Role "$UNNAMED$297"
				quid       	"3C28B7CB0186"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveEnumerationFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B7CB0190"
				label      	"effectiveEnumerationFacet"
				supplier   	"Logical View::xsd::XSDEnumerationFacet"
				quidu      	"3B6C6ACE0141"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$298"
			quid       	"3C28B8400062"
			roles      	(list role_list
			    (object Role "$UNNAMED$299"
				quid       	"3C28B841001D"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveTotalDigitsFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8410027"
				label      	"effectiveTotalDigitsFacet"
				supplier   	"Logical View::xsd::XSDTotalDigitsFacet"
				quidu      	"3B6C79A0020E"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$300"
			quid       	"3C28B898016D"
			roles      	(list role_list
			    (object Role "$UNNAMED$301"
				quid       	"3C28B8990056"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMinLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8990060"
				label      	"effectiveMinLengthFacet"
				supplier   	"Logical View::xsd::XSDMinLengthFacet"
				quidu      	"3B6C778C0065"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$302"
			quid       	"3C28B8DC0052"
			roles      	(list role_list
			    (object Role "$UNNAMED$303"
				quid       	"3C28B8DC03B9"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveLengthFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B8DC03C3"
				label      	"effectiveLengthFacet"
				supplier   	"Logical View::xsd::XSDLengthFacet"
				quidu      	"3B6C776200E7"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$304"
			quid       	"3C28B97001DB"
			roles      	(list role_list
			    (object Role "$UNNAMED$305"
				quid       	"3C28B97100CF"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "effectiveMinFacet"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isVolatile"
					value      	TRUE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isChangeable"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isResolveProxies"
					value      	FALSE)
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3C28B97100D9"
				label      	"effectiveMinFacet"
				supplier   	"Logical View::xsd::XSDMinFacet"
				quidu      	"3C0A1CDE037C"
				client_cardinality 	(value cardinality "0..1")
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$306"
			quid       	"3D4BB4AE01CC"
			roles      	(list role_list
			    (object Role "$UNNAMED$307"
				quid       	"3D4BB4AF010F"
				supplier   	"Logical View::xsd::XSDSimpleTypeDefinition"
				quidu      	"3B682BA7005D"
				is_aggregate 	TRUE)
			    (object Role "syntheticFacets"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4AF011A"
				label      	"syntheticFacets"
				supplier   	"Logical View::xsd::XSDFacet"
				quidu      	"3B6C359403D2"
				client_cardinality 	(value cardinality "0..n")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$308"
			quid       	"3D4BB4D3028E"
			roles      	(list role_list
			    (object Role "$UNNAMED$309"
				quid       	"3D4BB4D402F3"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "syntheticParticle"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4D402FD"
				label      	"syntheticParticle"
				supplier   	"Logical View::xsd::XSDParticle"
				quidu      	"3B682BBD01F7"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$310"
			quid       	"3D4BB4D901F6"
			roles      	(list role_list
			    (object Role "$UNNAMED$311"
				quid       	"3D4BB4DA0284"
				supplier   	"Logical View::xsd::XSDComplexTypeDefinition"
				quidu      	"3B682B82031A"
				is_aggregate 	TRUE)
			    (object Role "syntheticWildcard"
				attributes 	(list Attribute_Set
				    (object Attribute
					tool       	"Ecore"
					name       	"isTransient"
					value      	TRUE))
				quid       	"3D4BB4DA028E"
				label      	"syntheticWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE)))
		    (object Association "$UNNAMED$312"
			quid       	"3D4C68FF01BF"
			roles      	(list role_list
			    (object Role "$UNNAMED$313"
				quid       	"3D4C69020317"
				supplier   	"Logical View::xsd::XSDAttributeGroupDefinition"
				quidu      	"3B66ED840290"
				is_aggregate 	TRUE)
			    (object Role "syntheticWildcard"
				quid       	"3D4C69020318"
				label      	"syntheticWildcard"
				supplier   	"Logical View::xsd::XSDWildcard"
				quidu      	"3B6838370031"
				client_cardinality 	(value cardinality "0..1")
				Containment 	"By Value"
				is_navigable 	TRUE))))
		logical_presentations 	(list unit_reference_list
		    (object ClassDiagram "1. Component Hierarchy (Part 1: Structures)"
			quid       	"3B6847680138"
			title      	"1. Component Hierarchy (Part 1: Structures)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @387
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@387
				    location   	(766, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @388
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1168, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@388
				    location   	(940, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	474
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @389
				location   	(928, 225)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@387
				vertices   	(list Points
				    (928, 225)
				    (928, 135)))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @390
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@390
				    location   	(1460, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @391
				location   	(1203, 706)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@388
				vertices   	(list Points
				    (1203, 706)
				    (1203, 615)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @392
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(624, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@392
				    location   	(372, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @393
				location   	(444, 709)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@392
				vertices   	(list Points
				    (444, 709)
				    (444, 615)))
			    (object InheritTreeView "" @394
				location   	(1572, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@390
				vertices   	(list Points
				    (1572, 465)
				    (1572, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @395
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 800)
				label      	(object ItemLabel
				    Parent_View 	@395
				    location   	(290, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @396
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 1056)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@396
				    location   	(262, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @397
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1104, 320)
				label      	(object ItemLabel
				    Parent_View 	@397
				    location   	(936, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	336
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	354
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @398
				location   	(453, 1203)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@396
				vertices   	(list Points
				    (453, 1203)
				    (453, 1111)))
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @399
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@399
				    location   	(62, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @400
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@400
				    location   	(1746, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				width      	270
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @401
				location   	(1872, 950)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@400
				vertices   	(list Points
				    (1872, 950)
				    (1872, 855)))
			    (object InheritTreeView "" @402
				location   	(181, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@399
				vertices   	(list Points
				    (181, 465)
				    (181, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @403
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1280)
				label      	(object ItemLabel
				    Parent_View 	@403
				    location   	(1670, 1233)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	550
				height     	118
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @404
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1056)
				label      	(object ItemLabel
				    Parent_View 	@404
				    location   	(1734, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @405
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1488)
				label      	(object ItemLabel
				    Parent_View 	@405
				    location   	(1569, 1444)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	638
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	656
				height     	112
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @406
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1184, 1488)
				label      	(object ItemLabel
				    Parent_View 	@406
				    location   	(903, 1444)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	563
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	581
				height     	112
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @407
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 560)
				label      	(object ItemLabel
				    Parent_View 	@407
				    location   	(1462, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	276
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	294
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @408
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1056)
				label      	(object ItemLabel
				    Parent_View 	@408
				    location   	(778, 1013)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @409
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 560)
				label      	(object ItemLabel
				    Parent_View 	@409
				    location   	(1806, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @410
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1296)
				label      	(object ItemLabel
				    Parent_View 	@410
				    location   	(106, 1253)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @411
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 560)
				label      	(object ItemLabel
				    Parent_View 	@411
				    location   	(60, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	264
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	282
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @412
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1280)
				label      	(object ItemLabel
				    Parent_View 	@412
				    location   	(802, 1237)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	558
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @413
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1488)
				label      	(object ItemLabel
				    Parent_View 	@413
				    location   	(30, 1441)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	676
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	694
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @414
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(576, 320)
				label      	(object ItemLabel
				    Parent_View 	@414
				    location   	(426, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	300
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	318
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @415
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 320)
				label      	(object ItemLabel
				    Parent_View 	@415
				    location   	(1808, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	384
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	402
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @416
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@397
				supplier   	@387
				line_style 	3
				origin_attachment 	(1094, 265)
				terminal_attachment 	(1094, 225)
				drawSupplier 	@389)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @417
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(960, 800)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@417
				    location   	(690, 757)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @418
				location   	(962, 947)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@417
				vertices   	(list Points
				    (962, 947)
				    (962, 855)))
			    (object InheritView "" @419
				stereotype 	(object SegLabel @420
				    Parent_View 	@419
				    location   	(218, 1154)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	212
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.163534
				    height     	69
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B685F55032B"
				client     	@410
				supplier   	@392
				line_style 	3
				origin_attachment 	(149, 1241)
				terminal_attachment 	(149, 709)
				drawSupplier 	@393)
			    (object InheritView "" @421
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@410
				supplier   	@396
				line_style 	3
				origin_attachment 	(256, 1241)
				terminal_attachment 	(256, 1203)
				drawSupplier 	@398)
			    (object InheritView "" @422
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@411
				supplier   	@399
				line_style 	3
				origin_attachment 	(284, 505)
				terminal_attachment 	(284, 465)
				drawSupplier 	@402)
			    (object InheritView "" @423
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@409
				supplier   	@390
				line_style 	3
				origin_attachment 	(2002, 505)
				terminal_attachment 	(2002, 465)
				drawSupplier 	@394)
			    (object InheritView "" @424
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@390
				supplier   	@387
				line_style 	3
				origin_attachment 	(1569, 265)
				terminal_attachment 	(1569, 225)
				drawSupplier 	@389)
			    (object InheritView "" @425
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@407
				supplier   	@390
				line_style 	3
				origin_attachment 	(1490, 505)
				terminal_attachment 	(1490, 465)
				drawSupplier 	@394)
			    (object InheritView "" @426
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@395
				supplier   	@392
				line_style 	3
				origin_attachment 	(510, 745)
				terminal_attachment 	(510, 709)
				drawSupplier 	@393)
			    (object InheritView "" @427
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@412
				supplier   	@417
				line_style 	3
				origin_attachment 	(1321, 1225)
				terminal_attachment 	(1321, 947)
				drawSupplier 	@418)
			    (object InheritView "" @428
				stereotype 	(object SegLabel @429
				    Parent_View 	@428
				    location   	(2137, 886)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.215812
				    height     	64
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B685F17002E"
				client     	@404
				supplier   	@390
				line_style 	3
				origin_attachment 	(2200, 1001)
				terminal_attachment 	(2200, 465)
				drawSupplier 	@394)
			    (object InheritView "" @430
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@404
				supplier   	@400
				line_style 	3
				origin_attachment 	(2093, 1001)
				terminal_attachment 	(2093, 950)
				drawSupplier 	@401)
			    (object InheritView "" @431
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@396
				supplier   	@417
				line_style 	3
				origin_attachment 	(450, 1001)
				terminal_attachment 	(450, 947)
				drawSupplier 	@418)
			    (object InheritView "" @432
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@399
				supplier   	@387
				line_style 	3
				origin_attachment 	(147, 265)
				terminal_attachment 	(147, 225)
				drawSupplier 	@389)
			    (object InheritView "" @433
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D84F70092"
				client     	@415
				supplier   	@387
				line_style 	3
				origin_attachment 	(2012, 265)
				terminal_attachment 	(2012, 225)
				drawSupplier 	@389)
			    (object InheritView "" @434
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848B80286"
				client     	@392
				supplier   	@387
				line_style 	3
				origin_attachment 	(834, 505)
				terminal_attachment 	(834, 225)
				drawSupplier 	@389)
			    (object InheritView "" @435
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@388
				supplier   	@387
				line_style 	3
				origin_attachment 	(1350, 505)
				terminal_attachment 	(1350, 225)
				drawSupplier 	@389)
			    (object InheritView "" @436
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@414
				supplier   	@387
				line_style 	3
				origin_attachment 	(572, 265)
				terminal_attachment 	(572, 225)
				drawSupplier 	@389)
			    (object InheritView "" @437
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@403
				supplier   	@400
				line_style 	3
				origin_attachment 	(1693, 1221)
				terminal_attachment 	(1693, 950)
				drawSupplier 	@401)
			    (object InheritView "" @438
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@405
				supplier   	@388
				line_style 	3
				origin_attachment 	(1590, 1432)
				terminal_attachment 	(1590, 706)
				drawSupplier 	@391)
			    (object InheritView "" @439
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@406
				supplier   	@388
				line_style 	3
				origin_attachment 	(1431, 1432)
				terminal_attachment 	(1431, 706)
				drawSupplier 	@391)
			    (object InheritView "" @440
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@417
				supplier   	@388
				line_style 	3
				origin_attachment 	(959, 745)
				terminal_attachment 	(959, 706)
				drawSupplier 	@391)
			    (object InheritView "" @441
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@400
				supplier   	@388
				line_style 	3
				origin_attachment 	(1872, 745)
				terminal_attachment 	(1872, 706)
				drawSupplier 	@391)
			    (object InheritView "" @442
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@408
				supplier   	@417
				line_style 	3
				origin_attachment 	(962, 1001)
				terminal_attachment 	(962, 947)
				drawSupplier 	@418)
			    (object InheritView "" @443
				stereotype 	(object SegLabel @444
				    Parent_View 	@443
				    location   	(95, 1388)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	187
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.042531
				    height     	67
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B69BAA20310"
				client     	@413
				supplier   	@399
				line_style 	3
				origin_attachment 	(28, 1429)
				terminal_attachment 	(28, 465)
				drawSupplier 	@402)
			    (object InheritView "" @445
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@413
				supplier   	@396
				line_style 	3
				origin_attachment 	(656, 1429)
				terminal_attachment 	(656, 1203)
				drawSupplier 	@398)))
		    (object ClassDiagram "2. Component Relations (Part 1 : Structures)"
			quid       	"374B18190028"
			title      	"2. Component Relations (Part 1 : Structures)"
			zoom       	96
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @446
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(784, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@446
				    location   	(670, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @447
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1632)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@447
				    location   	(66, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				width      	270
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$128" @448
				location   	(494, 1627)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B653017A"
				roleview_list 	(list RoleViews
				    (object RoleView "scope" @449
					Parent_View 	@448
					location   	(286, -485)
					label      	(object SegLabel @450
					    Parent_View 	@449
					    location   	(555, 1589)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+scope"
					    pctDist    	0.371257
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69B654006D"
					client     	@448
					supplier   	@446
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(661, 1627)
					label      	(object SegLabel @451
					    Parent_View 	@449
					    location   	(576, 1664)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.491018
					    height     	37
					    orientation 	1))
				    (object RoleView "$UNNAMED$129" @452
					Parent_View 	@448
					location   	(286, -485)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69B654006E"
					client     	@448
					supplier   	@447
					line_style 	3
					origin_attachment 	(494, 1627)
					terminal_attachment 	(327, 1627))))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @453
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@453
				    location   	(2084, 1191)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @454
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2176, 992)
				label      	(object ItemLabel
				    Parent_View 	@454
				    location   	(2051, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	250
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	268
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$160" @455
				location   	(2229, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683C890122"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$161" @456
					Parent_View 	@455
					location   	(549, -248)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683C8A0110"
					client     	@455
					supplier   	@454
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1045))
				    (object RoleView "term" @457
					Parent_View 	@455
					location   	(549, -248)
					label      	(object SegLabel @458
					    Parent_View 	@457
					    location   	(2157, 1121)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	"+term"
					    pctDist    	0.134328
					    height     	72
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683C8A0111"
					client     	@455
					supplier   	@453
					line_style 	3
					origin_attachment 	(2229, 1112)
					terminal_attachment 	(2229, 1179)
					label      	(object SegLabel @459
					    Parent_View 	@457
					    location   	(2274, 1119)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.119403
					    height     	45
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @460
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1328, 1232)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@460
				    location   	(1076, 1191)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @461
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 768)
				label      	(object ItemLabel
				    Parent_View 	@461
				    location   	(1977, 727)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	352
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$148" @462
				location   	(2219, 880)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683606026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$149" @463
					Parent_View 	@462
					location   	(-357, -240)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6836070221"
					client     	@462
					supplier   	@461
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 821))
				    (object RoleView "particles" @464
					Parent_View 	@462
					location   	(-357, -240)
					label      	(object SegLabel @465
					    Parent_View 	@464
					    location   	(2105, 888)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+particles"
					    pctDist    	0.156627
					    height     	115
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6836070222"
					client     	@462
					supplier   	@454
					line_style 	3
					origin_attachment 	(2219, 880)
					terminal_attachment 	(2219, 939)
					label      	(object SegLabel @466
					    Parent_View 	@464
					    location   	(2281, 888)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.156627
					    height     	62
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @467
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 992)
				label      	(object ItemLabel
				    Parent_View 	@467
				    location   	(1639, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @468
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1072, 1424)
				label      	(object ItemLabel
				    Parent_View 	@468
				    location   	(905, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	352
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @469
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(432, 992)
				label      	(object ItemLabel
				    Parent_View 	@469
				    location   	(187, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	508
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$194" @470
				location   	(590, 1140)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$195" @471
					Parent_View 	@470
					location   	(302, 148)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B20291"
					client     	@470
					supplier   	@469
					vertices   	(list Points
					    (590, 1140)
					    (540, 1140)
					    (540, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(540, 1045))
				    (object RoleView "baseTypeDefinition" @472
					Parent_View 	@470
					location   	(302, 148)
					label      	(object SegLabel @473
					    Parent_View 	@472
					    location   	(643, 1171)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	1.053571
					    height     	31
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B202A5"
					client     	@470
					supplier   	@469
					vertices   	(list Points
					    (590, 1140)
					    (641, 1140)
					    (641, 1045))
					line_style 	3
					origin_attachment 	(590, 1140)
					terminal_attachment 	(641, 1045)
					label      	(object SegLabel @474
					    Parent_View 	@472
					    location   	(584, 1097)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.122449
					    height     	44
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @475
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 992)
				label      	(object ItemLabel
				    Parent_View 	@475
				    location   	(745, 951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	526
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	544
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$96" @476
				location   	(1119, 1112)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837DF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$97" @477
					Parent_View 	@476
					location   	(-1569, -8)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837E100FD"
					client     	@476
					supplier   	@475
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1045))
				    (object RoleView "contentType" @478
					Parent_View 	@476
					location   	(-1569, -8)
					label      	(object SegLabel @479
					    Parent_View 	@478
					    location   	(1259, 1126)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+contentType"
					    pctDist    	0.208955
					    height     	140
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837E100FE"
					client     	@476
					supplier   	@460
					line_style 	3
					origin_attachment 	(1119, 1112)
					terminal_attachment 	(1119, 1179)
					label      	(object SegLabel @480
					    Parent_View 	@478
					    location   	(1063, 1126)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.208955
					    height     	57
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$102" @481
				location   	(1455, 982)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6851BA0126"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$103" @482
					Parent_View 	@481
					location   	(159, -570)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6851BB0150"
					client     	@481
					supplier   	@475
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1280, 982))
				    (object RoleView "attributeWildcard" @483
					Parent_View 	@481
					location   	(159, -570)
					label      	(object SegLabel @484
					    Parent_View 	@483
					    location   	(1445, 929)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeWildcard"
					    pctDist    	-0.062857
					    height     	54
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6851BB0151"
					client     	@481
					supplier   	@467
					line_style 	3
					origin_attachment 	(1455, 982)
					terminal_attachment 	(1630, 982)
					label      	(object SegLabel @485
					    Parent_View 	@483
					    location   	(1550, 1022)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.542857
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$98" @486
				location   	(921, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683959006E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$99" @487
					Parent_View 	@486
					location   	(-871, -376)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6839590349"
					client     	@486
					supplier   	@475
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1045))
				    (object RoleView "attributeUses" @488
					Parent_View 	@486
					location   	(-871, -376)
					label      	(object SegLabel @489
					    Parent_View 	@488
					    location   	(778, 1251)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+attributeUses"
					    pctDist    	0.269939
					    height     	144
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683959034A"
					client     	@486
					supplier   	@468
					line_style 	3
					origin_attachment 	(921, 1208)
					terminal_attachment 	(921, 1371)
					label      	(object SegLabel @490
					    Parent_View 	@488
					    location   	(979, 1254)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.288344
					    height     	58
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @491
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 768)
				label      	(object ItemLabel
				    Parent_View 	@491
				    location   	(1122, 727)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	380
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	398
				height     	107
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @492
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 1632)
				label      	(object ItemLabel
				    Parent_View 	@492
				    location   	(1623, 1591)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	484
				height     	107
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @493
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 448)
				label      	(object ItemLabel
				    Parent_View 	@493
				    location   	(1803, 407)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	508
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$152" @494
				location   	(2216, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$153" @495
					Parent_View 	@494
					location   	(-552, -816)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0338"
					client     	@494
					supplier   	@493
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 501))
				    (object RoleView "modelGroup" @496
					Parent_View 	@494
					location   	(-552, -816)
					label      	(object SegLabel @497
					    Parent_View 	@496
					    location   	(2080, 628)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+modelGroup"
					    pctDist    	0.182609
					    height     	137
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0339"
					client     	@494
					supplier   	@461
					line_style 	3
					origin_attachment 	(2216, 608)
					terminal_attachment 	(2216, 715)
					label      	(object SegLabel @498
					    Parent_View 	@496
					    location   	(2256, 633)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.233645
					    height     	40
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @499
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 1424)
				label      	(object ItemLabel
				    Parent_View 	@499
				    location   	(1619, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	556
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$82" @500
				location   	(1676, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6887BF0150"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$83" @501
					Parent_View 	@500
					location   	(412, -344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6887C000A7"
					client     	@500
					supplier   	@499
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1371))
				    (object RoleView "attributeWildcard" @502
					Parent_View 	@500
					location   	(412, -344)
					label      	(object SegLabel @503
					    Parent_View 	@502
					    location   	(1857, 1106)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeWildcard"
					    pctDist    	0.625767
					    height     	181
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6887C000A8"
					client     	@500
					supplier   	@467
					line_style 	3
					origin_attachment 	(1676, 1208)
					terminal_attachment 	(1676, 1045)
					label      	(object SegLabel @504
					    Parent_View 	@502
					    location   	(1618, 1108)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.619632
					    height     	59
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$78" @505
				location   	(1429, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68359F0086"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$79" @506
					Parent_View 	@505
					location   	(-363, -146)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6835A00069"
					client     	@505
					supplier   	@499
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1610, 1438))
				    (object RoleView "attributeUses" @507
					Parent_View 	@505
					location   	(-363, -146)
					label      	(object SegLabel @508
					    Parent_View 	@507
					    location   	(1405, 1506)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+attributeUses"
					    pctDist    	0.132597
					    height     	68
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6835A0006A"
					client     	@505
					supplier   	@468
					line_style 	3
					origin_attachment 	(1429, 1438)
					terminal_attachment 	(1248, 1438)
					label      	(object SegLabel @509
					    Parent_View 	@507
					    location   	(1327, 1391)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.563536
					    height     	48
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @510
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1424)
				label      	(object ItemLabel
				    Parent_View 	@510
				    location   	(183, 1383)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	484
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$86" @511
				location   	(777, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B683585010D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$87" @512
					Parent_View 	@511
					location   	(-519, -367)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68358600FA"
					client     	@511
					supplier   	@468
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(896, 1425))
				    (object RoleView "attributeDeclaration" @513
					Parent_View 	@511
					location   	(-519, -367)
					label      	(object SegLabel @514
					    Parent_View 	@513
					    location   	(784, 1508)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+attributeDeclaration"
					    pctDist    	-0.059259
					    height     	83
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68358600FB"
					client     	@511
					supplier   	@510
					line_style 	3
					origin_attachment 	(777, 1425)
					terminal_attachment 	(658, 1425)
					label      	(object SegLabel @515
					    Parent_View 	@513
					    location   	(721, 1385)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.472441
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$70" @516
				location   	(237, 1208)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68356B02CB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$71" @517
					Parent_View 	@516
					location   	(-1043, 72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68356D00A6"
					client     	@516
					supplier   	@510
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1371))
				    (object RoleView "typeDefinition" @518
					Parent_View 	@516
					location   	(-1043, 72)
					label      	(object SegLabel @519
					    Parent_View 	@518
					    location   	(388, 1247)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	-0.239264
					    height     	151
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68356D00A7"
					client     	@516
					supplier   	@469
					line_style 	3
					origin_attachment 	(237, 1208)
					terminal_attachment 	(237, 1045)
					label      	(object SegLabel @520
					    Parent_View 	@518
					    location   	(195, 1247)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.239264
					    height     	43
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @521
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@521
				    location   	(198, 743)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$92" @522
				location   	(728, 775)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833350340"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$93" @523
					Parent_View 	@522
					location   	(-856, -57)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683336028D"
					client     	@522
					supplier   	@475
					vertices   	(list Points
					    (728, 775)
					    (788, 775)
					    (788, 939))
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(788, 939))
				    (object RoleView "baseTypeDefinition" @524
					Parent_View 	@522
					location   	(-856, -57)
					label      	(object SegLabel @525
					    Parent_View 	@524
					    location   	(558, 883)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	1.140940
					    height     	108
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B683336028E"
					client     	@522
					supplier   	@521
					line_style 	3
					origin_attachment 	(728, 775)
					terminal_attachment 	(579, 775)
					label      	(object SegLabel @526
					    Parent_View 	@524
					    location   	(750, 812)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.152439
					    height     	37
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @527
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 448)
				label      	(object ItemLabel
				    Parent_View 	@527
				    location   	(1017, 407)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	590
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	608
				height     	107
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$134" @528
				location   	(1629, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69D29E014D"
				roleview_list 	(list RoleViews
				    (object RoleView "referencedKey" @529
					Parent_View 	@528
					location   	(-83, 94)
					label      	(object SegLabel @530
					    Parent_View 	@529
					    location   	(1761, 608)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+referencedKey"
					    pctDist    	-1.797297
					    height     	34
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69D2A80165"
					client     	@528
					supplier   	@527
					vertices   	(list Points
					    (1629, 574)
					    (1555, 574)
					    (1555, 501))
					line_style 	3
					origin_attachment 	(1629, 574)
					terminal_attachment 	(1555, 501)
					label      	(object SegLabel @531
					    Parent_View 	@529
					    location   	(1622, 539)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.047619
					    height     	36
					    orientation 	1))
				    (object RoleView "$UNNAMED$135" @532
					Parent_View 	@528
					location   	(-83, 94)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69D2A8016F"
					client     	@528
					supplier   	@527
					vertices   	(list Points
					    (1629, 574)
					    (1689, 574)
					    (1689, 444)
					    (1616, 444))
					line_style 	3
					origin_attachment 	(1629, 574)
					terminal_attachment 	(1616, 444))))
			    (object AssociationViewNew "$UNNAMED$138" @533
				location   	(1197, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$139" @534
					Parent_View 	@533
					location   	(-115, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330365"
					client     	@533
					supplier   	@527
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 501))
				    (object RoleView "fields" @535
					Parent_View 	@533
					location   	(-115, 32)
					label      	(object SegLabel @536
					    Parent_View 	@535
					    location   	(1119, 655)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	120
					    justify    	0
					    label      	"+fields"
					    pctDist    	0.439252
					    height     	78
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330379"
					client     	@533
					supplier   	@491
					line_style 	3
					origin_attachment 	(1197, 608)
					terminal_attachment 	(1197, 715)
					label      	(object SegLabel @537
					    Parent_View 	@535
					    location   	(1253, 654)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.429907
					    height     	56
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$136" @538
				location   	(1415, 608)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$137" @539
					Parent_View 	@538
					location   	(103, 32)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E022A"
					client     	@538
					supplier   	@527
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 501))
				    (object RoleView "selector" @540
					Parent_View 	@538
					location   	(103, 32)
					label      	(object SegLabel @541
					    Parent_View 	@540
					    location   	(1513, 651)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+selector"
					    pctDist    	0.411215
					    height     	98
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E0234"
					client     	@538
					supplier   	@491
					line_style 	3
					origin_attachment 	(1415, 608)
					terminal_attachment 	(1415, 715)
					label      	(object SegLabel @542
					    Parent_View 	@540
					    location   	(1381, 650)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.392523
					    height     	34
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @543
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1312, 160)
				label      	(object ItemLabel
				    Parent_View 	@543
				    location   	(1022, 68)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	581
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	599
				height     	209
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$180" @544
				location   	(2395, 606)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEA7023E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$181" @545
					Parent_View 	@544
					location   	(-853, 174)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EEA8038A"
					client     	@544
					supplier   	@543
					vertices   	(list Points
					    (2395, 606)
					    (2395, 65)
					    (1611, 65))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(1611, 65))
				    (object RoleView "notationDeclarations" @546
					Parent_View 	@544
					location   	(-853, 174)
					label      	(object SegLabel @547
					    Parent_View 	@546
					    location   	(2089, 104)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+notationDeclarations"
					    pctDist    	-0.489776
					    height     	307
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EEA8038B"
					client     	@544
					supplier   	@492
					vertices   	(list Points
					    (2395, 606)
					    (2395, 1633)
					    (2098, 1633))
					line_style 	3
					origin_attachment 	(2395, 606)
					terminal_attachment 	(2098, 1633)
					label      	(object SegLabel @548
					    Parent_View 	@546
					    location   	(2344, 105)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.487829
					    height     	52
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$176" @549
				location   	(1772, 249)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EEFF024F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$177" @550
					Parent_View 	@549
					location   	(-948, -327)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EF00025A"
					client     	@549
					supplier   	@543
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1611, 249))
				    (object RoleView "modelGroupDefinitions" @551
					Parent_View 	@549
					location   	(-948, -327)
					label      	(object SegLabel @552
					    Parent_View 	@551
					    location   	(2076, 335)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	432
					    justify    	0
					    label      	"+modelGroupDefinitions"
					    pctDist    	0.713592
					    height     	244
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EF000264"
					client     	@549
					supplier   	@493
					vertices   	(list Points
					    (1772, 249)
					    (1832, 249)
					    (1832, 395))
					line_style 	3
					origin_attachment 	(1772, 249)
					terminal_attachment 	(1832, 395)
					label      	(object SegLabel @553
					    Parent_View 	@551
					    location   	(1781, 340)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.737864
					    height     	52
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$172" @554
				location   	(2346, 518)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE920216"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$173" @555
					Parent_View 	@554
					location   	(154, 86)
					label      	(object SegLabel @556
					    Parent_View 	@555
					    location   	(1872, 1857)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	60
					    justify    	0
					    label      	""
					    pctDist    	-3.630072
					    height     	475
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE93018B"
					client     	@554
					supplier   	@543
					vertices   	(list Points
					    (2346, 518)
					    (2346, 149)
					    (1611, 149))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(1611, 149))
				    (object RoleView "attributeGroupDefinitions" @557
					Parent_View 	@554
					location   	(154, 86)
					label      	(object SegLabel @558
					    Parent_View 	@557
					    location   	(2008, 195)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+attributeGroupDefinitions"
					    pctDist    	-0.349946
					    height     	339
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE93018C"
					client     	@554
					supplier   	@499
					vertices   	(list Points
					    (2346, 518)
					    (2346, 1441)
					    (2166, 1441))
					line_style 	3
					origin_attachment 	(2346, 518)
					terminal_attachment 	(2166, 1441)
					label      	(object SegLabel @559
					    Parent_View 	@557
					    location   	(2299, 197)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.348862
					    height     	48
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$174" @560
				location   	(203, 159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE760049"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$175" @561
					Parent_View 	@560
					location   	(-485, -273)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE760374"
					client     	@560
					supplier   	@543
					line_style 	3
					origin_attachment 	(203, 159)
					terminal_attachment 	(1013, 159))
				    (object RoleView "typeDefinitions" @562
					Parent_View 	@560
					location   	(-485, -273)
					label      	(object SegLabel @563
					    Parent_View 	@562
					    location   	(349, 196)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+typeDefinitions"
					    pctDist    	-1.475728
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE76037E"
					client     	@560
					supplier   	@521
					vertices   	(list Points
					    (203, 159)
					    (104, 159)
					    (104, 784)
					    (189, 784))
					line_style 	3
					origin_attachment 	(203, 159)
					terminal_attachment 	(189, 784)
					label      	(object SegLabel @564
					    Parent_View 	@562
					    location   	(155, 200)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.059701
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$178" @565
				location   	(1087, 329)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFC2A1701ED"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$179" @566
					Parent_View 	@565
					location   	(-577, -23)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFC2A1A0273"
					client     	@565
					supplier   	@543
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 264))
				    (object RoleView "identityConstraintDefinitions" @567
					Parent_View 	@565
					location   	(-577, -23)
					label      	(object SegLabel @568
					    Parent_View 	@567
					    location   	(1375, 338)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.130952
					    height     	288
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFC2A1A027D"
					client     	@565
					supplier   	@527
					line_style 	3
					origin_attachment 	(1087, 329)
					terminal_attachment 	(1087, 395)
					label      	(object SegLabel @569
					    Parent_View 	@567
					    location   	(1018, 336)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.107143
					    height     	70
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$170" @570
				location   	(48, 320)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66FDFA00C3"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$171" @571
					Parent_View 	@570
					location   	(-1072, -288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66FDFB027D"
					client     	@570
					supplier   	@543
					vertices   	(list Points
					    (49, 322)
					    (49, 68)
					    (1013, 68))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(1013, 68))
				    (object RoleView "attributeDeclarations" @572
					Parent_View 	@570
					location   	(-1072, -288)
					label      	(object SegLabel @573
					    Parent_View 	@572
					    location   	(338, 106)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+attributeDeclarations"
					    pctDist    	-0.198536
					    height     	289
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66FDFB027E"
					client     	@570
					supplier   	@510
					vertices   	(list Points
					    (49, 322)
					    (49, 1415)
					    (174, 1415))
					line_style 	3
					origin_attachment 	(49, 322)
					terminal_attachment 	(174, 1415)
					label      	(object SegLabel @574
					    Parent_View 	@572
					    location   	(91, 108)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.196706
					    height     	42
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @575
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 448)
				label      	(object ItemLabel
				    Parent_View 	@575
				    location   	(175, 412)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	483
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	501
				height     	97
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$120" @576
				location   	(499, 589)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69C0590198"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$121" @577
					Parent_View 	@576
					location   	(-13, 109)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69C05D01E3"
					client     	@576
					supplier   	@575
					vertices   	(list Points
					    (499, 589)
					    (452, 589)
					    (452, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(452, 496))
				    (object RoleView "substitutionGroupAffiliation" @578
					Parent_View 	@576
					location   	(-13, 109)
					label      	(object SegLabel @579
					    Parent_View 	@578
					    location   	(811, 585)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	504
					    justify    	0
					    label      	"+substitutionGroupAffiliation"
					    pctDist    	6.520833
					    height     	5
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69C05D01ED"
					client     	@576
					supplier   	@575
					vertices   	(list Points
					    (499, 589)
					    (547, 589)
					    (547, 496))
					line_style 	3
					origin_attachment 	(499, 589)
					terminal_attachment 	(547, 496)
					label      	(object SegLabel @580
					    Parent_View 	@578
					    location   	(499, 559)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.000000
					    height     	31
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$114" @581
				location   	(241, 613)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68338C0058"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$115" @582
					Parent_View 	@581
					location   	(-1343, -219)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68338C03BF"
					client     	@581
					supplier   	@575
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 496))
				    (object RoleView "typeDefinition" @583
					Parent_View 	@581
					location   	(-1343, -219)
					label      	(object SegLabel @584
					    Parent_View 	@583
					    location   	(408, 694)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+typeDefinition"
					    pctDist    	0.686441
					    height     	167
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B68338C03C0"
					client     	@581
					supplier   	@521
					line_style 	3
					origin_attachment 	(241, 613)
					terminal_attachment 	(241, 731)
					label      	(object SegLabel @585
					    Parent_View 	@583
					    location   	(202, 685)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.610169
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$116" @586
				location   	(837, 460)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$117" @587
					Parent_View 	@586
					location   	(-1819, -68)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00298"
					client     	@586
					supplier   	@575
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(666, 460))
				    (object RoleView "identityConstraintDefinitions" @588
					Parent_View 	@586
					location   	(-1819, -68)
					label      	(object SegLabel @589
					    Parent_View 	@588
					    location   	(880, 528)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.251462
					    height     	68
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00299"
					client     	@586
					supplier   	@527
					line_style 	3
					origin_attachment 	(837, 460)
					terminal_attachment 	(1008, 460)
					label      	(object SegLabel @590
					    Parent_View 	@588
					    location   	(859, 407)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.130435
					    height     	54
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$168" @591
				location   	(541, 246)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B66EE8D01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$169" @592
					Parent_View 	@591
					location   	(-1123, -186)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE8E0198"
					client     	@591
					supplier   	@543
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(1013, 246))
				    (object RoleView "elementDeclarations" @593
					Parent_View 	@591
					location   	(-1123, -186)
					label      	(object SegLabel @594
					    Parent_View 	@593
					    location   	(443, 335)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+elementDeclarations"
					    pctDist    	0.209302
					    height     	89
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B66EE8E0199"
					client     	@591
					supplier   	@575
					vertices   	(list Points
					    (541, 246)
					    (224, 246)
					    (224, 400))
					line_style 	3
					origin_attachment 	(541, 246)
					terminal_attachment 	(224, 400)
					label      	(object SegLabel @595
					    Parent_View 	@593
					    location   	(186, 335)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.864693
					    height     	39
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$122" @596
				location   	(353, 621)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C42DBDD0297"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$123" @597
					Parent_View 	@596
					location   	(-63, 173)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C42DBE0011E"
					client     	@596
					supplier   	@575
					vertices   	(list Points
					    (353, 621)
					    (306, 621)
					    (306, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(306, 496))
				    (object RoleView "substitutionGroup" @598
					Parent_View 	@596
					location   	(-63, 173)
					label      	(object SegLabel @599
					    Parent_View 	@598
					    location   	(579, 636)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+substitutionGroup"
					    pctDist    	4.808511
					    height     	15
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C42DBE00128"
					client     	@596
					supplier   	@575
					vertices   	(list Points
					    (353, 621)
					    (400, 621)
					    (400, 496))
					line_style 	3
					origin_attachment 	(353, 621)
					terminal_attachment 	(400, 496)
					label      	(object SegLabel @600
					    Parent_View 	@598
					    location   	(350, 583)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	-0.069767
					    height     	39
					    orientation 	0))))))
		    (object ClassDiagram "3. Component Attributes  (Part 1 : Structures)"
			quid       	"3B69E78602C5"
			title      	"3. Component Attributes  (Part 1 : Structures)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @601
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 128)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@601
				    location   	(46, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	516
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				compartment 	(object Compartment
				    Parent_View 	@601
				    location   	(46, 107)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	482
				    compartmentItems 	(list Compartment
					"+ name : String"
					"+ targetNamespace : String"))
				width      	534
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @602
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1648)
				label      	(object ItemLabel
				    Parent_View 	@602
				    location   	(41, 1567)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	512
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @603
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 1680)
				label      	(object ItemLabel
				    Parent_View 	@603
				    location   	(1781, 1524)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1174
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				compartment 	(object Compartment
				    Parent_View 	@603
				    location   	(1781, 1584)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	5
				    max_width  	1139
				    compartmentItems 	(list Compartment
					"+ derivationMethod : XSDDerivationMethod = restriction"
					"<<0..*>> + final : XSDComplexFinal"
					"+ abstract : boolean"
					"+ contentTypeCategory : XSDContentTypeCategory"
					"<<0..*>> + prohibitedSubstitutions : XSDProhibitedSubstitutions"))
				width      	1192
				height     	336
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @604
				location   	(463, 362)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@601
				vertices   	(list Points
				    (463, 362)
				    (463, 221)))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @605
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1600)
				label      	(object ItemLabel
				    Parent_View 	@605
				    location   	(1094, 1519)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	628
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@605
				    location   	(1094, 1579)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	592
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	646
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @606
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 144)
				label      	(object ItemLabel
				    Parent_View 	@606
				    location   	(647, 38)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	530
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				compartment 	(object Compartment
				    Parent_View 	@606
				    location   	(647, 98)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	502
				    compartmentItems 	(list Compartment
					"+ required : boolean"
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	548
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @607
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 1936)
				label      	(object ItemLabel
				    Parent_View 	@607
				    location   	(45, 1830)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1286
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				compartment 	(object Compartment
				    Parent_View 	@607
				    location   	(45, 1890)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	1260
				    compartmentItems 	(list Compartment
					"+ namespaceConstraintCategory : XSDNamespaceConstraintCategory"
					"<<0..*>> + namespaceConstraint : String"
					"+ processContents : XSDProcessContents"))
				width      	1304
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @608
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 1440)
				label      	(object ItemLabel
				    Parent_View 	@608
				    location   	(47, 1384)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	578
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	596
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @609
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@609
				    location   	(36, 431)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@609
				    location   	(36, 491)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	506
				    compartmentItems 	(list Compartment
					"+ value : Value"
					"+ constraint : XSDConstraint"))
				width      	554
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @610
				location   	(294, 697)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@609
				vertices   	(list Points
				    (294, 697)
				    (294, 605)))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @611
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2256, 128)
				label      	(object ItemLabel
				    Parent_View 	@611
				    location   	(1995, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	540
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @612
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 512)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@612
				    location   	(2418, 460)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @613
				location   	(2684, 962)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@612
				vertices   	(list Points
				    (2684, 962)
				    (2684, 576)))
			    (object ClassView "Class" "Logical View::xsd::XSDCompositor" @614
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1200)
				label      	(object ItemLabel
				    Parent_View 	@614
				    location   	(45, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDCompositor")
				stereotype 	(object ItemLabel
				    Parent_View 	@614
				    location   	(45, 1066)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B869B620037"
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConstraint" @615
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 528)
				label      	(object ItemLabel
				    Parent_View 	@615
				    location   	(638, 469)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDConstraint")
				stereotype 	(object ItemLabel
				    Parent_View 	@615
				    location   	(638, 419)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B869E2601AE"
				width      	342
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDerivationMethod" @616
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2192, 2272)
				label      	(object ItemLabel
				    Parent_View 	@616
				    location   	(1980, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"XSDDerivationMethod")
				stereotype 	(object ItemLabel
				    Parent_View 	@616
				    location   	(1980, 2163)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	424
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A0B000CE"
				width      	442
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintCategory" @617
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 176)
				label      	(object ItemLabel
				    Parent_View 	@617
				    location   	(1281, 88)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	607
				    justify    	0
				    label      	"XSDIdentityConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@617
				    location   	(1281, 38)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	607
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A1E00272"
				width      	625
				height     	300
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDContentTypeCategory" @618
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2704, 2224)
				label      	(object ItemLabel
				    Parent_View 	@618
				    location   	(2456, 2115)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	496
				    justify    	0
				    label      	"XSDContentTypeCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@618
				    location   	(2456, 2065)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	496
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B86A79F03A2"
				width      	514
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDVariety" @619
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1600)
				label      	(object ItemLabel
				    Parent_View 	@619
				    location   	(708, 1516)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@619
				    location   	(708, 1466)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF7730249"
				width      	362
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProcessContents" @620
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(976, 2240)
				label      	(object ItemLabel
				    Parent_View 	@620
				    location   	(766, 2156)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDProcessContents")
				stereotype 	(object ItemLabel
				    Parent_View 	@620
				    location   	(766, 2106)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF8C70284"
				width      	438
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathVariety" @621
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2768, 160)
				label      	(object ItemLabel
				    Parent_View 	@621
				    location   	(2587, 97)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	363
				    justify    	0
				    label      	"XSDXPathVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@621
				    location   	(2587, 47)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	363
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FFB89033A"
				width      	381
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @622
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 1872)
				label      	(object ItemLabel
				    Parent_View 	@622
				    location   	(1389, 1788)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@622
				    location   	(1389, 1738)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				compartment 	(object Compartment
				    Parent_View 	@622
				    location   	(1389, 1848)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	199
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @623
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 2000)
				label      	(object ItemLabel
				    Parent_View 	@623
				    location   	(1786, 1941)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@623
				    location   	(1786, 1891)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C2CA01CB"
				compartment 	(object Compartment
				    Parent_View 	@623
				    location   	(1786, 2001)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	382
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSubstitutionGroupExclusions" @624
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1184)
				label      	(object ItemLabel
				    Parent_View 	@624
				    location   	(485, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	630
				    justify    	0
				    label      	"XSDSubstitutionGroupExclusions")
				stereotype 	(object ItemLabel
				    Parent_View 	@624
				    location   	(485, 1075)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	630
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C59100AE"
				width      	648
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @625
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1440, 1200)
				label      	(object ItemLabel
				    Parent_View 	@625
				    location   	(1171, 1116)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@625
				    location   	(1171, 1066)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5A403DF"
				compartment 	(object Compartment
				    Parent_View 	@625
				    location   	(1171, 1176)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	236
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"))
				width      	556
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @626
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1664, 2272)
				label      	(object ItemLabel
				    Parent_View 	@626
				    location   	(1398, 2213)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@626
				    location   	(1398, 2163)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5BE0272"
				compartment 	(object Compartment
				    Parent_View 	@626
				    location   	(1398, 2273)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"))
				width      	550
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamespaceConstraintCategory" @627
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 2240)
				label      	(object ItemLabel
				    Parent_View 	@627
				    location   	(45, 2154)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	678
				    justify    	0
				    label      	"XSDNamespaceConstraintCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@627
				    location   	(45, 2104)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	678
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5EA0023"
				width      	696
				height     	296
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @628
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1264, 880)
				label      	(object ItemLabel
				    Parent_View 	@628
				    location   	(571, 749)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1386
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@628
				    location   	(571, 809)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	1357
				    compartmentItems 	(list Compartment
					"+ nillable : boolean"
					"<<0..*>> + disallowedSubstitutions : XSDDisallowedSubstitutions"
					"<<0..*>> + substitutionGroupExclusions : XSDSubstitutionGroupExclusions"
					"+ abstract : boolean"))
				width      	1404
				height     	286
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @629
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@628
				supplier   	@609
				line_style 	3
				origin_attachment 	(681, 737)
				terminal_attachment 	(681, 697)
				drawSupplier 	@610)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @630
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@630
				    location   	(35, 812)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	492
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @631
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2688, 1152)
				label      	(object ItemLabel
				    Parent_View 	@631
				    location   	(2420, 1100)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @632
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@631
				supplier   	@612
				line_style 	3
				origin_attachment 	(2862, 1088)
				terminal_attachment 	(2862, 962)
				drawSupplier 	@613)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @633
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1312)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@633
				    location   	(2168, 1261)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	368
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	386
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @634
				location   	(2375, 1465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@633
				vertices   	(list Points
				    (2375, 1465)
				    (2375, 1375)))
			    (object InheritView "" @635
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@633
				supplier   	@612
				line_style 	3
				origin_attachment 	(2368, 1249)
				terminal_attachment 	(2368, 962)
				drawSupplier 	@613)
			    (object InheritView "" @636
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@603
				supplier   	@633
				line_style 	3
				origin_attachment 	(2818, 1512)
				terminal_attachment 	(2818, 1465)
				drawSupplier 	@634)
			    (object InheritView "" @637
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@605
				supplier   	@633
				line_style 	3
				origin_attachment 	(1406, 1507)
				terminal_attachment 	(1406, 1465)
				drawSupplier 	@634)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @638
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 1152)
				label      	(object ItemLabel
				    Parent_View 	@638
				    location   	(1818, 1101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @639
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@638
				supplier   	@612
				line_style 	3
				origin_attachment 	(2115, 1089)
				terminal_attachment 	(2115, 962)
				drawSupplier 	@613)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @640
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 528)
				label      	(object ItemLabel
				    Parent_View 	@640
				    location   	(1034, 468)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	1132
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	1150
				height     	144
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @641
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684AA30242"
				client     	@640
				supplier   	@601
				line_style 	3
				origin_attachment 	(1568, 456)
				terminal_attachment 	(1568, 362)
				drawSupplier 	@604)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @642
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 784)
				label      	(object ItemLabel
				    Parent_View 	@642
				    location   	(2078, 703)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	484
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	502
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @643
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 320)
				label      	(object ItemLabel
				    Parent_View 	@643
				    location   	(43, 268)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	266
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	284
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @644
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68494302F1"
				client     	@642
				supplier   	@601
				line_style 	3
				origin_attachment 	(2290, 691)
				terminal_attachment 	(2290, 362)
				drawSupplier 	@604)
			    (object InheritView "" @645
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@630
				supplier   	@609
				line_style 	3
				origin_attachment 	(141, 800)
				terminal_attachment 	(141, 697)
				drawSupplier 	@610)
			    (object InheritView "" @646
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@609
				supplier   	@601
				line_style 	3
				origin_attachment 	(372, 419)
				terminal_attachment 	(372, 362)
				drawSupplier 	@604)
			    (object InheritView "" @647
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@612
				supplier   	@601
				line_style 	3
				origin_attachment 	(2687, 448)
				terminal_attachment 	(2687, 362)
				drawSupplier 	@604)))
		    (object ClassDiagram "4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
			quid       	"3B6C3265005F"
			title      	"4. Component Hierarchy, Relations and Attributes (Part 2: Datatypes)"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDFixedFacet" @648
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@648
				    location   	(32, 840)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	320
				    justify    	0
				    label      	"XSDFixedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C699E00C1"
				width      	338
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @649
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 896)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@649
				    location   	(504, 845)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"XSDRepeatableFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6AA6031A"
				width      	450
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @650
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1168)
				label      	(object ItemLabel
				    Parent_View 	@650
				    location   	(266, 1112)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDEnumerationFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ACE0141"
				width      	478
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @651
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1008, 1168)
				label      	(object ItemLabel
				    Parent_View 	@651
				    location   	(777, 1112)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDPatternFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ADB026C"
				width      	480
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @652
				location   	(718, 1049)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@649
				vertices   	(list Points
				    (718, 1049)
				    (718, 959)))
			    (object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @653
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 928)
				label      	(object ItemLabel
				    Parent_View 	@653
				    location   	(1799, 872)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDOrderedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C74DD0248"
				width      	420
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @654
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 928)
				label      	(object ItemLabel
				    Parent_View 	@654
				    location   	(1383, 872)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	370
				    justify    	0
				    label      	"XSDBoundedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C751D0344"
				width      	388
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @655
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2032, 1104)
				label      	(object ItemLabel
				    Parent_View 	@655
				    location   	(1807, 1048)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDCardinalityFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C755D03D2"
				width      	468
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @656
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 1104)
				label      	(object ItemLabel
				    Parent_View 	@656
				    location   	(1319, 1049)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	370
				    justify    	0
				    label      	"XSDNumericFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C75950206"
				width      	388
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @657
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 1376)
				label      	(object ItemLabel
				    Parent_View 	@657
				    location   	(491, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	330
				    justify    	0
				    label      	"XSDLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C776200E7"
				width      	348
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @658
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(608, 1552)
				label      	(object ItemLabel
				    Parent_View 	@658
				    location   	(405, 1497)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDMinLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C778C0065"
				width      	424
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @659
				location   	(144, 1262)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@648
				vertices   	(list Points
				    (144, 1262)
				    (144, 964)))
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @660
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1216, 1552)
				label      	(object ItemLabel
				    Parent_View 	@660
				    location   	(1007, 1497)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDMaxLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C77C70146"
				width      	436
				height     	134
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @661
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1376)
				label      	(object ItemLabel
				    Parent_View 	@661
				    location   	(880, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	480
				    justify    	0
				    label      	"XSDWhiteSpaceFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C784601B7"
				width      	498
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @662
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 1728)
				label      	(object ItemLabel
				    Parent_View 	@662
				    location   	(1090, 1676)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDMaxInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C787D00DA"
				width      	462
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @663
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 1904)
				label      	(object ItemLabel
				    Parent_View 	@663
				    location   	(1193, 1852)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDMaxExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C789600C2"
				width      	480
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @664
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(496, 1728)
				label      	(object ItemLabel
				    Parent_View 	@664
				    location   	(282, 1676)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	428
				    justify    	0
				    label      	"XSDMinInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C788702C9"
				width      	446
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @665
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1904)
				label      	(object ItemLabel
				    Parent_View 	@665
				    location   	(124, 1852)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDMinExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C792D000A"
				width      	474
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @666
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2112)
				label      	(object ItemLabel
				    Parent_View 	@666
				    location   	(52, 2056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDTotalDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79A0020E"
				width      	426
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @667
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 2112)
				label      	(object ItemLabel
				    Parent_View 	@667
				    location   	(1318, 2056)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDFractionDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79BE02EE"
				width      	486
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @668
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C9D03C7"
				client     	@650
				supplier   	@649
				line_style 	3
				origin_attachment 	(394, 1100)
				terminal_attachment 	(394, 1049)
				drawSupplier 	@652)
			    (object InheritView "" @669
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C78620045"
				client     	@661
				supplier   	@648
				line_style 	3
				origin_attachment 	(1119, 1308)
				terminal_attachment 	(1119, 1262)
				drawSupplier 	@659)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @670
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(336, 160)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@670
				    location   	(174, 117)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @671
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6CA5038D"
				client     	@651
				supplier   	@649
				line_style 	3
				origin_attachment 	(1044, 1100)
				terminal_attachment 	(1044, 1049)
				drawSupplier 	@652)
			    (object InheritView "" @672
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C778002DF"
				client     	@657
				supplier   	@648
				line_style 	3
				origin_attachment 	(663, 1308)
				terminal_attachment 	(663, 1262)
				drawSupplier 	@659)
			    (object ClassView "Class" "Logical View::xsd::XSDOrdered" @673
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1408)
				label      	(object ItemLabel
				    Parent_View 	@673
				    location   	(1835, 1324)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDOrdered")
				stereotype 	(object ItemLabel
				    Parent_View 	@673
				    location   	(1835, 1274)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BC7715202E4"
				width      	444
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinality" @674
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2048, 1728)
				label      	(object ItemLabel
				    Parent_View 	@674
				    location   	(1835, 1669)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDCardinality")
				stereotype 	(object ItemLabel
				    Parent_View 	@674
				    location   	(1835, 1619)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BC7715D009B"
				width      	444
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpace" @675
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 2032)
				label      	(object ItemLabel
				    Parent_View 	@675
				    location   	(1861, 1951)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDWhiteSpace")
				stereotype 	(object ItemLabel
				    Parent_View 	@675
				    location   	(1861, 1901)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BEED0F60342"
				width      	424
				height     	287
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::Value" @676
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 2096)
				label      	(object ItemLabel
				    Parent_View 	@676
				    location   	(571, 2062)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	618
				    justify    	0
				    label      	"Value")
				stereotype 	(object ItemLabel
				    Parent_View 	@676
				    location   	(571, 2012)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	618
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3C040B5B031F"
				width      	636
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @677
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B610337"
				client     	@666
				supplier   	@648
				line_style 	3
				origin_attachment 	(75, 2044)
				terminal_attachment 	(75, 1262)
				drawSupplier 	@659)
			    (object ClassView "Class" "Logical View::xsd::XSDMinFacet" @678
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@678
				    location   	(113, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	286
				    justify    	0
				    label      	"XSDMinFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CDE037C"
				compartment 	(object Compartment
				    Parent_View 	@678
				    location   	(113, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	254
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	304
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @679
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1584, 1376)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@679
				    location   	(1440, 1320)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	288
				    justify    	0
				    label      	"XSDMaxFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CEB010E"
				compartment 	(object Compartment
				    Parent_View 	@679
				    location   	(1440, 1380)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	258
				    compartmentItems 	(list Compartment
					"+ value : Value"))
				width      	306
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @680
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D240098"
				client     	@678
				supplier   	@648
				line_style 	3
				origin_attachment 	(235, 1308)
				terminal_attachment 	(235, 1262)
				drawSupplier 	@659)
			    (object InheritView "" @681
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C0A1D3103AD"
				client     	@679
				supplier   	@648
				line_style 	3
				origin_attachment 	(1581, 1308)
				terminal_attachment 	(1581, 1262)
				drawSupplier 	@659)
			    (object InheritView "" @682
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B520353"
				client     	@664
				supplier   	@678
				line_style 	3
				origin_attachment 	(285, 1664)
				terminal_attachment 	(285, 1444))
			    (object InheritView "" @683
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8303B8"
				client     	@662
				supplier   	@679
				line_style 	3
				origin_attachment 	(1500, 1664)
				terminal_attachment 	(1500, 1444))
			    (object InheritView "" @684
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B8E0309"
				client     	@663
				supplier   	@679
				line_style 	3
				origin_attachment 	(1622, 1840)
				terminal_attachment 	(1622, 1444))
			    (object InheritView "" @685
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C77C400C0"
				client     	@658
				supplier   	@648
				line_style 	3
				origin_attachment 	(447, 1485)
				terminal_attachment 	(447, 1262)
				drawSupplier 	@659)
			    (object InheritView "" @686
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B7D00FC"
				client     	@660
				supplier   	@648
				line_style 	3
				origin_attachment 	(1397, 1485)
				terminal_attachment 	(1397, 1262)
				drawSupplier 	@659)
			    (object InheritView "" @687
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B990016"
				client     	@667
				supplier   	@648
				line_style 	3
				origin_attachment 	(1775, 2044)
				terminal_attachment 	(1775, 1262)
				drawSupplier 	@659)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @688
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 368)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@688
				    location   	(174, 318)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	388
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				width      	406
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @689
				location   	(366, 522)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@688
				vertices   	(list Points
				    (366, 522)
				    (366, 430)))
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @690
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@690
				    location   	(34, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	462
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @691
				location   	(272, 781)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@690
				vertices   	(list Points
				    (272, 781)
				    (272, 687)))
			    (object InheritView "" @692
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@649
				supplier   	@690
				line_style 	3
				origin_attachment 	(594, 833)
				terminal_attachment 	(594, 781)
				drawSupplier 	@691)
			    (object ClassView "Class" "Logical View::xsd::XSDFundamentalFacet" @693
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@693
				    location   	(526, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	452
				    justify    	0
				    label      	"XSDFundamentalFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C69E801D6"
				width      	470
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @694
				location   	(768, 789)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@693
				vertices   	(list Points
				    (768, 789)
				    (768, 687)))
			    (object InheritView "" @695
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7659012C"
				client     	@653
				supplier   	@693
				line_style 	3
				origin_attachment 	(2050, 860)
				terminal_attachment 	(2050, 789)
				drawSupplier 	@694)
			    (object InheritView "" @696
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C763C0224"
				client     	@654
				supplier   	@693
				line_style 	3
				origin_attachment 	(1525, 860)
				terminal_attachment 	(1525, 789)
				drawSupplier 	@694)
			    (object InheritView "" @697
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C764F0131"
				client     	@655
				supplier   	@693
				line_style 	3
				origin_attachment 	(2237, 1036)
				terminal_attachment 	(2237, 789)
				drawSupplier 	@694)
			    (object InheritView "" @698
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C76420074"
				client     	@656
				supplier   	@693
				line_style 	3
				origin_attachment 	(1328, 1037)
				terminal_attachment 	(1328, 789)
				drawSupplier 	@694)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @699
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1456, 160)
				label      	(object ItemLabel
				    Parent_View 	@699
				    location   	(1137, 47)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	638
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@699
				    location   	(1137, 107)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	598
				    compartmentItems 	(list Compartment
					"+ variety : XSDVariety"
					"<<0..*>> + final : XSDSimpleFinal"))
				width      	656
				height     	250
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$126" @700
				location   	(775, 178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D597102EA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$127" @701
					Parent_View 	@700
					location   	(-1209, -46)
					label      	(object SegLabel @702
					    Parent_View 	@701
					    location   	(509, 235)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D59750119"
					client     	@700
					supplier   	@688
					vertices   	(list Points
					    (775, 178)
					    (550, 178)
					    (550, 306))
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(550, 306))
				    (object RoleView "simpleTypeDefinition" @703
					Parent_View 	@700
					location   	(-1209, -46)
					label      	(object SegLabel @704
					    Parent_View 	@703
					    location   	(875, 136)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+simpleTypeDefinition"
					    pctDist    	0.283133
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D59750105"
					client     	@700
					supplier   	@699
					line_style 	3
					origin_attachment 	(775, 178)
					terminal_attachment 	(1128, 178)
					label      	(object SegLabel @705
					    Parent_View 	@703
					    location   	(1061, 215)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.812500
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$188" @706
				location   	(369, 72)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BC8AE0203A8"
				roleview_list 	(list RoleViews
				    (object RoleView "facets" @707
					Parent_View 	@706
					location   	(-1615, -152)
					label      	(object SegLabel @708
					    Parent_View 	@707
					    location   	(187, 496)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	132
					    justify    	0
					    label      	"+facets"
					    pctDist    	0.913863
					    height     	87
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BC8AE060065"
					client     	@706
					supplier   	@690
					vertices   	(list Points
					    (369, 72)
					    (100, 72)
					    (100, 561))
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(100, 561)
					label      	(object SegLabel @709
					    Parent_View 	@707
					    location   	(60, 498)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.917900
					    height     	41
					    orientation 	1))
				    (object RoleView "$UNNAMED$189" @710
					Parent_View 	@706
					location   	(-1615, -152)
					label      	(object SegLabel @711
					    Parent_View 	@710
					    location   	(976, 31)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BC8AE060051"
					client     	@706
					supplier   	@699
					line_style 	3
					origin_attachment 	(369, 72)
					terminal_attachment 	(1128, 72))))
			    (object AssociationViewNew "$UNNAMED$230" @712
				location   	(1538, 508)
				label      	(object SegLabel @713
				    Parent_View 	@712
				    location   	(1538, 449)
				    font       	(object Font
					italics    	TRUE)
				    hidden     	TRUE
				    anchor     	1
				    anchor_loc 	1
				    nlines     	1
				    max_width  	60
				    justify    	0
				    label      	""
				    pctDist    	0.500000
				    height     	60
				    orientation 	0)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C276DA000DE"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$231" @714
					Parent_View 	@712
					location   	(-446, 284)
					label      	(object SegLabel @715
					    Parent_View 	@714
					    location   	(1446, 340)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C276DA000DF"
					client     	@712
					supplier   	@699
					vertices   	(list Points
					    (1538, 508)
					    (1487, 508)
					    (1487, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1487, 285))
				    (object RoleView "itemTypeDefinition" @716
					Parent_View 	@712
					location   	(-446, 284)
					label      	(object SegLabel @717
					    Parent_View 	@716
					    location   	(1423, 577)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+itemTypeDefinition"
					    pctDist    	-2.211539
					    height     	69
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C276DA000E0"
					client     	@712
					supplier   	@699
					vertices   	(list Points
					    (1538, 508)
					    (1590, 508)
					    (1590, 285))
					line_style 	3
					origin_attachment 	(1538, 508)
					terminal_attachment 	(1590, 285)
					label      	(object SegLabel @718
					    Parent_View 	@716
					    location   	(1539, 468)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.003984
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$190" @719
				location   	(1729, 574)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C34B70208"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$191" @720
					Parent_View 	@719
					location   	(-255, 350)
					label      	(object SegLabel @721
					    Parent_View 	@720
					    location   	(1637, 353)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C34BE0258"
					client     	@719
					supplier   	@699
					vertices   	(list Points
					    (1729, 574)
					    (1678, 574)
					    (1678, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1678, 285))
				    (object RoleView "memberTypeDefinitions" @722
					Parent_View 	@719
					location   	(-255, 350)
					label      	(object SegLabel @723
					    Parent_View 	@722
					    location   	(1559, 654)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	444
					    justify    	0
					    label      	"+memberTypeDefinitions"
					    pctDist    	-3.269231
					    height     	80
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C34BE0259"
					client     	@719
					supplier   	@699
					vertices   	(list Points
					    (1729, 574)
					    (1781, 574)
					    (1781, 285))
					line_style 	3
					origin_attachment 	(1729, 574)
					terminal_attachment 	(1781, 285)
					label      	(object SegLabel @724
					    Parent_View 	@722
					    location   	(1730, 520)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.312121
					    height     	52
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$192" @725
				location   	(748, 269)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C363201DB"
				roleview_list 	(list RoleViews
				    (object RoleView "fundamentalFacets" @726
					Parent_View 	@725
					location   	(-1236, 45)
					label      	(object SegLabel @727
					    Parent_View 	@726
					    location   	(873, 312)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+fundamentalFacets"
					    pctDist    	-1.409091
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C36350063"
					client     	@725
					supplier   	@693
					vertices   	(list Points
					    (748, 269)
					    (659, 269)
					    (659, 561))
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(659, 561)
					label      	(object SegLabel @728
					    Parent_View 	@726
					    location   	(728, 385)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.538028
					    height     	69
					    orientation 	0))
				    (object RoleView "$UNNAMED$193" @729
					Parent_View 	@725
					location   	(-1236, 45)
					label      	(object SegLabel @730
					    Parent_View 	@729
					    location   	(1052, 228)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C36350059"
					client     	@725
					supplier   	@699
					line_style 	3
					origin_attachment 	(748, 269)
					terminal_attachment 	(1128, 269))))
			    (object AssociationViewNew "$UNNAMED$194" @731
				location   	(1175, 396)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D35AB0273"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$195" @732
					Parent_View 	@731
					location   	(-809, 172)
					label      	(object SegLabel @733
					    Parent_View 	@732
					    location   	(1094, 316)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B20291"
					client     	@731
					supplier   	@699
					vertices   	(list Points
					    (1175, 396)
					    (1135, 396)
					    (1135, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1135, 285))
				    (object RoleView "baseTypeDefinition" @734
					Parent_View 	@731
					location   	(-809, 172)
					label      	(object SegLabel @735
					    Parent_View 	@734
					    location   	(1074, 443)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+baseTypeDefinition"
					    pctDist    	-2.533333
					    height     	47
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D35B202A5"
					client     	@731
					supplier   	@699
					vertices   	(list Points
					    (1175, 396)
					    (1215, 396)
					    (1215, 285))
					line_style 	3
					origin_attachment 	(1175, 396)
					terminal_attachment 	(1215, 285)
					label      	(object SegLabel @736
					    Parent_View 	@734
					    location   	(1172, 359)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.096154
					    height     	38
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$196" @737
				location   	(1360, 446)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5572016C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$197" @738
					Parent_View 	@737
					location   	(-624, 222)
					label      	(object SegLabel @739
					    Parent_View 	@738
					    location   	(1268, 327)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5575022F"
					client     	@737
					supplier   	@699
					vertices   	(list Points
					    (1360, 446)
					    (1309, 446)
					    (1309, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1309, 285))
				    (object RoleView "primitiveTypeDefinition" @740
					Parent_View 	@737
					location   	(-624, 222)
					label      	(object SegLabel @741
					    Parent_View 	@740
					    location   	(1204, 508)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	432
					    justify    	0
					    label      	"+primitiveTypeDefinition"
					    pctDist    	-3.000000
					    height     	62
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D55750243"
					client     	@737
					supplier   	@699
					vertices   	(list Points
					    (1360, 446)
					    (1412, 446)
					    (1412, 285))
					line_style 	3
					origin_attachment 	(1360, 446)
					terminal_attachment 	(1412, 285)
					label      	(object SegLabel @742
					    Parent_View 	@740
					    location   	(1373, 409)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.062147
					    height     	38
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @743
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 512)
				label      	(object ItemLabel
				    Parent_View 	@743
				    location   	(1917, 428)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@743
				    location   	(1917, 378)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				compartment 	(object Compartment
				    Parent_View 	@743
				    location   	(1917, 488)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	3
				    max_width  	202
				    compartmentItems 	(list Compartment
					"+ list"
					"+ restriction"
					"+ union"))
				width      	344
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDVariety" @744
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 176)
				label      	(object ItemLabel
				    Parent_View 	@744
				    location   	(1918, 92)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDVariety")
				stereotype 	(object ItemLabel
				    Parent_View 	@744
				    location   	(1918, 42)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B8FF7730249"
				width      	342
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @745
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C7B0396"
				client     	@693
				supplier   	@688
				line_style 	3
				origin_attachment 	(591, 561)
				terminal_attachment 	(591, 522)
				drawSupplier 	@689)
			    (object InheritView "" @746
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@690
				supplier   	@688
				line_style 	3
				origin_attachment 	(272, 561)
				terminal_attachment 	(272, 522)
				drawSupplier 	@689)
			    (object InheritView "" @747
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@688
				supplier   	@670
				line_style 	3
				origin_attachment 	(366, 306)
				terminal_attachment 	(366, 215))
			    (object InheritView "" @748
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8801B4"
				client     	@648
				supplier   	@690
				line_style 	3
				origin_attachment 	(147, 828)
				terminal_attachment 	(147, 781)
				drawSupplier 	@691)
			    (object InheritView "" @749
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C7B590281"
				client     	@665
				supplier   	@678
				line_style 	3
				origin_attachment 	(150, 1840)
				terminal_attachment 	(150, 1444))))
		    (object ClassDiagram "5. Component Annotations"
			quid       	"3B69D68D00D2"
			title      	"5. Component Annotations"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @750
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 80)
				label      	(object ItemLabel
				    Parent_View 	@750
				    location   	(88, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	336
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	354
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @751
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1696)
				label      	(object ItemLabel
				    Parent_View 	@751
				    location   	(82, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @752
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1872, 1504)
				label      	(object ItemLabel
				    Parent_View 	@752
				    location   	(1626, 1461)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	510
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @753
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1888, 304)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@753
				    location   	(1663, 261)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	468
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @754
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 1360)
				label      	(object ItemLabel
				    Parent_View 	@754
				    location   	(74, 1317)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	588
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	606
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @755
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 704)
				label      	(object ItemLabel
				    Parent_View 	@755
				    location   	(86, 661)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @756
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 1184)
				label      	(object ItemLabel
				    Parent_View 	@756
				    location   	(74, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	492
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	510
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @757
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 544)
				label      	(object ItemLabel
				    Parent_View 	@757
				    location   	(86, 501)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @758
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 80)
				label      	(object ItemLabel
				    Parent_View 	@758
				    location   	(1068, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	264
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	282
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @759
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1216)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@759
				    location   	(1750, 1173)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @760
				location   	(1994, 1412)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@759
				vertices   	(list Points
				    (1994, 1412)
				    (1994, 1271)))
			    (object InheritView "" @761
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@752
				supplier   	@759
				line_style 	3
				origin_attachment 	(2084, 1449)
				terminal_attachment 	(2084, 1412)
				drawSupplier 	@760)
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @762
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 864)
				label      	(object ItemLabel
				    Parent_View 	@762
				    location   	(80, 821)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	384
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	402
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @763
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2000, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@763
				    location   	(1892, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				width      	234
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @764
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 384)
				label      	(object ItemLabel
				    Parent_View 	@764
				    location   	(84, 341)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @765
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 224)
				label      	(object ItemLabel
				    Parent_View 	@765
				    location   	(86, 181)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	486
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @766
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1792, 1712)
				label      	(object ItemLabel
				    Parent_View 	@766
				    location   	(1467, 1674)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	651
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	669
				height     	100
				annotation 	8)
			    (object InheritView "" @767
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@766
				supplier   	@759
				line_style 	3
				origin_attachment 	(1572, 1662)
				terminal_attachment 	(1572, 1412)
				drawSupplier 	@760)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @768
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1024)
				label      	(object ItemLabel
				    Parent_View 	@768
				    location   	(78, 981)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRepeatableFacet" @769
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 560)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@769
				    location   	(1688, 517)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	432
				    justify    	0
				    label      	"XSDRepeatableFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6AA6031A"
				width      	450
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @770
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1536)
				label      	(object ItemLabel
				    Parent_View 	@770
				    location   	(71, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @771
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 944)
				label      	(object ItemLabel
				    Parent_View 	@771
				    location   	(872, 685)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	720
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	738
				height     	543
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$132" @772
				location   	(865, 1359)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0D0183"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$133" @773
					Parent_View 	@772
					location   	(-255, 559)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0D033C"
					client     	@772
					supplier   	@754
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(671, 1359))
				    (object RoleView "annotation" @774
					Parent_View 	@772
					location   	(-255, 559)
					label      	(object SegLabel @775
					    Parent_View 	@774
					    location   	(798, 1321)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-1.116667
					    height     	39
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0D0346"
					client     	@772
					supplier   	@771
					vertices   	(list Points
					    (865, 1359)
					    (925, 1359)
					    (925, 1215))
					line_style 	3
					origin_attachment 	(865, 1359)
					terminal_attachment 	(925, 1215)
					label      	(object SegLabel @776
					    Parent_View 	@774
					    location   	(987, 1276)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.706422
					    height     	62
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$156" @777
				location   	(713, 709)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0F0212"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$157" @778
					Parent_View 	@777
					location   	(-407, -90)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1000C9"
					client     	@777
					supplier   	@755
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(563, 709))
				    (object RoleView "annotation" @779
					Parent_View 	@777
					location   	(-407, -90)
					label      	(object SegLabel @780
					    Parent_View 	@779
					    location   	(727, 667)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.095238
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1000D3"
					client     	@777
					supplier   	@771
					line_style 	3
					origin_attachment 	(713, 709)
					terminal_attachment 	(863, 709)
					label      	(object SegLabel @781
					    Parent_View 	@779
					    location   	(796, 753)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.553571
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$150" @782
				location   	(719, 1193)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB15008A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$151" @783
					Parent_View 	@782
					location   	(-401, 393)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB160096"
					client     	@782
					supplier   	@756
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(575, 1193))
				    (object RoleView "annotation" @784
					Parent_View 	@782
					location   	(-401, 393)
					label      	(object SegLabel @785
					    Parent_View 	@784
					    location   	(720, 1147)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.006993
					    height     	47
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1600A0"
					client     	@782
					supplier   	@771
					line_style 	3
					origin_attachment 	(719, 1193)
					terminal_attachment 	(863, 1193)
					label      	(object SegLabel @786
					    Parent_View 	@784
					    location   	(806, 1240)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.604167
					    height     	47
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$110" @787
				location   	(785, 550)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB0A0066"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$111" @788
					Parent_View 	@787
					location   	(-335, -250)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0B023F"
					client     	@787
					supplier   	@757
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(563, 550))
				    (object RoleView "annotation" @789
					Parent_View 	@787
					location   	(-335, -250)
					label      	(object SegLabel @790
					    Parent_View 	@789
					    location   	(779, 516)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.070707
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB0B0249"
					client     	@787
					supplier   	@771
					vertices   	(list Points
					    (785, 550)
					    (884, 550)
					    (884, 673))
					line_style 	3
					origin_attachment 	(785, 550)
					terminal_attachment 	(884, 673)
					label      	(object SegLabel @791
					    Parent_View 	@789
					    location   	(935, 612)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.729730
					    height     	51
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$182" @792
				location   	(1184, 404)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E4560290"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$183" @793
					Parent_View 	@792
					location   	(-32, -412)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E4570165"
					client     	@792
					supplier   	@758
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 135))
				    (object RoleView "annotations" @794
					Parent_View 	@792
					location   	(-32, -412)
					label      	(object SegLabel @795
					    Parent_View 	@794
					    location   	(1324, 226)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	249
					    justify    	0
					    label      	"+annotations"
					    pctDist    	-0.665428
					    height     	140
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E457016F"
					client     	@792
					supplier   	@771
					line_style 	3
					origin_attachment 	(1184, 404)
					terminal_attachment 	(1184, 673)
					label      	(object SegLabel @796
					    Parent_View 	@794
					    location   	(1251, 615)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.784387
					    height     	67
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$198" @797
				location   	(1752, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E2910158"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$199" @798
					Parent_View 	@797
					location   	(536, 218)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E292019F"
					client     	@797
					supplier   	@759
					vertices   	(list Points
					    (1752, 1034)
					    (1812, 1034)
					    (1812, 1161))
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1812, 1161))
				    (object RoleView "annotation" @799
					Parent_View 	@797
					location   	(536, 218)
					label      	(object SegLabel @800
					    Parent_View 	@799
					    location   	(1743, 997)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.059603
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69E29201A9"
					client     	@797
					supplier   	@771
					line_style 	3
					origin_attachment 	(1752, 1034)
					terminal_attachment 	(1601, 1034)
					label      	(object SegLabel @801
					    Parent_View 	@799
					    location   	(1684, 1066)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.450331
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$200" @802
				location   	(1896, 881)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B9006CF0088"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$201" @803
					Parent_View 	@802
					location   	(621, 40)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B9006D1015D"
					client     	@802
					supplier   	@759
					vertices   	(list Points
					    (1896, 881)
					    (1956, 881)
					    (1956, 1161))
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1956, 1161))
				    (object RoleView "derivationAnnotation" @804
					Parent_View 	@802
					location   	(621, 40)
					label      	(object SegLabel @805
					    Parent_View 	@804
					    location   	(1821, 842)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	390
					    justify    	0
					    label      	"+derivationAnnotation"
					    pctDist    	0.254237
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B9006D10167"
					client     	@802
					supplier   	@771
					line_style 	3
					origin_attachment 	(1896, 881)
					terminal_attachment 	(1601, 881)
					label      	(object SegLabel @806
					    Parent_View 	@804
					    location   	(1689, 914)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.705085
					    height     	33
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$202" @807
				location   	(2040, 715)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB330264"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$203" @808
					Parent_View 	@807
					location   	(920, -85)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB340284"
					client     	@807
					supplier   	@759
					vertices   	(list Points
					    (2040, 715)
					    (2100, 715)
					    (2100, 1161))
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(2100, 1161))
				    (object RoleView "annotations" @809
					Parent_View 	@807
					location   	(920, -85)
					label      	(object SegLabel @810
					    Parent_View 	@809
					    location   	(1758, 681)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.643192
					    height     	35
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB34028E"
					client     	@807
					supplier   	@771
					line_style 	3
					origin_attachment 	(2040, 715)
					terminal_attachment 	(1601, 715)
					label      	(object SegLabel @811
					    Parent_View 	@809
					    location   	(1685, 746)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.809313
					    height     	31
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$220" @812
				location   	(668, 865)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C239134004F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$221" @813
					Parent_View 	@812
					location   	(-612, 33)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C23913600CA"
					client     	@812
					supplier   	@762
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(473, 865))
				    (object RoleView "annotation" @814
					Parent_View 	@812
					location   	(-612, 33)
					label      	(object SegLabel @815
					    Parent_View 	@814
					    location   	(714, 825)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.234146
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C23913600D4"
					client     	@812
					supplier   	@771
					line_style 	3
					origin_attachment 	(668, 865)
					terminal_attachment 	(863, 865)
					label      	(object SegLabel @816
					    Parent_View 	@814
					    location   	(801, 903)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.682051
					    height     	38
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$124" @817
				location   	(1472, 167)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D23B901CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$125" @818
					Parent_View 	@817
					location   	(256, -649)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D23BA01C4"
					client     	@817
					supplier   	@763
					vertices   	(list Points
					    (1472, 167)
					    (1472, 72)
					    (1883, 72))
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1883, 72))
				    (object RoleView "annotation" @819
					Parent_View 	@817
					location   	(256, -649)
					label      	(object SegLabel @820
					    Parent_View 	@819
					    location   	(1604, 129)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.076305
					    height     	132
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D23BA01CE"
					client     	@817
					supplier   	@771
					line_style 	3
					origin_attachment 	(1472, 167)
					terminal_attachment 	(1472, 673)
					label      	(object SegLabel @821
					    Parent_View 	@819
					    location   	(1419, 618)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.893574
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$74" @822
				location   	(927, 350)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB060291"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$75" @823
					Parent_View 	@822
					location   	(-193, -450)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB070171"
					client     	@822
					supplier   	@764
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(629, 350))
				    (object RoleView "annotation" @824
					Parent_View 	@822
					location   	(-193, -450)
					label      	(object SegLabel @825
					    Parent_View 	@824
					    location   	(878, 310)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.816667
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB070172"
					client     	@822
					supplier   	@771
					vertices   	(list Points
					    (927, 350)
					    (987, 350)
					    (987, 673))
					line_style 	3
					origin_attachment 	(927, 350)
					terminal_attachment 	(987, 673)
					label      	(object SegLabel @826
					    Parent_View 	@824
					    location   	(1037, 612)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.843342
					    height     	50
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$66" @827
				location   	(1027, 222)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DADC02F5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$67" @828
					Parent_View 	@827
					location   	(-93, -578)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DADD0238"
					client     	@827
					supplier   	@765
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(563, 222))
				    (object RoleView "annotation" @829
					Parent_View 	@827
					location   	(-93, -578)
					label      	(object SegLabel @830
					    Parent_View 	@829
					    location   	(1003, 188)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	-0.406250
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DADD0242"
					client     	@827
					supplier   	@771
					vertices   	(list Points
					    (1027, 222)
					    (1087, 222)
					    (1087, 673))
					line_style 	3
					origin_attachment 	(1027, 222)
					terminal_attachment 	(1087, 673)
					label      	(object SegLabel @831
					    Parent_View 	@829
					    location   	(1137, 613)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	100
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.882583
					    height     	50
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$90" @832
				location   	(1494, 1438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B90068801C2"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$91" @833
					Parent_View 	@832
					location   	(214, 590)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B90068A0111"
					client     	@832
					supplier   	@766
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1662))
				    (object RoleView "contentAnnotation" @834
					Parent_View 	@832
					location   	(214, 590)
					label      	(object SegLabel @835
					    Parent_View 	@834
					    location   	(1696, 1356)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+contentAnnotation"
					    pctDist    	0.367713
					    height     	202
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B90068A011B"
					client     	@832
					supplier   	@771
					line_style 	3
					origin_attachment 	(1494, 1438)
					terminal_attachment 	(1494, 1215)
					label      	(object SegLabel @836
					    Parent_View 	@834
					    location   	(1443, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.713004
					    height     	51
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$144" @837
				location   	(637, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB1702C8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$145" @838
					Parent_View 	@837
					location   	(-483, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1803E2"
					client     	@837
					supplier   	@768
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(411, 1022))
				    (object RoleView "annotation" @839
					Parent_View 	@837
					location   	(-483, 222)
					label      	(object SegLabel @840
					    Parent_View 	@839
					    location   	(710, 979)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.328889
					    height     	44
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB190004"
					client     	@837
					supplier   	@771
					line_style 	3
					origin_attachment 	(637, 1022)
					terminal_attachment 	(863, 1022)
					label      	(object SegLabel @841
					    Parent_View 	@839
					    location   	(802, 1062)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.730088
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$64" @842
				location   	(1581, 607)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EA70102"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$65" @843
					Parent_View 	@842
					location   	(301, -225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EA90191"
					client     	@842
					supplier   	@769
					vertices   	(list Points
					    (1581, 607)
					    (1581, 547)
					    (1679, 547))
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1679, 547))
				    (object RoleView "annotations" @844
					Parent_View 	@842
					location   	(301, -225)
					label      	(object SegLabel @845
					    Parent_View 	@844
					    location   	(1669, 462)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	-2.196970
					    height     	88
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EA90192"
					client     	@842
					supplier   	@771
					line_style 	3
					origin_attachment 	(1581, 607)
					terminal_attachment 	(1581, 673)
					label      	(object SegLabel @846
					    Parent_View 	@844
					    location   	(1539, 620)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.196970
					    height     	42
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$204" @847
				location   	(849, 1496)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69DB11026F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$205" @848
					Parent_View 	@847
					location   	(-271, 696)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB1201F9"
					client     	@847
					supplier   	@770
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(354, 1496))
				    (object RoleView "annotation" @849
					Parent_View 	@847
					location   	(-271, 696)
					label      	(object SegLabel @850
					    Parent_View 	@849
					    location   	(942, 1464)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.188259
					    height     	33
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69DB120203"
					client     	@847
					supplier   	@771
					vertices   	(list Points
					    (849, 1496)
					    (1062, 1496)
					    (1062, 1215))
					line_style 	3
					origin_attachment 	(849, 1496)
					terminal_attachment 	(1062, 1215)
					label      	(object SegLabel @851
					    Parent_View 	@849
					    location   	(1115, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.872690
					    height     	53
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$206" @852
				location   	(952, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C626EB30005"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$207" @853
					Parent_View 	@852
					location   	(-328, 733)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EB40327"
					client     	@852
					supplier   	@770
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(354, 1565))
				    (object RoleView "annotations" @854
					Parent_View 	@852
					location   	(-328, 733)
					label      	(object SegLabel @855
					    Parent_View 	@854
					    location   	(1075, 1538)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.204959
					    height     	28
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C626EB40332"
					client     	@852
					supplier   	@771
					vertices   	(list Points
					    (952, 1565)
					    (1200, 1565)
					    (1200, 1215))
					line_style 	3
					origin_attachment 	(952, 1565)
					terminal_attachment 	(1200, 1215)
					label      	(object SegLabel @856
					    Parent_View 	@854
					    location   	(1254, 1275)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.900000
					    height     	54
					    orientation 	1))))
			    (object InheritView "" @857
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C800394"
				client     	@753
				supplier   	@763
				line_style 	3
				origin_attachment 	(1984, 249)
				terminal_attachment 	(1984, 135))
			    (object InheritView "" @858
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C6C8F002E"
				client     	@769
				supplier   	@753
				line_style 	3
				origin_attachment 	(1997, 505)
				terminal_attachment 	(1997, 359))))
		    (object ClassDiagram "6. Concrete Components"
			quid       	"3B6AD74D03C4"
			title      	"6. Concrete Components"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @859
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@859
				    location   	(126, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	342
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @860
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@860
				    location   	(568, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	528
				    justify    	0
				    label      	"XSDAttributeGroupContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6940200089"
				width      	546
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @861
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1200, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@861
				    location   	(991, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDRedefineContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AE2060172"
				width      	436
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @862
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1360, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@862
				    location   	(1156, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	426
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @863
				location   	(1360, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@862
				vertices   	(list Points
				    (1360, 561)
				    (1360, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDInclude" @864
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1632, 1200)
				label      	(object ItemLabel
				    Parent_View 	@864
				    location   	(1512, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	240
				    justify    	0
				    label      	"XSDInclude")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C7D0250"
				width      	258
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDImport" @865
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 944)
				label      	(object ItemLabel
				    Parent_View 	@865
				    location   	(1294, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDImport")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C93017F"
				width      	246
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefine" @866
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1936, 1200)
				label      	(object ItemLabel
				    Parent_View 	@866
				    location   	(1805, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDRedefine")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C9B02AD"
				width      	280
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @867
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 1200)
				label      	(object ItemLabel
				    Parent_View 	@867
				    location   	(375, 1153)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	851
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	869
				height     	119
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$142" @868
				location   	(1368, 1206)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCC5007E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$143" @869
					Parent_View 	@868
					location   	(1160, 406)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCC6006B"
					client     	@868
					supplier   	@864
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1503, 1206))
				    (object RoleView "annotation" @870
					Parent_View 	@868
					location   	(1160, 406)
					label      	(object SegLabel @871
					    Parent_View 	@870
					    location   	(1347, 1154)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.154412
					    height     	53
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCC6006C"
					client     	@868
					supplier   	@867
					line_style 	3
					origin_attachment 	(1368, 1206)
					terminal_attachment 	(1234, 1206)
					label      	(object SegLabel @872
					    Parent_View 	@870
					    location   	(1300, 1253)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	107
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.514706
					    height     	47
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$140" @873
				location   	(1168, 1022)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADCD802FC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$141" @874
					Parent_View 	@873
					location   	(960, 222)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCD9018B"
					client     	@873
					supplier   	@865
					vertices   	(list Points
					    (1168, 1022)
					    (1168, 962)
					    (1285, 962))
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1285, 962))
				    (object RoleView "annotation" @875
					Parent_View 	@873
					location   	(960, 222)
					label      	(object SegLabel @876
					    Parent_View 	@875
					    location   	(1290, 1075)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	216
					    justify    	0
					    label      	"+annotation"
					    pctDist    	0.445378
					    height     	122
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADCD9018C"
					client     	@873
					supplier   	@867
					line_style 	3
					origin_attachment 	(1168, 1022)
					terminal_attachment 	(1168, 1141)
					label      	(object SegLabel @877
					    Parent_View 	@875
					    location   	(1127, 1074)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.436975
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$162" @878
				location   	(1563, 1353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6ADE42009A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$163" @879
					Parent_View 	@878
					location   	(1355, 553)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADE4302FE"
					client     	@878
					supplier   	@866
					vertices   	(list Points
					    (1563, 1353)
					    (1940, 1353)
					    (1940, 1255))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1940, 1255))
				    (object RoleView "annotations" @880
					Parent_View 	@878
					location   	(1355, 553)
					label      	(object SegLabel @881
					    Parent_View 	@880
					    location   	(1317, 1322)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+annotations"
					    pctDist    	0.516807
					    height     	32
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6ADE430308"
					client     	@878
					supplier   	@867
					vertices   	(list Points
					    (1563, 1353)
					    (1181, 1353)
					    (1181, 1259))
					line_style 	3
					origin_attachment 	(1563, 1353)
					terminal_attachment 	(1181, 1259)
					label      	(object SegLabel @882
					    Parent_View 	@880
					    location   	(1130, 1326)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.861345
					    height     	52
					    orientation 	0))))
			    (object InheritTreeView "" @883
				location   	(288, 561)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@859
				vertices   	(list Points
				    (288, 561)
				    (288, 471)))
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @884
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@884
				    location   	(460, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	456
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	474
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticleContent" @885
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1856, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@885
				    location   	(1658, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	396
				    justify    	0
				    label      	"XSDParticleContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6BD22300C6"
				width      	414
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @886
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(720, 960)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@886
				    location   	(450, 917)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	558
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @887
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@887
				    location   	(110, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	228
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	246
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @888
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@887
				supplier   	@859
				line_style 	3
				origin_attachment 	(221, 617)
				terminal_attachment 	(221, 561)
				drawSupplier 	@883)
			    (object InheritView "" @889
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@884
				supplier   	@859
				line_style 	3
				origin_attachment 	(589, 617)
				terminal_attachment 	(589, 561)
				drawSupplier 	@883)
			    (object InheritView "" @890
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@861
				supplier   	@862
				line_style 	3
				origin_attachment 	(1016, 617)
				terminal_attachment 	(1016, 561)
				drawSupplier 	@863)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @891
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1824, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@891
				    location   	(1590, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	468
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	486
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @892
				location   	(1824, 1089)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@891
				vertices   	(list Points
				    (1824, 1089)
				    (1824, 999)))
			    (object InheritView "" @893
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8DC0381"
				client     	@864
				supplier   	@891
				line_style 	3
				origin_attachment 	(1666, 1145)
				terminal_attachment 	(1666, 1089)
				drawSupplier 	@892)
			    (object InheritView "" @894
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@866
				supplier   	@891
				line_style 	3
				origin_attachment 	(1934, 1145)
				terminal_attachment 	(1934, 1089)
				drawSupplier 	@892)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @895
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 672)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@895
				    location   	(1630, 629)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	438
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @896
				location   	(1762, 819)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@895
				vertices   	(list Points
				    (1762, 819)
				    (1762, 727)))
			    (object InheritView "" @897
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@865
				supplier   	@895
				line_style 	3
				origin_attachment 	(1416, 889)
				terminal_attachment 	(1416, 819)
				drawSupplier 	@896)
			    (object InheritView "" @898
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@895
				supplier   	@862
				line_style 	3
				origin_attachment 	(1756, 617)
				terminal_attachment 	(1756, 561)
				drawSupplier 	@863)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @899
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				location   	(1120, 144)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@899
				    location   	(875, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	508
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @900
				location   	(1120, 289)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@899
				vertices   	(list Points
				    (1120, 289)
				    (1120, 199)))
			    (object AssociationViewNew "$UNNAMED$104" @901
				location   	(1485, 215)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B0803C7"
				roleview_list 	(list RoleViews
				    (object RoleView "container" @902
					Parent_View 	@901
					location   	(989, 103)
					label      	(object SegLabel @903
					    Parent_View 	@902
					    location   	(1604, 210)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+container"
					    pctDist    	0.033113
					    height     	119
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B0C01CE"
					client     	@901
					supplier   	@899
					vertices   	(list Points
					    (1485, 215)
					    (1485, 176)
					    (1374, 176))
					line_style 	3
					origin_attachment 	(1485, 215)
					terminal_attachment 	(1374, 176)
					label      	(object SegLabel @904
					    Parent_View 	@902
					    location   	(1435, 226)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	69
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.602649
					    height     	50
					    orientation 	0))
				    (object RoleView "$UNNAMED$105" @905
					Parent_View 	@901
					location   	(989, 103)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B0C01CF"
					client     	@901
					supplier   	@899
					vertices   	(list Points
					    (1485, 215)
					    (1485, 254)
					    (1345, 254)
					    (1345, 199))
					line_style 	3
					origin_attachment 	(1485, 215)
					terminal_attachment 	(1345, 199))))
			    (object AssociationViewNew "$UNNAMED$106" @906
				location   	(773, 216)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751B480261"
				roleview_list 	(list RoleViews
				    (object RoleView "rootContainer" @907
					Parent_View 	@906
					location   	(53, 104)
					label      	(object SegLabel @908
					    Parent_View 	@907
					    location   	(614, 217)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+rootContainer"
					    pctDist    	-0.025000
					    height     	160
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B4C0285"
					client     	@906
					supplier   	@899
					vertices   	(list Points
					    (773, 216)
					    (773, 176)
					    (866, 176))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(866, 176)
					label      	(object SegLabel @909
					    Parent_View 	@907
					    location   	(800, 228)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.300000
					    height     	27
					    orientation 	1))
				    (object RoleView "$UNNAMED$107" @910
					Parent_View 	@906
					location   	(53, 104)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751B4C0286"
					client     	@906
					supplier   	@899
					vertices   	(list Points
					    (773, 216)
					    (773, 257)
					    (895, 257)
					    (895, 199))
					line_style 	3
					origin_attachment 	(773, 216)
					terminal_attachment 	(895, 199))))
			    (object InheritView "" @911
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@862
				supplier   	@899
				line_style 	3
				origin_attachment 	(1367, 361)
				terminal_attachment 	(1367, 289)
				drawSupplier 	@900)
			    (object InheritView "" @912
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D8E200EA"
				client     	@860
				supplier   	@899
				line_style 	3
				origin_attachment 	(752, 361)
				terminal_attachment 	(752, 289)
				drawSupplier 	@900)
			    (object InheritView "" @913
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@859
				supplier   	@899
				line_style 	3
				origin_attachment 	(299, 361)
				terminal_attachment 	(299, 289)
				drawSupplier 	@900)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @914
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 1200)
				label      	(object ItemLabel
				    Parent_View 	@914
				    location   	(61, 1157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	280
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @915
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@914
				supplier   	@887
				line_style 	3
				origin_attachment 	(216, 1145)
				terminal_attachment 	(216, 727))
			    (object AssociationViewNew "$UNNAMED$218" @916
				location   	(1382, 1425)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$219" @917
					Parent_View 	@916
					location   	(1190, 225)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100304"
					client     	@916
					supplier   	@891
					vertices   	(list Points
					    (1382, 1425)
					    (2147, 1425)
					    (2147, 943)
					    (2067, 943))
					line_style 	3
					origin_attachment 	(1382, 1425)
					terminal_attachment 	(2067, 943))
				    (object RoleView "incorporatedSchema" @918
					Parent_View 	@916
					location   	(1190, 225)
					label      	(object SegLabel @919
					    Parent_View 	@918
					    location   	(445, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+incorporatedSchema"
					    pctDist    	0.706546
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100305"
					client     	@916
					supplier   	@914
					vertices   	(list Points
					    (1382, 1425)
					    (225, 1425)
					    (225, 1255))
					line_style 	3
					origin_attachment 	(1382, 1425)
					terminal_attachment 	(225, 1255)
					label      	(object SegLabel @920
					    Parent_View 	@918
					    location   	(183, 1392)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.896915
					    height     	43
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$216" @921
				location   	(1505, 1503)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$217" @922
					Parent_View 	@921
					location   	(1313, 303)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0042"
					client     	@921
					supplier   	@895
					vertices   	(list Points
					    (1505, 1503)
					    (2188, 1503)
					    (2188, 675)
					    (2059, 675))
					line_style 	3
					origin_attachment 	(1505, 1503)
					terminal_attachment 	(2059, 675))
				    (object RoleView "resolvedSchema" @923
					Parent_View 	@921
					location   	(1313, 303)
					label      	(object SegLabel @924
					    Parent_View 	@923
					    location   	(303, 1472)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+resolvedSchema"
					    pctDist    	0.733333
					    height     	32
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0043"
					client     	@921
					supplier   	@914
					vertices   	(list Points
					    (1505, 1503)
					    (113, 1503)
					    (113, 1255))
					line_style 	3
					origin_attachment 	(1505, 1503)
					terminal_attachment 	(113, 1255)
					label      	(object SegLabel @925
					    Parent_View 	@923
					    location   	(73, 1472)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.867683
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$108" @926
				location   	(66, 244)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B751C310356"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$109" @927
					Parent_View 	@926
					location   	(-94, -444)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751C330331"
					client     	@926
					supplier   	@899
					vertices   	(list Points
					    (66, 244)
					    (66, 144)
					    (866, 144))
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(866, 144))
				    (object RoleView "schema" @928
					Parent_View 	@926
					location   	(-94, -444)
					label      	(object SegLabel @929
					    Parent_View 	@928
					    location   	(165, 93)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+schema"
					    pctDist    	-0.168113
					    height     	99
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B751C33033B"
					client     	@926
					supplier   	@914
					line_style 	3
					origin_attachment 	(66, 244)
					terminal_attachment 	(66, 1145)
					label      	(object SegLabel @930
					    Parent_View 	@928
					    location   	(136, 184)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	113
					    justify    	0
					    label      	"0..1"
					    pctDist    	-0.066593
					    height     	70
					    orientation 	0))))
			    (object InheritView "" @931
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B780BD90059"
				client     	@885
				supplier   	@899
				line_style 	3
				origin_attachment 	(1759, 361)
				terminal_attachment 	(1759, 289)
				drawSupplier 	@900)
			    (object InheritView "" @932
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@867
				supplier   	@859
				line_style 	3
				origin_attachment 	(400, 1141)
				terminal_attachment 	(400, 561)
				drawSupplier 	@883)
			    (object InheritTreeView "" @933
				location   	(1012, 837)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@861
				vertices   	(list Points
				    (1012, 837)
				    (1012, 727)))
			    (object InheritView "" @934
				stereotype 	(object SegLabel @935
				    Parent_View 	@934
				    location   	(1071, 871)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	243
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.888158
				    height     	34
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B7FD4E20366"
				client     	@867
				supplier   	@861
				line_style 	3
				origin_attachment 	(1037, 1141)
				terminal_attachment 	(1037, 837)
				drawSupplier 	@933)
			    (object InheritView "" @936
				stereotype 	(object SegLabel @937
				    Parent_View 	@936
				    location   	(890, 865)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	263
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.581633
				    height     	36
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B7FD4BA023C"
				client     	@886
				supplier   	@861
				line_style 	3
				origin_attachment 	(925, 905)
				terminal_attachment 	(925, 837)
				drawSupplier 	@933)
			    (object InheritView "" @938
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@891
				supplier   	@895
				line_style 	3
				origin_attachment 	(1828, 889)
				terminal_attachment 	(1828, 819)
				drawSupplier 	@896)))
		    (object ClassDiagram "7. Concrete Attributes"
			quid       	"3B9F8F7602C7"
			title      	"7. Concrete Attributes"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @939
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@939
				    location   	(1938, 1359)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	412
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@939
				    location   	(1938, 1419)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	382
				    compartmentItems 	(list Compartment
					"+ form : XSDForm"
					"+ lexicalValue : String"))
				width      	430
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDForm" @940
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2560, 1424)
				label      	(object ItemLabel
				    Parent_View 	@940
				    location   	(2398, 1365)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"XSDForm")
				stereotype 	(object ItemLabel
				    Parent_View 	@940
				    location   	(2398, 1315)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	324
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B9F913B01EB"
				width      	342
				height     	242
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @941
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(368, 96)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@941
				    location   	(40, 37)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	657
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				compartment 	(object Compartment
				    Parent_View 	@941
				    location   	(40, 97)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	446
				    compartmentItems 	(list Compartment
					"+ element : DOMElement"))
				width      	675
				height     	143
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDComponent" @942
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@942
				    location   	(687, 333)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	322
				    justify    	0
				    label      	"XSDComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846E90029"
				width      	340
				height     	126
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @943
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1904, 944)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@943
				    location   	(1678, 892)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	452
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				width      	470
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @944
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1600, 1408)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@944
				    location   	(1328, 1356)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	544
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	562
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDScope" @945
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(864, 624)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@945
				    location   	(745, 573)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"XSDScope")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B54000F2"
				width      	256
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @946
				location   	(850, 537)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@942
				vertices   	(list Points
				    (850, 537)
				    (850, 447)))
			    (object ClassView "Class" "Logical View::xsd::DOMElement" @947
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1248, 128)
				label      	(object ItemLabel
				    Parent_View 	@947
				    location   	(873, 90)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	751
				    justify    	0
				    label      	"DOMElement")
				stereotype 	(object ItemLabel
				    Parent_View 	@947
				    location   	(873, 40)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	751
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3B8189790200"
				width      	769
				height     	200
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @948
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 640)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@948
				    location   	(41, 584)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	512
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @949
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@949
				    location   	(38, 333)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	422
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @950
				location   	(368, 263)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@941
				vertices   	(list Points
				    (368, 263)
				    (368, 167)))
			    (object ClassView "Class" "Logical View::xsd::XSDDisallowedSubstitutions" @951
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(992, 1456)
				label      	(object ItemLabel
				    Parent_View 	@951
				    location   	(723, 1347)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDDisallowedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@951
				    location   	(723, 1297)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5A403DF"
				compartment 	(object Compartment
				    Parent_View 	@951
				    location   	(723, 1407)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	4
				    max_width  	225
				    compartmentItems 	(list Compartment
					"+ substitution"
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	556
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDProhibitedSubstitutions" @952
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(880, 1792)
				label      	(object ItemLabel
				    Parent_View 	@952
				    location   	(614, 1708)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"XSDProhibitedSubstitutions")
				stereotype 	(object ItemLabel
				    Parent_View 	@952
				    location   	(614, 1658)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	532
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C5BE0272"
				compartment 	(object Compartment
				    Parent_View 	@952
				    location   	(614, 1768)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	198
				    compartmentItems 	(list Compartment
					"+ extension"
					"+ restriction"
					"+ all"))
				width      	550
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @953
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(912, 2096)
				label      	(object ItemLabel
				    Parent_View 	@953
				    location   	(532, 2040)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	760
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@953
				    location   	(532, 2100)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	723
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDSimpleFinal"))
				width      	778
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleFinal" @954
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 1984)
				label      	(object ItemLabel
				    Parent_View 	@954
				    location   	(45, 1875)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"XSDSimpleFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@954
				    location   	(45, 1825)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	326
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C25D0295"
				width      	344
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexFinal" @955
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2544, 2016)
				label      	(object ItemLabel
				    Parent_View 	@955
				    location   	(2362, 1932)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"XSDComplexFinal")
				stereotype 	(object ItemLabel
				    Parent_View 	@955
				    location   	(2362, 1882)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	364
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3B97C2CA01CB"
				width      	382
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @956
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(352, 1360)
				label      	(object ItemLabel
				    Parent_View 	@956
				    location   	(41, 1279)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	622
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				compartment 	(object Compartment
				    Parent_View 	@956
				    location   	(41, 1339)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	2
				    max_width  	588
				    compartmentItems 	(list Compartment
					"+ use : XSDAttributeUseCategory"
					"+ lexicalValue : String"))
				width      	640
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUseCategory" @957
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 1632)
				label      	(object ItemLabel
				    Parent_View 	@957
				    location   	(41, 1548)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"XSDAttributeUseCategory")
				stereotype 	(object ItemLabel
				    Parent_View 	@957
				    location   	(41, 1498)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	494
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BA7B0E801A8"
				width      	512
				height     	292
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @958
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2608, 928)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@958
				    location   	(2498, 881)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	220
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	238
				height     	119
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @959
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2240, 1712)
				label      	(object ItemLabel
				    Parent_View 	@959
				    location   	(1757, 1631)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	966
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@959
				    location   	(1757, 1691)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	934
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDProhibitedSubstitutions"
					"<<0..*>> + block : XSDDisallowedSubstitutions"))
				width      	984
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @960
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 1152)
				label      	(object ItemLabel
				    Parent_View 	@960
				    location   	(1828, 1096)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	888
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				compartment 	(object Compartment
				    Parent_View 	@960
				    location   	(1828, 1156)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	852
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalNamespaceConstraint : String"))
				width      	906
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @961
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1120, 1008)
				label      	(object ItemLabel
				    Parent_View 	@961
				    location   	(622, 777)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	996
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	1014
				height     	486
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDImport" @962
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 960)
				label      	(object ItemLabel
				    Parent_View 	@962
				    location   	(37, 904)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	406
				    justify    	0
				    label      	"XSDImport")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C93017F"
				width      	424
				height     	136
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @963
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1344, 656)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@963
				    location   	(1138, 600)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	412
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				compartment 	(object Compartment
				    Parent_View 	@963
				    location   	(1138, 660)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	378
				    compartmentItems 	(list Compartment
					"+ lexicalValue : String"))
				width      	430
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @964
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1840, 2048)
				label      	(object ItemLabel
				    Parent_View 	@964
				    location   	(1410, 1942)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	860
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				compartment 	(object Compartment
				    Parent_View 	@964
				    location   	(1410, 2002)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	3
				    max_width  	822
				    compartmentItems 	(list Compartment
					"<<0..*>> + lexicalFinal : XSDComplexFinal"
					"<<0..*>> + block : XSDProhibitedSubstitutions"
					"+ mixed : boolean"))
				width      	878
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @965
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1488, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@965
				    location   	(1304, 1644)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	368
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	386
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @966
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@965
				supplier   	@944
				line_style 	3
				origin_attachment 	(1506, 1632)
				terminal_attachment 	(1506, 1472))
			    (object ClassView "Class" "Logical View::xsd::XSDAnnotation" @967
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2208, 704)
				label      	(object ItemLabel
				    Parent_View 	@967
				    location   	(1758, 598)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	900
				    justify    	0
				    label      	"XSDAnnotation")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDC80233"
				width      	918
				height     	236
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @968
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848AA01D3"
				client     	@958
				supplier   	@942
				line_style 	3
				origin_attachment 	(2696, 869)
				terminal_attachment 	(2696, 537)
				drawSupplier 	@946)
			    (object InheritView "" @969
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@959
				supplier   	@939
				line_style 	3
				origin_attachment 	(2094, 1619)
				terminal_attachment 	(2094, 1533))
			    (object InheritTreeView "" @970
				location   	(1487, 1856)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@965
				vertices   	(list Points
				    (1487, 1856)
				    (1487, 1760)))
			    (object ClassView "Class" "Logical View::xsd::DOMAttr" @971
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2400, 384)
				label      	(object ItemLabel
				    Parent_View 	@971
				    location   	(2080, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"DOMAttr")
				stereotype 	(object ItemLabel
				    Parent_View 	@971
				    location   	(2080, 300)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BBF8C8901B6"
				width      	658
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @972
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@964
				supplier   	@965
				line_style 	3
				origin_attachment 	(1734, 1930)
				terminal_attachment 	(1734, 1856)
				drawSupplier 	@970)
			    (object InheritView "" @973
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D25680259"
				client     	@963
				supplier   	@942
				line_style 	3
				origin_attachment 	(1328, 588)
				terminal_attachment 	(1328, 537)
				drawSupplier 	@946)
			    (object InheritView "" @974
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69E1770116"
				client     	@967
				supplier   	@942
				line_style 	3
				origin_attachment 	(2190, 586)
				terminal_attachment 	(2190, 537)
				drawSupplier 	@946)
			    (object InheritView "" @975
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@948
				supplier   	@949
				line_style 	3
				origin_attachment 	(222, 572)
				terminal_attachment 	(222, 447))
			    (object InheritView "" @976
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8E60372"
				client     	@949
				supplier   	@941
				line_style 	3
				origin_attachment 	(260, 321)
				terminal_attachment 	(260, 263)
				drawSupplier 	@950)
			    (object InheritView "" @977
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AD8D9003E"
				client     	@962
				supplier   	@948
				line_style 	3
				origin_attachment 	(223, 892)
				terminal_attachment 	(223, 708))
			    (object InheritView "" @978
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@960
				supplier   	@958
				line_style 	3
				origin_attachment 	(2600, 1084)
				terminal_attachment 	(2600, 987))
			    (object ClassView "Class" "Logical View::xsd::DOMDocument" @979
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 128)
				label      	(object ItemLabel
				    Parent_View 	@979
				    location   	(1957, 94)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	758
				    justify    	0
				    label      	"DOMDocument")
				stereotype 	(object ItemLabel
				    Parent_View 	@979
				    location   	(1957, 44)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	758
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3C27850E0381"
				width      	776
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @980
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA903D2"
				client     	@942
				supplier   	@941
				line_style 	3
				origin_attachment 	(856, 321)
				terminal_attachment 	(856, 263)
				drawSupplier 	@950)
			    (object ClassView "Class" "Logical View::xsd::DOMNode" @981
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1568, 384)
				label      	(object ItemLabel
				    Parent_View 	@981
				    location   	(1234, 350)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@981
				    location   	(1234, 300)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BFE64A50117"
				width      	686
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object InheritView "" @982
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCD640231"
				client     	@945
				supplier   	@942
				line_style 	3
				origin_attachment 	(850, 561)
				terminal_attachment 	(850, 537)
				drawSupplier 	@946)
			    (object InheritView "" @983
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B72D7BB0349"
				client     	@956
				supplier   	@942
				line_style 	3
				origin_attachment 	(575, 1267)
				terminal_attachment 	(575, 537)
				drawSupplier 	@946)
			    (object InheritView "" @984
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0CEA20197"
				client     	@943
				supplier   	@942
				line_style 	3
				origin_attachment 	(1694, 880)
				terminal_attachment 	(1694, 537)
				drawSupplier 	@946)
			    (object InheritView "" @985
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCC4A0182"
				client     	@961
				supplier   	@945
				line_style 	3
				origin_attachment 	(856, 765)
				terminal_attachment 	(856, 687))
			    (object InheritTreeView "" @986
				location   	(1703, 1290)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@943
				vertices   	(list Points
				    (1703, 1290)
				    (1703, 1008)))
			    (object InheritView "" @987
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@944
				supplier   	@943
				line_style 	3
				origin_attachment 	(1503, 1344)
				terminal_attachment 	(1503, 1290)
				drawSupplier 	@986)
			    (object InheritView "" @988
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@939
				supplier   	@943
				line_style 	3
				origin_attachment 	(2093, 1347)
				terminal_attachment 	(2093, 1290)
				drawSupplier 	@986)
			    (object InheritView "" @989
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@953
				supplier   	@965
				line_style 	3
				origin_attachment 	(1253, 2028)
				terminal_attachment 	(1253, 1856)
				drawSupplier 	@970)))
		    (object ClassDiagram "8. Concrete Containment"
			quid       	"3B6A8097027A"
			title      	"8. Concrete Containment"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDNotationDeclaration" @990
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2672, 992)
				label      	(object ItemLabel
				    Parent_View 	@990
				    location   	(2439, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDNotationDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66EDAA021C"
				width      	484
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @991
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2640, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@991
				    location   	(2431, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	436
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefine" @992
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2144, 784)
				label      	(object ItemLabel
				    Parent_View 	@992
				    location   	(2013, 741)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDRedefine")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B688C9B02AD"
				width      	280
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefineContent" @993
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2064, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@993
				    location   	(1854, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	420
				    justify    	0
				    label      	"XSDRedefineContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AE2060172"
				width      	438
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @994
				location   	(1943, 868)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@993
				vertices   	(list Points
				    (1943, 868)
				    (1943, 631)))
			    (object AssociationViewNew "$UNNAMED$164" @995
				location   	(2125, 680)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE8240051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$165" @996
					Parent_View 	@995
					location   	(157, 344)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6AE82602AD"
					client     	@995
					supplier   	@992
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 729))
				    (object RoleView "contents" @997
					Parent_View 	@995
					location   	(157, 344)
					label      	(object SegLabel @998
					    Parent_View 	@997
					    location   	(2255, 671)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.175439
					    height     	130
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6AE82602B7"
					client     	@995
					supplier   	@993
					line_style 	3
					origin_attachment 	(2125, 680)
					terminal_attachment 	(2125, 631)
					label      	(object SegLabel @999
					    Parent_View 	@997
					    location   	(2067, 671)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.175439
					    height     	59
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDTerm" @1000
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1000
				    location   	(148, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	216
				    justify    	0
				    label      	"XSDTerm")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683C5E0174"
				width      	234
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1001
				location   	(272, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1000
				vertices   	(list Points
				    (272, 465)
				    (272, 375)))
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1002
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1002
				    location   	(2372, 1121)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	569
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	587
				height     	118
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroup" @1003
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 576)
				label      	(object ItemLabel
				    Parent_View 	@1003
				    location   	(89, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	334
				    justify    	0
				    label      	"XSDModelGroup")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6834E00291"
				width      	352
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$152" @1004
				location   	(1170, 1356)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6837AC025A"
				roleview_list 	(list RoleViews
				    (object RoleView "modelGroup" @1005
					Parent_View 	@1004
					location   	(866, -20)
					label      	(object SegLabel @1006
					    Parent_View 	@1005
					    location   	(269, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+modelGroup"
					    pctDist    	0.534044
					    height     	33
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0339"
					client     	@1004
					supplier   	@1003
					vertices   	(list Points
					    (1170, 1356)
					    (206, 1356)
					    (206, 631))
					line_style 	3
					origin_attachment 	(1170, 1356)
					terminal_attachment 	(206, 631)
					label      	(object SegLabel @1007
					    Parent_View 	@1005
					    location   	(226, 1322)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.559146
					    height     	35
					    orientation 	1))
				    (object RoleView "$UNNAMED$153" @1008
					Parent_View 	@1004
					location   	(866, -20)
					label      	(object SegLabel @1009
					    Parent_View 	@1008
					    location   	(2521, 1398)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6837AD0338"
					client     	@1004
					supplier   	@1002
					vertices   	(list Points
					    (1170, 1356)
					    (2731, 1356)
					    (2731, 1227))
					line_style 	3
					origin_attachment 	(1170, 1356)
					terminal_attachment 	(2731, 1227))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @1010
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(160, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1010
				    location   	(35, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	250
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	268
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$146" @1011
				location   	(122, 1136)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6BCEB102F8"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$147" @1012
					Parent_View 	@1011
					location   	(-630, -256)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6BCEB6001B"
					client     	@1011
					supplier   	@1003
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 631))
				    (object RoleView "contents" @1013
					Parent_View 	@1011
					location   	(-630, -256)
					label      	(object SegLabel @1014
					    Parent_View 	@1013
					    location   	(223, 1515)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.750495
					    height     	101
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6BCEB60025"
					client     	@1011
					supplier   	@1010
					line_style 	3
					origin_attachment 	(122, 1136)
					terminal_attachment 	(122, 1641)
					label      	(object SegLabel @1015
					    Parent_View 	@1013
					    location   	(180, 1581)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.881188
					    height     	58
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticleContent" @1016
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 80)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1016
				    location   	(41, 42)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	495
				    justify    	0
				    label      	"XSDParticleContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6BD22300C6"
				width      	513
				height     	100
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$158" @1017
				location   	(47, 885)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B47150119"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$159" @1018
					Parent_View 	@1017
					location   	(-289, 821)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B471A03AB"
					client     	@1017
					supplier   	@1010
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 1641))
				    (object RoleView "content" @1019
					Parent_View 	@1017
					location   	(-289, 821)
					label      	(object SegLabel @1020
					    Parent_View 	@1019
					    location   	(142, 189)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.921854
					    height     	95
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B471A03B5"
					client     	@1017
					supplier   	@1016
					line_style 	3
					origin_attachment 	(47, 885)
					terminal_attachment 	(47, 130)
					label      	(object SegLabel @1021
					    Parent_View 	@1019
					    location   	(28, 192)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.917881
					    height     	19
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeUse" @1022
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1424, 896)
				label      	(object ItemLabel
				    Parent_View 	@1022
				    location   	(1252, 849)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	345
				    justify    	0
				    label      	"XSDAttributeUse")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B68354601A8"
				width      	363
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1023
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1408, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1023
				    location   	(1175, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	466
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	484
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$88" @1024
				location   	(1319, 1034)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6F1DE9018A"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$89" @1025
					Parent_View 	@1024
					location   	(-57, -102)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6F1DEA036C"
					client     	@1024
					supplier   	@1022
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 955))
				    (object RoleView "content" @1026
					Parent_View 	@1024
					location   	(-57, -102)
					label      	(object SegLabel @1027
					    Parent_View 	@1026
					    location   	(1439, 1039)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.073171
					    height     	120
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6F1DEA0380"
					client     	@1024
					supplier   	@1023
					line_style 	3
					origin_attachment 	(1319, 1034)
					terminal_attachment 	(1319, 1113)
					label      	(object SegLabel @1028
					    Parent_View 	@1026
					    location   	(1279, 1031)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.040816
					    height     	41
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDConstrainingFacet" @1029
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2080, 1696)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1029
				    location   	(1855, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	450
				    justify    	0
				    label      	"XSDConstrainingFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C6B340093"
				width      	468
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1030
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1280, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1030
				    location   	(1035, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	490
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	508
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$184" @1031
				location   	(1351, 1840)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D5CA50112"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$185" @1032
					Parent_View 	@1031
					location   	(-297, 224)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5CA703B4"
					client     	@1031
					supplier   	@1030
					vertices   	(list Points
					    (1351, 1840)
					    (1294, 1840)
					    (1294, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1294, 1751))
				    (object RoleView "contents" @1033
					Parent_View 	@1031
					location   	(-297, 224)
					label      	(object SegLabel @1034
					    Parent_View 	@1033
					    location   	(1517, 1806)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.632653
					    height     	108
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D5CA703C8"
					client     	@1031
					supplier   	@1030
					vertices   	(list Points
					    (1351, 1840)
					    (1409, 1840)
					    (1409, 1751))
					line_style 	3
					origin_attachment 	(1351, 1840)
					terminal_attachment 	(1409, 1751)
					label      	(object SegLabel @1035
					    Parent_View 	@1033
					    location   	(1361, 1801)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.072848
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$68" @1036
				location   	(1190, 1432)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6890D6006F"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1037
					Parent_View 	@1036
					location   	(774, -1832)
					label      	(object SegLabel @1038
					    Parent_View 	@1037
					    location   	(1462, 1525)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+anonymousTypeDefinition"
					    pctDist    	0.444976
					    height     	272
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6890D60318"
					client     	@1036
					supplier   	@1030
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1641)
					label      	(object SegLabel @1039
					    Parent_View 	@1037
					    location   	(1143, 1527)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.454545
					    height     	47
					    orientation 	1))
				    (object RoleView "$UNNAMED$69" @1040
					Parent_View 	@1036
					location   	(774, -1832)
					label      	(object SegLabel @1041
					    Parent_View 	@1040
					    location   	(1149, 1266)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6890D6030E"
					client     	@1036
					supplier   	@1023
					line_style 	3
					origin_attachment 	(1190, 1432)
					terminal_attachment 	(1190, 1223))))
			    (object AssociationViewNew "$UNNAMED$186" @1042
				location   	(1690, 1684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6C35AD0374"
				roleview_list 	(list RoleViews
				    (object RoleView "facetContents" @1043
					Parent_View 	@1042
					location   	(-326, -12)
					label      	(object SegLabel @1044
					    Parent_View 	@1043
					    location   	(1695, 1731)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+facetContents"
					    pctDist    	0.032051
					    height     	47
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C35AF0010"
					client     	@1042
					supplier   	@1029
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1846, 1684)
					label      	(object SegLabel @1045
					    Parent_View 	@1043
					    location   	(1756, 1644)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	94
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.420732
					    height     	41
					    orientation 	0))
				    (object RoleView "$UNNAMED$187" @1046
					Parent_View 	@1042
					location   	(-326, -12)
					label      	(object SegLabel @1047
					    Parent_View 	@1046
					    location   	(1566, 1643)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6C35AF0006"
					client     	@1042
					supplier   	@1030
					line_style 	3
					origin_attachment 	(1690, 1684)
					terminal_attachment 	(1534, 1684))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @1048
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2624, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1048
				    location   	(2388, 741)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	490
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaContent" @1049
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1312, 320)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1049
				    location   	(1108, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	408
				    justify    	0
				    label      	"XSDSchemaContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B688CB800BA"
				width      	426
				height     	110
				annotation 	8)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1050
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(688, 320)
				label      	(object ItemLabel
				    Parent_View 	@1050
				    location   	(557, 277)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	262
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	280
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$166" @1051
				location   	(963, 319)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B688E6B003D"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1052
					Parent_View 	@1051
					location   	(595, -17)
					label      	(object SegLabel @1053
					    Parent_View 	@1052
					    location   	(974, 361)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.081081
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B688E6C0111"
					client     	@1051
					supplier   	@1049
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(1099, 319)
					label      	(object SegLabel @1054
					    Parent_View 	@1052
					    location   	(1016, 290)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.396396
					    height     	30
					    orientation 	0))
				    (object RoleView "$UNNAMED$167" @1055
					Parent_View 	@1051
					location   	(595, -17)
					label      	(object SegLabel @1056
					    Parent_View 	@1055
					    location   	(855, 361)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B688E6C0107"
					client     	@1051
					supplier   	@1050
					line_style 	3
					origin_attachment 	(963, 319)
					terminal_attachment 	(828, 319))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1057
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1057
				    location   	(1974, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	372
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	390
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1058
				location   	(2322, 1593)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1057
				vertices   	(list Points
				    (2322, 1593)
				    (2322, 1047)))
			    (object InheritView "" @1059
				stereotype 	(object SegLabel @1060
				    Parent_View 	@1059
				    location   	(2146, 905)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.460000
				    height     	5
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6AE2F5013A"
				client     	@1057
				supplier   	@993
				line_style 	3
				origin_attachment 	(2150, 937)
				terminal_attachment 	(2150, 868)
				drawSupplier 	@994)
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1061
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(832, 576)
				label      	(object ItemLabel
				    Parent_View 	@1061
				    location   	(510, 532)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	644
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	662
				height     	112
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$112" @1062
				location   	(1498, 1431)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B68911401AF"
				roleview_list 	(list RoleViews
				    (object RoleView "anonymousTypeDefinition" @1063
					Parent_View 	@1062
					location   	(1038, -1810)
					label      	(object SegLabel @1064
					    Parent_View 	@1063
					    location   	(2027, 1472)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+anonymousTypeDefinition"
					    pctDist    	0.454389
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6891150017"
					client     	@1062
					supplier   	@1057
					vertices   	(list Points
					    (1498, 1431)
					    (2281, 1431)
					    (2281, 1047))
					line_style 	3
					origin_attachment 	(1498, 1431)
					terminal_attachment 	(2281, 1047)
					label      	(object SegLabel @1065
					    Parent_View 	@1063
					    location   	(2204, 1397)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.605419
					    height     	35
					    orientation 	0))
				    (object RoleView "$UNNAMED$113" @1066
					Parent_View 	@1062
					location   	(1038, -1810)
					label      	(object SegLabel @1067
					    Parent_View 	@1066
					    location   	(1090, 866)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6891150016"
					client     	@1062
					supplier   	@1061
					vertices   	(list Points
					    (1498, 1431)
					    (1131, 1431)
					    (1131, 632))
					line_style 	3
					origin_attachment 	(1498, 1431)
					terminal_attachment 	(1131, 632))))
			    (object ClassView "Class" "Logical View::xsd::XSDXPathDefinition" @1068
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(848, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1068
				    location   	(655, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	386
				    justify    	0
				    label      	"XSDXPathDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6D83BB0355"
				width      	404
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDIdentityConstraintDefinition" @1069
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(800, 896)
				label      	(object ItemLabel
				    Parent_View 	@1069
				    location   	(505, 853)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	590
				    justify    	0
				    label      	"XSDIdentityConstraintDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B2603A2"
				width      	608
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$116" @1070
				location   	(534, 736)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6833EF0160"
				roleview_list 	(list RoleViews
				    (object RoleView "identityConstraintDefinitions" @1071
					Parent_View 	@1070
					location   	(86, -2144)
					label      	(object SegLabel @1072
					    Parent_View 	@1071
					    location   	(820, 748)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	550
					    justify    	0
					    label      	"+identityConstraintDefinitions"
					    pctDist    	0.111111
					    height     	286
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00299"
					client     	@1070
					supplier   	@1069
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 841)
					label      	(object SegLabel @1073
					    Parent_View 	@1071
					    location   	(595, 807)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.675926
					    height     	61
					    orientation 	0))
				    (object RoleView "$UNNAMED$117" @1074
					Parent_View 	@1070
					location   	(86, -2144)
					label      	(object SegLabel @1075
					    Parent_View 	@1074
					    location   	(576, 653)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6833F00298"
					client     	@1070
					supplier   	@1061
					line_style 	3
					origin_attachment 	(534, 736)
					terminal_attachment 	(534, 632))))
			    (object AssociationViewNew "$UNNAMED$136" @1076
				location   	(900, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D3D003E"
				roleview_list 	(list RoleViews
				    (object RoleView "selector" @1077
					Parent_View 	@1076
					location   	(84, 120)
					label      	(object SegLabel @1078
					    Parent_View 	@1077
					    location   	(1013, 1042)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+selector"
					    pctDist    	0.123288
					    height     	113
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E0234"
					client     	@1076
					supplier   	@1068
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 1113)
					label      	(object SegLabel @1079
					    Parent_View 	@1077
					    location   	(859, 1040)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.095890
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$137" @1080
					Parent_View 	@1076
					location   	(84, 120)
					label      	(object SegLabel @1081
					    Parent_View 	@1080
					    location   	(859, 968)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D3E022A"
					client     	@1076
					supplier   	@1069
					line_style 	3
					origin_attachment 	(900, 1032)
					terminal_attachment 	(900, 951))))
			    (object AssociationViewNew "$UNNAMED$138" @1082
				location   	(700, 1032)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6D8D330025"
				roleview_list 	(list RoleViews
				    (object RoleView "fields" @1083
					Parent_View 	@1082
					location   	(-116, 120)
					label      	(object SegLabel @1084
					    Parent_View 	@1083
					    location   	(616, 1036)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	120
					    justify    	0
					    label      	"+fields"
					    pctDist    	0.054795
					    height     	85
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330379"
					client     	@1082
					supplier   	@1068
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 1113)
					label      	(object SegLabel @1085
					    Parent_View 	@1083
					    location   	(771, 1042)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.123077
					    height     	71
					    orientation 	0))
				    (object RoleView "$UNNAMED$139" @1086
					Parent_View 	@1082
					location   	(-116, 120)
					label      	(object SegLabel @1087
					    Parent_View 	@1086
					    location   	(659, 968)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6D8D330365"
					client     	@1082
					supplier   	@1069
					line_style 	3
					origin_attachment 	(700, 1032)
					terminal_attachment 	(700, 951))))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeContent" @1088
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(752, 1440)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1088
				    location   	(500, 1397)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	504
				    justify    	0
				    label      	"XSDComplexTypeContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B683BA00196"
				width      	522
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1089
				location   	(550, 1590)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1088
				vertices   	(list Points
				    (550, 1590)
				    (550, 1495)))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupContent" @1090
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1504, 576)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1090
				    location   	(1240, 533)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	528
				    justify    	0
				    label      	"XSDAttributeGroupContent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6940200089"
				width      	546
				height     	110
				annotation 	8)
			    (object InheritTreeView "" @1091
				location   	(1406, 765)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1090
				vertices   	(list Points
				    (1406, 765)
				    (1406, 631)))
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1092
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2656, 1696)
				label      	(object ItemLabel
				    Parent_View 	@1092
				    location   	(2393, 1653)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	526
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	544
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$94" @1093
				location   	(1614, 1868)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6FDDD70113"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$95" @1094
					Parent_View 	@1093
					location   	(526, 476)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6FDDDA026B"
					client     	@1093
					supplier   	@1092
					vertices   	(list Points
					    (1614, 1868)
					    (2500, 1868)
					    (2500, 1751))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(2500, 1751))
				    (object RoleView "content" @1095
					Parent_View 	@1093
					location   	(526, 476)
					label      	(object SegLabel @1096
					    Parent_View 	@1095
					    location   	(896, 1787)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	168
					    justify    	0
					    label      	"+content"
					    pctDist    	0.709870
					    height     	89
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6FDDDA0275"
					client     	@1093
					supplier   	@1088
					vertices   	(list Points
					    (1614, 1868)
					    (984, 1868)
					    (984, 1495))
					line_style 	3
					origin_attachment 	(1614, 1868)
					terminal_attachment 	(984, 1495)
					label      	(object SegLabel @1097
					    Parent_View 	@1095
					    location   	(1042, 1824)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	72
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.571286
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$100" @1098
				location   	(2927, 387)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B698E360386"
				roleview_list 	(list RoleViews
				    (object RoleView "attributeContents" @1099
					Parent_View 	@1098
					location   	(2463, -3757)
					label      	(object SegLabel @1100
					    Parent_View 	@1099
					    location   	(1915, 357)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+attributeContents"
					    pctDist    	0.773060
					    height     	31
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B698E38007C"
					client     	@1098
					supplier   	@1090
					vertices   	(list Points
					    (2927, 387)
					    (1750, 387)
					    (1750, 521))
					line_style 	3
					origin_attachment 	(2927, 387)
					terminal_attachment 	(1750, 521)
					label      	(object SegLabel @1101
					    Parent_View 	@1099
					    location   	(1804, 425)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.857247
					    height     	38
					    orientation 	0))
				    (object RoleView "$UNNAMED$101" @1102
					Parent_View 	@1098
					location   	(2463, -3757)
					label      	(object SegLabel @1103
					    Parent_View 	@1102
					    location   	(2946, 1448)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B698E380072"
					client     	@1098
					supplier   	@1092
					vertices   	(list Points
					    (2927, 387)
					    (2987, 387)
					    (2987, 1671)
					    (2928, 1671))
					line_style 	3
					origin_attachment 	(2927, 387)
					terminal_attachment 	(2928, 1671))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1104
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1968, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1104
				    location   	(1699, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	538
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	556
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$76" @1105
				location   	(1750, 872)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69404E0067"
				roleview_list 	(list RoleViews
				    (object RoleView "contents" @1106
					Parent_View 	@1105
					location   	(1462, -2392)
					label      	(object SegLabel @1107
					    Parent_View 	@1106
					    location   	(1640, 691)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+contents"
					    pctDist    	0.751037
					    height     	110
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B69405002A5"
					client     	@1105
					supplier   	@1090
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 631)
					label      	(object SegLabel @1108
					    Parent_View 	@1106
					    location   	(1814, 695)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.734440
					    height     	64
					    orientation 	1))
				    (object RoleView "$UNNAMED$77" @1109
					Parent_View 	@1105
					location   	(1462, -2392)
					label      	(object SegLabel @1110
					    Parent_View 	@1109
					    location   	(1709, 1065)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B694050029B"
					client     	@1105
					supplier   	@1104
					line_style 	3
					origin_attachment 	(1750, 872)
					terminal_attachment 	(1750, 1113))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @1111
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(416, 1168)
				label      	(object ItemLabel
				    Parent_View 	@1111
				    location   	(279, 1125)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	274
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	292
				height     	110
				annotation 	8)
			    (object AssociationViewNew "$UNNAMED$208" @1112
				location   	(1252, 1896)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BEBDC870247"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$209" @1113
					Parent_View 	@1112
					location   	(708, 1288)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BEBDC8C02F9"
					client     	@1112
					supplier   	@1092
					vertices   	(list Points
					    (1252, 1896)
					    (2603, 1896)
					    (2603, 1751))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(2603, 1751))
				    (object RoleView "attributeWildcardContent" @1114
					Parent_View 	@1112
					location   	(708, 1288)
					label      	(object SegLabel @1115
					    Parent_View 	@1114
					    location   	(682, 1858)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+attributeWildcardContent"
					    pctDist    	0.381142
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BEBDC8C0303"
					client     	@1112
					supplier   	@1111
					vertices   	(list Points
					    (1252, 1896)
					    (428, 1896)
					    (428, 1223))
					line_style 	3
					origin_attachment 	(1252, 1896)
					terminal_attachment 	(428, 1223)
					label      	(object SegLabel @1116
					    Parent_View 	@1114
					    location   	(382, 1860)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.575033
					    height     	47
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$80" @1117
				location   	(1199, 1321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C275D320220"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$81" @1118
					Parent_View 	@1117
					location   	(655, 713)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C275D3C010C"
					client     	@1117
					supplier   	@1104
					vertices   	(list Points
					    (1199, 1321)
					    (1897, 1321)
					    (1897, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(1897, 1223))
				    (object RoleView "attributeWildcardContent" @1119
					Parent_View 	@1117
					location   	(655, 713)
					label      	(object SegLabel @1120
					    Parent_View 	@1119
					    location   	(857, 1279)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+attributeWildcardContent"
					    pctDist    	0.429569
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C275D3C010D"
					client     	@1117
					supplier   	@1111
					vertices   	(list Points
					    (1199, 1321)
					    (500, 1321)
					    (500, 1223))
					line_style 	3
					origin_attachment 	(1199, 1321)
					terminal_attachment 	(500, 1223)
					label      	(object SegLabel @1121
					    Parent_View 	@1119
					    location   	(576, 1279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.782305
					    height     	43
					    orientation 	1))))
			    (object InheritView "" @1122
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1092
				supplier   	@1057
				line_style 	3
				origin_attachment 	(2606, 1641)
				terminal_attachment 	(2606, 1593)
				drawSupplier 	@1058)
			    (object InheritView "" @1123
				stereotype 	(object SegLabel @1124
				    Parent_View 	@1123
				    location   	(759, 495)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	243
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.446429
				    height     	6
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B685F17002E"
				client     	@1061
				supplier   	@1000
				line_style 	3
				origin_attachment 	(753, 520)
				terminal_attachment 	(753, 465)
				drawSupplier 	@1001)
			    (object InheritView "" @1125
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1030
				supplier   	@1057
				line_style 	3
				origin_attachment 	(1409, 1641)
				terminal_attachment 	(1409, 1593)
				drawSupplier 	@1058)
			    (object InheritView "" @1126
				stereotype 	(object SegLabel @1127
				    Parent_View 	@1126
				    location   	(759, 1591)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	219
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.980392
				    height     	385
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B685F55032B"
				client     	@1030
				supplier   	@1088
				line_style 	3
				origin_attachment 	(1144, 1641)
				terminal_attachment 	(1144, 1590)
				drawSupplier 	@1089)
			    (object InheritView "" @1128
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A640279"
				client     	@1003
				supplier   	@1000
				line_style 	3
				origin_attachment 	(166, 521)
				terminal_attachment 	(166, 465)
				drawSupplier 	@1001)
			    (object InheritTreeView "" @1129
				location   	(431, 222)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1016
				vertices   	(list Points
				    (431, 222)
				    (431, 130)))
			    (object InheritView "" @1130
				stereotype 	(object SegLabel @1131
				    Parent_View 	@1130
				    location   	(361, 224)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	237
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.976744
				    height     	86
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B6BD2440069"
				client     	@1000
				supplier   	@1016
				line_style 	3
				origin_attachment 	(275, 265)
				terminal_attachment 	(275, 222)
				drawSupplier 	@1129)
			    (object InheritTreeView "" @1132
				location   	(1309, 465)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1049
				vertices   	(list Points
				    (1309, 465)
				    (1309, 375)))
			    (object InheritView "" @1133
				stereotype 	(object SegLabel @1134
				    Parent_View 	@1133
				    location   	(941, 495)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.464286
				    height     	10
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B688E660339"
				client     	@1061
				supplier   	@1049
				line_style 	3
				origin_attachment 	(931, 520)
				terminal_attachment 	(931, 465)
				drawSupplier 	@1132)
			    (object InheritView "" @1135
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6848FC01E7"
				client     	@1010
				supplier   	@1088
				line_style 	3
				origin_attachment 	(250, 1641)
				terminal_attachment 	(250, 1590)
				drawSupplier 	@1089)
			    (object InheritView "" @1136
				stereotype 	(object SegLabel @1137
				    Parent_View 	@1136
				    location   	(1205, 493)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	212
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.958333
				    height     	8
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B688E6103BE"
				client     	@1023
				supplier   	@1049
				line_style 	3
				origin_attachment 	(1197, 1113)
				terminal_attachment 	(1197, 465)
				drawSupplier 	@1132)
			    (object InheritView "" @1138
				stereotype 	(object SegLabel @1139
				    Parent_View 	@1138
				    location   	(1951, 905)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.848980
				    height     	73
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B6AE2EB02A8"
				client     	@1104
				supplier   	@993
				line_style 	3
				origin_attachment 	(1878, 1113)
				terminal_attachment 	(1878, 868)
				drawSupplier 	@994)
			    (object InheritView "" @1140
				stereotype 	(object SegLabel @1141
				    Parent_View 	@1140
				    location   	(1642, 807)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	187
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.879310
				    height     	61
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B69403A0221"
				client     	@1104
				supplier   	@1090
				line_style 	3
				origin_attachment 	(1703, 1113)
				terminal_attachment 	(1703, 765)
				drawSupplier 	@1091)
			    (object InheritView "" @1142
				stereotype 	(object SegLabel @1143
				    Parent_View 	@1142
				    location   	(1354, 801)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	225
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.500000
				    height     	70
				    orientation 	1)
				line_color 	3342489
				quidu      	"3B72D737038F"
				client     	@1022
				supplier   	@1090
				line_style 	3
				origin_attachment 	(1284, 837)
				terminal_attachment 	(1284, 765)
				drawSupplier 	@1091)
			    (object InheritView "" @1144
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB640240"
				client     	@992
				supplier   	@1048
				line_style 	3
				origin_attachment 	(2284, 762)
				terminal_attachment 	(2379, 762))
			    (object InheritView "" @1145
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE32102AF"
				client     	@991
				supplier   	@1049
				line_style 	3
				origin_attachment 	(2637, 521)
				terminal_attachment 	(2637, 465)
				drawSupplier 	@1132)
			    (object InheritView "" @1146
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1048
				supplier   	@991
				line_style 	3
				origin_attachment 	(2637, 729)
				terminal_attachment 	(2637, 631))
			    (object InheritView "" @1147
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6AE2B301D5"
				client     	@993
				supplier   	@1049
				line_style 	3
				origin_attachment 	(1950, 521)
				terminal_attachment 	(1950, 465)
				drawSupplier 	@1132)
			    (object InheritView "" @1148
				stereotype 	(object SegLabel @1149
				    Parent_View 	@1148
				    location   	(2821, 897)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	181
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.087719
				    height     	76
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B688E4F023C"
				client     	@990
				supplier   	@1049
				line_style 	3
				origin_attachment 	(2896, 937)
				terminal_attachment 	(2896, 465)
				drawSupplier 	@1132)
			    (object InheritView "" @1150
				stereotype 	(object SegLabel @1151
				    Parent_View 	@1150
				    location   	(2313, 904)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	207
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.850622
				    height     	68
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6AE2E20381"
				client     	@1002
				supplier   	@993
				line_style 	3
				origin_attachment 	(2381, 1109)
				terminal_attachment 	(2381, 868)
				drawSupplier 	@994)
			    (object InheritView "" @1152
				stereotype 	(object SegLabel @1153
				    Parent_View 	@1152
				    location   	(2878, 269)
				    font       	(object Font
					size       	8)
				    anchor     	10
				    anchor_loc 	1
				    nlines     	1
				    max_width  	238
				    justify    	0
				    label      	"<<mixin>>"
				    pctDist    	0.946667
				    height     	66
				    orientation 	0)
				line_color 	3342489
				quidu      	"3B6BD2550385"
				client     	@1002
				supplier   	@1016
				line_style 	3
				origin_attachment 	(2943, 1109)
				terminal_attachment 	(2943, 222)
				drawSupplier 	@1129)
			    (object InheritView "" @1154
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A3A0041"
				client     	@1111
				supplier   	@1000
				line_style 	3
				origin_attachment 	(462, 1113)
				terminal_attachment 	(462, 465)
				drawSupplier 	@1001)))
		    (object ClassDiagram "9. Concrete Schema Composition"
			quid       	"3C25EB7A038C"
			title      	"9. Concrete Schema Composition"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1155
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1155
				    location   	(73, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				width      	480
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$118" @1156
				location   	(228, 1695)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B41E60251"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$119" @1157
					Parent_View 	@1156
					location   	(-476, -385)
					label      	(object SegLabel @1158
					    Parent_View 	@1157
					    location   	(217, 1623)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B41EA02F7"
					client     	@1156
					supplier   	@1155
					vertices   	(list Points
					    (228, 1695)
					    (175, 1695)
					    (175, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(175, 1591))
				    (object RoleView "resolvedElementDeclaration" @1159
					Parent_View 	@1156
					location   	(-476, -385)
					label      	(object SegLabel @1160
					    Parent_View 	@1159
					    location   	(329, 1740)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+resolvedElementDeclaration"
					    pctDist    	1.924528
					    height     	45
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B41EA030B"
					client     	@1156
					supplier   	@1155
					vertices   	(list Points
					    (228, 1695)
					    (281, 1695)
					    (281, 1591))
					line_style 	3
					origin_attachment 	(228, 1695)
					terminal_attachment 	(281, 1591)
					label      	(object SegLabel @1161
					    Parent_View 	@1159
					    location   	(229, 1646)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.005714
					    height     	50
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1162
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 1536)
				label      	(object ItemLabel
				    Parent_View 	@1162
				    location   	(790, 1493)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	500
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				width      	518
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$154" @1163
				location   	(952, 1698)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B42450398"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$155" @1164
					Parent_View 	@1163
					location   	(-1288, -318)
					label      	(object SegLabel @1165
					    Parent_View 	@1164
					    location   	(860, 1623)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B4249038A"
					client     	@1163
					supplier   	@1162
					vertices   	(list Points
					    (952, 1698)
					    (901, 1698)
					    (901, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(901, 1591))
				    (object RoleView "resolvedModelGroupDefinition" @1166
					Parent_View 	@1163
					location   	(-1288, -318)
					label      	(object SegLabel @1167
					    Parent_View 	@1166
					    location   	(1020, 1739)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	564
					    justify    	0
					    label      	"+resolvedModelGroupDefinition"
					    pctDist    	1.326923
					    height     	41
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B4249039E"
					client     	@1163
					supplier   	@1162
					vertices   	(list Points
					    (952, 1698)
					    (1004, 1698)
					    (1004, 1591))
					line_style 	3
					origin_attachment 	(952, 1698)
					terminal_attachment 	(1004, 1591)
					label      	(object SegLabel @1168
					    Parent_View 	@1166
					    location   	(952, 1649)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.000000
					    height     	50
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaCompositor" @1169
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(656, 992)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1169
				    location   	(420, 949)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	472
				    justify    	0
				    label      	"XSDSchemaCompositor")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C21DB4102AE"
				width      	490
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchemaDirective" @1170
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 784)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1170
				    location   	(412, 737)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	457
				    justify    	0
				    label      	"XSDSchemaDirective")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD8A202A2"
				width      	475
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1171
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(640, 416)
				label      	(object ItemLabel
				    Parent_View 	@1171
				    location   	(446, 285)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	388
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	406
				height     	287
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$218" @1172
				location   	(1303, 679)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DD0C03DB"
				roleview_list 	(list RoleViews
				    (object RoleView "incorporatedSchema" @1173
					Parent_View 	@1172
					location   	(-41, -857)
					label      	(object SegLabel @1174
					    Parent_View 	@1173
					    location   	(1059, 381)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+incorporatedSchema"
					    pctDist    	0.700384
					    height     	39
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100305"
					client     	@1172
					supplier   	@1171
					vertices   	(list Points
					    (1303, 679)
					    (1303, 419)
					    (843, 419))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(843, 419)
					label      	(object SegLabel @1175
					    Parent_View 	@1173
					    location   	(922, 454)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.890746
					    height     	35
					    orientation 	0))
				    (object RoleView "$UNNAMED$219" @1176
					Parent_View 	@1172
					location   	(-41, -857)
					label      	(object SegLabel @1177
					    Parent_View 	@1176
					    location   	(1045, 956)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DD100304"
					client     	@1172
					supplier   	@1169
					vertices   	(list Points
					    (1303, 679)
					    (1303, 997)
					    (901, 997))
					line_style 	3
					origin_attachment 	(1303, 679)
					terminal_attachment 	(901, 997))))
			    (object AssociationViewNew "$UNNAMED$216" @1178
				location   	(1216, 649)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DCC700EC"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedSchema" @1179
					Parent_View 	@1178
					location   	(336, -1399)
					label      	(object SegLabel @1180
					    Parent_View 	@1179
					    location   	(1038, 500)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+resolvedSchema"
					    pctDist    	0.601923
					    height     	35
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0043"
					client     	@1178
					supplier   	@1171
					vertices   	(list Points
					    (1216, 649)
					    (1216, 534)
					    (843, 534))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(843, 534)
					label      	(object SegLabel @1181
					    Parent_View 	@1179
					    location   	(926, 577)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.831643
					    height     	43
					    orientation 	0))
				    (object RoleView "$UNNAMED$217" @1182
					Parent_View 	@1178
					location   	(336, -1399)
					label      	(object SegLabel @1183
					    Parent_View 	@1182
					    location   	(974, 756)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C21DCCE0042"
					client     	@1178
					supplier   	@1170
					vertices   	(list Points
					    (1216, 649)
					    (1216, 797)
					    (877, 797))
					line_style 	3
					origin_attachment 	(1216, 649)
					terminal_attachment 	(877, 797))))
			    (object AssociationViewNew "$UNNAMED$222" @1184
				location   	(662, 642)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25D3A60131"
				roleview_list 	(list RoleViews
				    (object RoleView "referencingDirectives" @1185
					Parent_View 	@1184
					location   	(-234, 114)
					label      	(object SegLabel @1186
					    Parent_View 	@1185
					    location   	(878, 675)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+referencingDirectives"
					    pctDist    	0.408759
					    height     	216
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25D3A90371"
					client     	@1184
					supplier   	@1170
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 725)
					label      	(object SegLabel @1187
					    Parent_View 	@1185
					    location   	(615, 678)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.430657
					    height     	48
					    orientation 	1))
				    (object RoleView "$UNNAMED$223" @1188
					Parent_View 	@1184
					location   	(-234, 114)
					label      	(object SegLabel @1189
					    Parent_View 	@1188
					    location   	(621, 576)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25D3A90370"
					client     	@1184
					supplier   	@1171
					line_style 	3
					origin_attachment 	(662, 642)
					terminal_attachment 	(662, 559))))
			    (object AssociationViewNew "$UNNAMED$224" @1190
				location   	(75, 188)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ECF0005E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$225" @1191
					Parent_View 	@1190
					location   	(-853, -308)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ECF4001E"
					client     	@1190
					supplier   	@1171
					vertices   	(list Points
					    (75, 188)
					    (75, 128)
					    (510, 128)
					    (510, 273))
					line_style 	3
					origin_attachment 	(75, 188)
					terminal_attachment 	(510, 273))
				    (object RoleView "rootVersion" @1192
					Parent_View 	@1190
					location   	(-853, -308)
					label      	(object SegLabel @1193
					    Parent_View 	@1192
					    location   	(176, 74)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+rootVersion"
					    pctDist    	-0.593750
					    height     	101
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ECF40028"
					client     	@1190
					supplier   	@1171
					vertices   	(list Points
					    (75, 188)
					    (75, 380)
					    (437, 380))
					line_style 	3
					origin_attachment 	(75, 188)
					terminal_attachment 	(437, 380)
					label      	(object SegLabel @1194
					    Parent_View 	@1192
					    location   	(368, 328)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.874755
					    height     	53
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$226" @1195
				location   	(1262, 134)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25ED0B011B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$227" @1196
					Parent_View 	@1195
					location   	(334, -362)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ED0F0121"
					client     	@1195
					supplier   	@1171
					vertices   	(list Points
					    (1262, 134)
					    (766, 134)
					    (766, 273))
					line_style 	3
					origin_attachment 	(1262, 134)
					terminal_attachment 	(766, 273))
				    (object RoleView "originalVersion" @1197
					Parent_View 	@1195
					location   	(334, -362)
					label      	(object SegLabel @1198
					    Parent_View 	@1197
					    location   	(1164, 97)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+originalVersion"
					    pctDist    	-1.650000
					    height     	38
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25ED0F012B"
					client     	@1195
					supplier   	@1171
					vertices   	(list Points
					    (1262, 134)
					    (1322, 134)
					    (1322, 334)
					    (843, 334))
					line_style 	3
					origin_attachment 	(1262, 134)
					terminal_attachment 	(843, 334)
					label      	(object SegLabel @1199
					    Parent_View 	@1197
					    location   	(919, 279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898108
					    height     	56
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$228" @1200
				location   	(126, 656)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C25EEAB001F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$229" @1201
					Parent_View 	@1200
					location   	(-834, 160)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25EEAF010B"
					client     	@1200
					supplier   	@1171
					vertices   	(list Points
					    (126, 656)
					    (513, 656)
					    (513, 559))
					line_style 	3
					origin_attachment 	(126, 656)
					terminal_attachment 	(513, 559))
				    (object RoleView "incorporatedVersions" @1202
					Parent_View 	@1200
					location   	(-834, 160)
					label      	(object SegLabel @1203
					    Parent_View 	@1202
					    location   	(217, 431)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	408
					    justify    	0
					    label      	"+incorporatedVersions"
					    pctDist    	0.643902
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C25EEAF0115"
					client     	@1200
					supplier   	@1171
					vertices   	(list Points
					    (126, 656)
					    (66, 656)
					    (66, 472)
					    (437, 472))
					line_style 	3
					origin_attachment 	(126, 656)
					terminal_attachment 	(437, 472)
					label      	(object SegLabel @1204
					    Parent_View 	@1202
					    location   	(356, 526)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.868468
					    height     	54
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$232" @1205
				location   	(642, 126)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2784730194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$233" @1206
					Parent_View 	@1205
					location   	(82, -418)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C27847501F1"
					client     	@1205
					supplier   	@1171
					vertices   	(list Points
					    (642, 126)
					    (588, 126)
					    (588, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(588, 273))
				    (object RoleView "schemaForSchema" @1207
					Parent_View 	@1205
					location   	(82, -418)
					label      	(object SegLabel @1208
					    Parent_View 	@1207
					    location   	(639, 74)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+schemaForSchema"
					    pctDist    	-0.055556
					    height     	53
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C27847501FB"
					client     	@1205
					supplier   	@1171
					vertices   	(list Points
					    (642, 126)
					    (697, 126)
					    (697, 273))
					line_style 	3
					origin_attachment 	(642, 126)
					terminal_attachment 	(697, 273)
					label      	(object SegLabel @1209
					    Parent_View 	@1207
					    location   	(643, 213)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.701863
					    height     	55
					    orientation 	1))))
			    (object InheritView "" @1210
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C21DB560092"
				client     	@1169
				supplier   	@1170
				line_style 	3
				origin_attachment 	(638, 937)
				terminal_attachment 	(638, 843))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1211
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(304, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1211
				    location   	(67, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	474
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	492
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$72" @1212
				location   	(234, 1340)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B426B0194"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$73" @1213
					Parent_View 	@1212
					location   	(-310, -4)
					label      	(object SegLabel @1214
					    Parent_View 	@1213
					    location   	(140, 1271)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B426D0309"
					client     	@1212
					supplier   	@1211
					vertices   	(list Points
					    (234, 1340)
					    (181, 1340)
					    (181, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(181, 1239))
				    (object RoleView "resolvedAttributeDeclaration" @1215
					Parent_View 	@1212
					location   	(-310, -4)
					label      	(object SegLabel @1216
					    Parent_View 	@1215
					    location   	(333, 1389)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+resolvedAttributeDeclaration"
					    pctDist    	1.867925
					    height     	49
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B426D0313"
					client     	@1212
					supplier   	@1211
					vertices   	(list Points
					    (234, 1340)
					    (287, 1340)
					    (287, 1239))
					line_style 	3
					origin_attachment 	(234, 1340)
					terminal_attachment 	(287, 1239)
					label      	(object SegLabel @1217
					    Parent_View 	@1215
					    location   	(241, 1295)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.042945
					    height     	46
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1218
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1760, 144)
				label      	(object ItemLabel
				    Parent_View 	@1218
				    location   	(1517, 101)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	486
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				width      	504
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @1219
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1712, 416)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1219
				    location   	(1599, 373)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	226
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C359403D2"
				width      	244
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$306" @1220
				location   	(1668, 280)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4AE01CC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$307" @1221
					Parent_View 	@1220
					location   	(8, -152)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4AF010F"
					client     	@1220
					supplier   	@1218
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 199))
				    (object RoleView "syntheticFacets" @1222
					Parent_View 	@1220
					location   	(8, -152)
					label      	(object SegLabel @1223
					    Parent_View 	@1222
					    location   	(1852, 300)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+syntheticFacets"
					    pctDist    	0.246154
					    height     	184
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4AF011A"
					client     	@1220
					supplier   	@1219
					line_style 	3
					origin_attachment 	(1668, 280)
					terminal_attachment 	(1668, 361)
					label      	(object SegLabel @1224
					    Parent_View 	@1222
					    location   	(1625, 301)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.276923
					    height     	44
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @1225
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1552, 944)
				label      	(object ItemLabel
				    Parent_View 	@1225
				    location   	(1426, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1226
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1776, 640)
				label      	(object ItemLabel
				    Parent_View 	@1226
				    location   	(1515, 597)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	540
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$308" @1227
				location   	(1508, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D3028E"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$309" @1228
					Parent_View 	@1227
					location   	(-12, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4D402F3"
					client     	@1227
					supplier   	@1226
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 695))
				    (object RoleView "syntheticParticle" @1229
					Parent_View 	@1227
					location   	(-12, -280)
					label      	(object SegLabel @1230
					    Parent_View 	@1229
					    location   	(1695, 767)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+syntheticParticle"
					    pctDist    	-0.259259
					    height     	187
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4D402FD"
					client     	@1227
					supplier   	@1225
					line_style 	3
					origin_attachment 	(1508, 792)
					terminal_attachment 	(1508, 889)
					label      	(object SegLabel @1231
					    Parent_View 	@1229
					    location   	(1454, 829)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.395062
					    height     	55
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1232
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1024, 1184)
				label      	(object ItemLabel
				    Parent_View 	@1232
				    location   	(756, 1141)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	536
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	554
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$84" @1233
				location   	(919, 1349)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B6B425E01F9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$85" @1234
					Parent_View 	@1233
					location   	(-233, -59)
					label      	(object SegLabel @1235
					    Parent_View 	@1234
					    location   	(825, 1273)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B42620046"
					client     	@1233
					supplier   	@1232
					vertices   	(list Points
					    (919, 1349)
					    (866, 1349)
					    (866, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(866, 1239))
				    (object RoleView "resolvedAttributeGroupDefinition" @1236
					Parent_View 	@1233
					location   	(-233, -59)
					label      	(object SegLabel @1237
					    Parent_View 	@1236
					    location   	(993, 1393)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	600
					    justify    	0
					    label      	"+resolvedAttributeGroupDefinition"
					    pctDist    	1.377358
					    height     	44
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3B6B42620050"
					client     	@1233
					supplier   	@1232
					vertices   	(list Points
					    (919, 1349)
					    (973, 1349)
					    (973, 1239))
					line_style 	3
					origin_attachment 	(919, 1349)
					terminal_attachment 	(973, 1239)
					label      	(object SegLabel @1238
					    Parent_View 	@1236
					    location   	(919, 1296)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.014925
					    height     	54
					    orientation 	0))))
			    (object ClassView "Class" "Logical View::xsd::XSDWildcard" @1239
				ShowCompartmentStereotypes 	TRUE
				SuppressAttribute 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1952, 944)
				label      	(object ItemLabel
				    Parent_View 	@1239
				    location   	(1816, 901)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	272
				    justify    	0
				    label      	"XSDWildcard")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6838370031"
				width      	290
				height     	110
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$310" @1240
				location   	(2025, 792)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4BB4D901F6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$311" @1241
					Parent_View 	@1240
					location   	(153, -280)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4DA0284"
					client     	@1240
					supplier   	@1226
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 695))
				    (object RoleView "syntheticWildcard" @1242
					Parent_View 	@1240
					location   	(153, -280)
					label      	(object SegLabel @1243
					    Parent_View 	@1242
					    location   	(1826, 838)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+syntheticWildcard"
					    pctDist    	0.488095
					    height     	200
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4BB4DA028E"
					client     	@1240
					supplier   	@1239
					line_style 	3
					origin_attachment 	(2025, 792)
					terminal_attachment 	(2025, 889)
					label      	(object SegLabel @1244
					    Parent_View 	@1242
					    location   	(2098, 840)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.506173
					    height     	73
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$312" @1245
				location   	(1754, 1178)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C68FF01BF"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$313" @1246
					Parent_View 	@1245
					location   	(-198, 234)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4C69020317"
					client     	@1245
					supplier   	@1232
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(1301, 1178))
				    (object RoleView "syntheticWildcard" @1247
					Parent_View 	@1245
					location   	(-198, 234)
					label      	(object SegLabel @1248
					    Parent_View 	@1247
					    location   	(1828, 1261)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+syntheticWildcard"
					    pctDist    	0.163355
					    height     	83
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3D4C69020318"
					client     	@1245
					supplier   	@1239
					vertices   	(list Points
					    (1754, 1178)
					    (2028, 1178)
					    (2028, 999))
					line_style 	3
					origin_attachment 	(1754, 1178)
					terminal_attachment 	(2028, 999)
					label      	(object SegLabel @1249
					    Parent_View 	@1247
					    location   	(2082, 1098)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.783664
					    height     	54
					    orientation 	1))))))
		    (object ClassDiagram "10. Diagnostics"
			quid       	"3BFE5F0803E2"
			title      	"10. Diagnostics"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::DOMNode" @1250
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(400, 1024)
				label      	(object ItemLabel
				    Parent_View 	@1250
				    location   	(66, 990)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"DOMNode")
				stereotype 	(object ItemLabel
				    Parent_View 	@1250
				    location   	(66, 940)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	668
				    justify    	0
				    label      	"<<datatype>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	14671839
				quidu      	"3BFE64A50117"
				width      	686
				height     	192
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnosticSeverity" @1251
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1040, 656)
				label      	(object ItemLabel
				    Parent_View 	@1251
				    location   	(818, 547)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"XSDDiagnosticSeverity")
				stereotype 	(object ItemLabel
				    Parent_View 	@1251
				    location   	(818, 497)
				    fill_color 	13434879
				    anchor     	10
				    nlines     	1
				    max_width  	444
				    justify    	0
				    label      	"<<enumeration>>")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	8432127
				quidu      	"3BFE68A7032F"
				width      	462
				height     	342
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSchema" @1252
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(192, 112)
				label      	(object ItemLabel
				    Parent_View 	@1252
				    location   	(59, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	266
				    justify    	0
				    label      	"XSDSchema")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"374B182500BB"
				width      	284
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @1253
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(896, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1253
				    location   	(540, 62)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	713
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	731
				height     	125
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @1254
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(384, 608)
				label      	(object ItemLabel
				    Parent_View 	@1254
				    location   	(64, 402)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	640
				    justify    	0
				    label      	"XSDDiagnostic")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3BFE5F910046"
				width      	658
				height     	436
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$214" @1255
				location   	(144, 283)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE6431035F"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$215" @1256
					Parent_View 	@1255
					location   	(-1088, -661)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE643201C6"
					client     	@1255
					supplier   	@1252
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 176))
				    (object RoleView "allDiagnostics" @1257
					Parent_View 	@1255
					location   	(-1088, -661)
					label      	(object SegLabel @1258
					    Parent_View 	@1257
					    location   	(309, 330)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+allDiagnostics"
					    pctDist    	0.448598
					    height     	165
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE643201C7"
					client     	@1255
					supplier   	@1254
					line_style 	3
					origin_attachment 	(144, 283)
					terminal_attachment 	(144, 390)
					label      	(object SegLabel @1259
					    Parent_View 	@1257
					    location   	(96, 327)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.420561
					    height     	49
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$210" @1260
				location   	(1028, 440)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE622703CD"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$211" @1261
					Parent_View 	@1260
					location   	(-396, -72)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE622B0061"
					client     	@1260
					supplier   	@1254
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(713, 440))
				    (object RoleView "components" @1262
					Parent_View 	@1260
					location   	(-396, -72)
					label      	(object SegLabel @1263
					    Parent_View 	@1262
					    location   	(938, 230)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	252
					    justify    	0
					    label      	"+components"
					    pctDist    	0.829181
					    height     	151
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE622B006C"
					client     	@1260
					supplier   	@1253
					vertices   	(list Points
					    (1028, 440)
					    (1088, 440)
					    (1088, 174))
					line_style 	3
					origin_attachment 	(1028, 440)
					terminal_attachment 	(1088, 174)
					label      	(object SegLabel @1264
					    Parent_View 	@1262
					    location   	(1143, 232)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"1..*"
					    pctDist    	0.823848
					    height     	55
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$212" @1265
				location   	(688, 282)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BFE62690165"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$213" @1266
					Parent_View 	@1265
					location   	(160, -278)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE626A0026"
					client     	@1265
					supplier   	@1253
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 174))
				    (object RoleView "diagnostics" @1267
					Parent_View 	@1265
					location   	(160, -278)
					label      	(object SegLabel @1268
					    Parent_View 	@1267
					    location   	(822, 330)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+diagnostics"
					    pctDist    	0.452632
					    height     	134
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3BFE626A0027"
					client     	@1265
					supplier   	@1254
					line_style 	3
					origin_attachment 	(688, 282)
					terminal_attachment 	(688, 390)
					label      	(object SegLabel @1269
					    Parent_View 	@1267
					    location   	(645, 335)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	70
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.494737
					    height     	44
					    orientation 	1))))
			    (object InheritView "" @1270
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3D4C0F4C01A1"
				client     	@1254
				supplier   	@1253
				line_style 	3
				origin_attachment 	(575, 390)
				terminal_attachment 	(575, 174))))
		    (object ClassDiagram "11. Supplemental"
			quid       	"3C287E49019B"
			title      	"11. Supplemental"
			zoom       	100
			max_height 	28350
			max_width  	21600
			origin_x   	0
			origin_y   	0
			items      	(list diagram_item_list
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeGroupDefinition" @1271
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(464, 816)
				label      	(object ItemLabel
				    Parent_View 	@1271
				    location   	(47, 760)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	834
				    justify    	0
				    label      	"XSDAttributeGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED840290"
				width      	852
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDAttributeDeclaration" @1272
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(2112, 880)
				label      	(object ItemLabel
				    Parent_View 	@1272
				    location   	(1731, 824)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	762
				    justify    	0
				    label      	"XSDAttributeDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED2E0192"
				width      	780
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDConcreteComponent" @1273
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(288, 112)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1273
				    location   	(48, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	480
				    justify    	0
				    label      	"XSDConcreteComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6AD7B40065"
				width      	498
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDDiagnostic" @1274
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2384, 112)
				label      	(object ItemLabel
				    Parent_View 	@1274
				    location   	(2236, 60)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	296
				    justify    	0
				    label      	"XSDDiagnostic")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3BFE5F910046"
				width      	314
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$236" @1275
				location   	(1382, 84)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2882C50137"
				roleview_list 	(list RoleViews
				    (object RoleView "primaryComponent" @1276
					Parent_View 	@1275
					location   	(-250, -508)
					label      	(object SegLabel @1277
					    Parent_View 	@1276
					    location   	(756, 116)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+primaryComponent"
					    pctDist    	0.740828
					    height     	32
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2882C70113"
					client     	@1275
					supplier   	@1273
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(537, 84)
					label      	(object SegLabel @1278
					    Parent_View 	@1276
					    location   	(624, 55)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.897260
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$237" @1279
					Parent_View 	@1275
					location   	(-250, -508)
					label      	(object SegLabel @1280
					    Parent_View 	@1279
					    location   	(2058, 126)
					    hidden     	TRUE
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	450
					    justify    	0
					    label      	""
					    pctDist    	0.800000
					    height     	42
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2882C70112"
					client     	@1275
					supplier   	@1274
					line_style 	3
					origin_attachment 	(1382, 84)
					terminal_attachment 	(2227, 84))))
			    (object ClassView "Class" "Logical View::xsd::XSDElementDeclaration" @1281
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2160, 688)
				label      	(object ItemLabel
				    Parent_View 	@1281
				    location   	(1778, 607)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	764
				    justify    	0
				    label      	"XSDElementDeclaration")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED580214"
				compartment 	(object Compartment
				    Parent_View 	@1281
				    location   	(1778, 667)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	722
				    compartmentItems 	(list Compartment
					"+ elementDeclarationReference : boolean"
					"+ circular : boolean"))
				width      	782
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFacet" @1282
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1072)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1282
				    location   	(2100, 991)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	440
				    justify    	0
				    label      	"XSDFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6C359403D2"
				compartment 	(object Compartment
				    Parent_View 	@1282
				    location   	(2100, 1051)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	423
				    compartmentItems 	(list Compartment
					"+ facetName : String"
					"+ effectiveValue : Value"))
				width      	458
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDModelGroupDefinition" @1283
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(448, 624)
				label      	(object ItemLabel
				    Parent_View 	@1283
				    location   	(47, 568)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	802
				    justify    	0
				    label      	"XSDModelGroupDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B66ED9A0205"
				compartment 	(object Compartment
				    Parent_View 	@1283
				    location   	(47, 628)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	1
				    max_width  	769
				    compartmentItems 	(list Compartment
					"+ modelGroupDefinitionReference : boolean"))
				width      	820
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNamedComponent" @1284
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 288)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1284
				    location   	(1005, 157)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	454
				    justify    	0
				    label      	"XSDNamedComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B6846D303A4"
				compartment 	(object Compartment
				    Parent_View 	@1284
				    location   	(1005, 217)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	4
				    max_width  	356
				    compartmentItems 	(list Compartment
					"+ aliasName : String"
					"+ uRI : String"
					"+ aliasURI : String"
					"+ qName : String"))
				width      	472
				height     	286
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDRedefinableComponent" @1285
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(320, 352)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1285
				    location   	(48, 296)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	544
				    justify    	0
				    label      	"XSDRedefinableComponent")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B7FCA8B020B"
				width      	562
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1286
				location   	(320, 510)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1285
				vertices   	(list Points
				    (320, 510)
				    (320, 420)))
			    (object InheritView "" @1287
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC40090"
				client     	@1283
				supplier   	@1285
				line_style 	3
				origin_attachment 	(81, 556)
				terminal_attachment 	(81, 510)
				drawSupplier 	@1286)
			    (object InheritView "" @1288
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAC800D2"
				client     	@1271
				supplier   	@1285
				line_style 	3
				origin_attachment 	(877, 748)
				terminal_attachment 	(877, 510)
				drawSupplier 	@1286)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxInclusiveFacet" @1289
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 1808)
				label      	(object ItemLabel
				    Parent_View 	@1289
				    location   	(2101, 1761)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	438
				    justify    	0
				    label      	"XSDMaxInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C787D00DA"
				width      	456
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinInclusiveFacet" @1290
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1776)
				label      	(object ItemLabel
				    Parent_View 	@1290
				    location   	(35, 1729)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	475
				    justify    	0
				    label      	"XSDMinInclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C788702C9"
				width      	493
				height     	119
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinExclusiveFacet" @1291
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(272, 1936)
				label      	(object ItemLabel
				    Parent_View 	@1291
				    location   	(35, 1889)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	475
				    justify    	0
				    label      	"XSDMinExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C792D000A"
				width      	493
				height     	118
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxExclusiveFacet" @1292
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 1968)
				label      	(object ItemLabel
				    Parent_View 	@1292
				    location   	(2073, 1917)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	462
				    justify    	0
				    label      	"XSDMaxExclusiveFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C789600C2"
				width      	480
				height     	126
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDCardinalityFacet" @1293
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1424)
				label      	(object ItemLabel
				    Parent_View 	@1293
				    location   	(2134, 1372)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDCardinalityFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C755D03D2"
				width      	422
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDBoundedFacet" @1294
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2352, 1264)
				label      	(object ItemLabel
				    Parent_View 	@1294
				    location   	(2163, 1212)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	378
				    justify    	0
				    label      	"XSDBoundedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C751D0344"
				width      	396
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDOrderedFacet" @1295
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(224, 1392)
				label      	(object ItemLabel
				    Parent_View 	@1295
				    location   	(43, 1340)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	362
				    justify    	0
				    label      	"XSDOrderedFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C74DD0248"
				width      	380
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDNumericFacet" @1296
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1232)
				label      	(object ItemLabel
				    Parent_View 	@1296
				    location   	(49, 1178)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	382
				    justify    	0
				    label      	"XSDNumericFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C75950206"
				width      	400
				height     	132
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxFacet" @1297
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2336, 1616)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1297
				    location   	(2135, 1535)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDMaxFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CEB010E"
				compartment 	(object Compartment
				    Parent_View 	@1297
				    location   	(2135, 1595)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	363
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	420
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDWhiteSpaceFacet" @1298
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2288)
				label      	(object ItemLabel
				    Parent_View 	@1298
				    location   	(2102, 2236)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	436
				    justify    	0
				    label      	"XSDWhiteSpaceFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C784601B7"
				width      	454
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDFractionDigitsFacet" @1299
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2304, 2624)
				label      	(object ItemLabel
				    Parent_View 	@1299
				    location   	(2074, 2572)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	460
				    justify    	0
				    label      	"XSDFractionDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79BE02EE"
				width      	478
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDPatternFacet" @1300
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2368, 2128)
				label      	(object ItemLabel
				    Parent_View 	@1300
				    location   	(2196, 2076)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	344
				    justify    	0
				    label      	"XSDPatternFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ADB026C"
				width      	362
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDEnumerationFacet" @1301
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(256, 2096)
				label      	(object ItemLabel
				    Parent_View 	@1301
				    location   	(36, 2044)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	440
				    justify    	0
				    label      	"XSDEnumerationFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C6ACE0141"
				width      	458
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDLengthFacet" @1302
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(208, 2272)
				label      	(object ItemLabel
				    Parent_View 	@1302
				    location   	(38, 2220)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	340
				    justify    	0
				    label      	"XSDLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C776200E7"
				width      	358
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinFacet" @1303
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 1584)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1303
				    location   	(38, 1503)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDMinFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3C0A1CDE037C"
				compartment 	(object Compartment
				    Parent_View 	@1303
				    location   	(38, 1563)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	363
				    compartmentItems 	(list Compartment
					"+ inclusive : boolean"
					"+ exclusive : boolean"))
				width      	422
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMaxLengthFacet" @1304
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2320, 2464)
				label      	(object ItemLabel
				    Parent_View 	@1304
				    location   	(2111, 2412)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	418
				    justify    	0
				    label      	"XSDMaxLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C77C70146"
				width      	436
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDMinLengthFacet" @1305
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2448)
				label      	(object ItemLabel
				    Parent_View 	@1305
				    location   	(39, 2396)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	402
				    justify    	0
				    label      	"XSDMinLengthFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C778C0065"
				width      	420
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDTotalDigitsFacet" @1306
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(240, 2608)
				label      	(object ItemLabel
				    Parent_View 	@1306
				    location   	(38, 2556)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	404
				    justify    	0
				    label      	"XSDTotalDigitsFacet")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B6C79A0020E"
				width      	422
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDComplexTypeDefinition" @1307
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(928, 1152)
				label      	(object ItemLabel
				    Parent_View 	@1307
				    location   	(667, 1100)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	522
				    justify    	0
				    label      	"XSDComplexTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682B82031A"
				width      	540
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDParticle" @1308
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(176, 1072)
				label      	(object ItemLabel
				    Parent_View 	@1308
				    location   	(50, 1020)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	252
				    justify    	0
				    label      	"XSDParticle")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BBD01F7"
				width      	270
				height     	128
				annotation 	8
				autoResize 	TRUE)
			    (object ClassView "Class" "Logical View::xsd::XSDSimpleTypeDefinition" @1309
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 1360)
				label      	(object ItemLabel
				    Parent_View 	@1309
				    location   	(944, 1304)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	576
				    justify    	0
				    label      	"XSDSimpleTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	13434879
				quidu      	"3B682BA7005D"
				compartment 	(object Compartment
				    Parent_View 	@1309
				    location   	(944, 1364)
				    icon_style 	"Icon"
				    fill_color 	16777215
				    anchor     	2
				    nlines     	1
				    max_width  	538
				    compartmentItems 	(list Compartment
					"<<0..*>> + validFacets : String"))
				width      	594
				height     	136
				annotation 	8
				autoResize 	TRUE)
			    (object AssociationViewNew "$UNNAMED$248" @1310
				location   	(1446, 1218)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A994030A"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1311
					Parent_View 	@1310
					location   	(582, -78)
					label      	(object SegLabel @1312
					    Parent_View 	@1311
					    location   	(1580, 1173)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+rootTypeDefinition"
					    pctDist    	3.268293
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A99700DD"
					client     	@1310
					supplier   	@1309
					vertices   	(list Points
					    (1446, 1218)
					    (1487, 1218)
					    (1487, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1487, 1292)
					label      	(object SegLabel @1313
					    Parent_View 	@1311
					    location   	(1439, 1257)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.184211
					    height     	39
					    orientation 	1))
				    (object RoleView "$UNNAMED$249" @1314
					Parent_View 	@1310
					location   	(582, -78)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A99700E7"
					client     	@1310
					supplier   	@1309
					vertices   	(list Points
					    (1446, 1218)
					    (1405, 1218)
					    (1405, 1292))
					line_style 	3
					origin_attachment 	(1446, 1218)
					terminal_attachment 	(1405, 1292))))
			    (object AssociationViewNew "$UNNAMED$252" @1315
				location   	(1733, 1575)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B08D0252"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$253" @1316
					Parent_View 	@1315
					location   	(917, 7)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B08E0091"
					client     	@1315
					supplier   	@1309
					vertices   	(list Points
					    (1733, 1575)
					    (1487, 1575)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "maxFacet" @1317
					Parent_View 	@1315
					location   	(917, 7)
					label      	(object SegLabel @1318
					    Parent_View 	@1317
					    location   	(1751, 1541)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+maxFacet"
					    pctDist    	0.046243
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B08E009B"
					client     	@1315
					supplier   	@1297
					line_style 	3
					origin_attachment 	(1733, 1575)
					terminal_attachment 	(2126, 1575)
					label      	(object SegLabel @1319
					    Parent_View 	@1317
					    location   	(2042, 1536)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.789157
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$254" @1320
				location   	(1587, 1793)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AB0396"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$255" @1321
					Parent_View 	@1320
					location   	(707, -31)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0AC03C9"
					client     	@1320
					supplier   	@1309
					vertices   	(list Points
					    (1587, 1793)
					    (1447, 1793)
					    (1447, 1428))
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(1447, 1428))
				    (object RoleView "maxInclusiveFacet" @1322
					Parent_View 	@1320
					location   	(707, -31)
					label      	(object SegLabel @1323
					    Parent_View 	@1322
					    location   	(1737, 1751)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+maxInclusiveFacet"
					    pctDist    	0.298441
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0AC03D4"
					client     	@1320
					supplier   	@1289
					line_style 	3
					origin_attachment 	(1587, 1793)
					terminal_attachment 	(2092, 1793)
					label      	(object SegLabel @1324
					    Parent_View 	@1322
					    location   	(2020, 1754)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.859155
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$256" @1325
				location   	(937, 1787)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0AF0338"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$257" @1326
					Parent_View 	@1325
					location   	(617, -5)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B001F9"
					client     	@1325
					supplier   	@1309
					vertices   	(list Points
					    (937, 1787)
					    (997, 1787)
					    (997, 1428))
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(997, 1428))
				    (object RoleView "minInclusiveFacet" @1327
					Parent_View 	@1325
					location   	(617, -5)
					label      	(object SegLabel @1328
					    Parent_View 	@1327
					    location   	(792, 1745)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+minInclusiveFacet"
					    pctDist    	0.346062
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B00203"
					client     	@1325
					supplier   	@1290
					line_style 	3
					origin_attachment 	(937, 1787)
					terminal_attachment 	(518, 1787)
					label      	(object SegLabel @1329
					    Parent_View 	@1327
					    location   	(575, 1743)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.863962
					    height     	45
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$258" @1330
				location   	(981, 1937)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B30207"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$259" @1331
					Parent_View 	@1330
					location   	(677, -79)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B40190"
					client     	@1330
					supplier   	@1309
					vertices   	(list Points
					    (981, 1937)
					    (1041, 1937)
					    (1041, 1428))
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(1041, 1428))
				    (object RoleView "minExclusiveFacet" @1332
					Parent_View 	@1330
					location   	(677, -79)
					label      	(object SegLabel @1333
					    Parent_View 	@1332
					    location   	(823, 1900)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+minExclusiveFacet"
					    pctDist    	0.341253
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B4019A"
					client     	@1330
					supplier   	@1291
					line_style 	3
					origin_attachment 	(981, 1937)
					terminal_attachment 	(518, 1937)
					label      	(object SegLabel @1334
					    Parent_View 	@1332
					    location   	(589, 1897)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.846652
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$260" @1335
				location   	(1469, 1953)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0B6028D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$261" @1336
					Parent_View 	@1335
					location   	(621, -95)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B70217"
					client     	@1335
					supplier   	@1309
					vertices   	(list Points
					    (1469, 1953)
					    (1400, 1953)
					    (1400, 1428))
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(1400, 1428))
				    (object RoleView "maxExclusiveFacet" @1337
					Parent_View 	@1335
					location   	(621, -95)
					label      	(object SegLabel @1338
					    Parent_View 	@1337
					    location   	(1646, 1913)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	384
					    justify    	0
					    label      	"+maxExclusiveFacet"
					    pctDist    	0.298097
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0B70221"
					client     	@1335
					supplier   	@1292
					line_style 	3
					origin_attachment 	(1469, 1953)
					terminal_attachment 	(2064, 1953)
					label      	(object SegLabel @1339
					    Parent_View 	@1337
					    location   	(1961, 1913)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.827236
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$262" @1340
				location   	(1122, 2180)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BC0051"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$263" @1341
					Parent_View 	@1340
					location   	(-318, 628)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0BC0246"
					client     	@1340
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "lengthFacet" @1342
					Parent_View 	@1340
					location   	(-318, 628)
					label      	(object SegLabel @1343
					    Parent_View 	@1342
					    location   	(804, 2204)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+lengthFacet"
					    pctDist    	0.475472
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0BC0250"
					client     	@1340
					supplier   	@1302
					vertices   	(list Points
					    (1122, 2180)
					    (1122, 2240)
					    (387, 2240))
					line_style 	3
					origin_attachment 	(1122, 2180)
					terminal_attachment 	(387, 2240)
					label      	(object SegLabel @1344
					    Parent_View 	@1342
					    location   	(471, 2204)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.895597
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$266" @1345
				location   	(1084, 1989)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C2021D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$267" @1346
					Parent_View 	@1345
					location   	(-1380, 437)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C300AB"
					client     	@1345
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "enumerationFacets" @1347
					Parent_View 	@1345
					location   	(-1380, 437)
					label      	(object SegLabel @1348
					    Parent_View 	@1347
					    location   	(837, 2016)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	372
					    justify    	0
					    label      	"+enumerationFacets"
					    pctDist    	0.465857
					    height     	34
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C300AC"
					client     	@1345
					supplier   	@1301
					vertices   	(list Points
					    (1084, 1989)
					    (1084, 2049)
					    (485, 2049))
					line_style 	3
					origin_attachment 	(1084, 1989)
					terminal_attachment 	(485, 2049)
					label      	(object SegLabel @1349
					    Parent_View 	@1347
					    location   	(583, 2021)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.851290
					    height     	29
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$268" @1350
				location   	(1451, 2074)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C50159"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$269" @1351
					Parent_View 	@1350
					location   	(-1525, 538)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C600B0"
					client     	@1350
					supplier   	@1309
					vertices   	(list Points
					    (1451, 2074)
					    (1362, 2074)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "patternFacets" @1352
					Parent_View 	@1350
					location   	(-1525, 538)
					label      	(object SegLabel @1353
					    Parent_View 	@1352
					    location   	(1720, 2038)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+patternFacets"
					    pctDist    	0.367223
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C600BA"
					client     	@1350
					supplier   	@1300
					line_style 	3
					origin_attachment 	(1451, 2074)
					terminal_attachment 	(2187, 2074)
					label      	(object SegLabel @1354
					    Parent_View 	@1352
					    location   	(1972, 2035)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..*"
					    pctDist    	0.708649
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$270" @1355
				location   	(1827, 1400)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0C802A7"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$271" @1356
					Parent_View 	@1355
					location   	(-1149, -472)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C901EA"
					client     	@1355
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(1529, 1400))
				    (object RoleView "cardinalityFacet" @1357
					Parent_View 	@1355
					location   	(-1149, -472)
					label      	(object SegLabel @1358
					    Parent_View 	@1357
					    location   	(1847, 1358)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+cardinalityFacet"
					    pctDist    	0.071730
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C901F5"
					client     	@1355
					supplier   	@1293
					line_style 	3
					origin_attachment 	(1827, 1400)
					terminal_attachment 	(2125, 1400)
					label      	(object SegLabel @1359
					    Parent_View 	@1357
					    location   	(2083, 1357)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.863426
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$280" @1360
				location   	(1262, 2413)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DB0377"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$281" @1361
					Parent_View 	@1360
					location   	(-786, 301)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DC035A"
					client     	@1360
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "fractionDigitsFacet" @1362
					Parent_View 	@1360
					location   	(-786, 301)
					label      	(object SegLabel @1363
					    Parent_View 	@1362
					    location   	(1608, 2556)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	360
					    justify    	0
					    label      	"+fractionDigitsFacet"
					    pctDist    	0.537393
					    height     	41
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DC0364"
					client     	@1360
					supplier   	@1299
					vertices   	(list Points
					    (1262, 2413)
					    (1262, 2596)
					    (2065, 2596))
					line_style 	3
					origin_attachment 	(1262, 2413)
					terminal_attachment 	(2065, 2596)
					label      	(object SegLabel @1364
					    Parent_View 	@1362
					    location   	(1979, 2556)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.913886
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$284" @1365
				location   	(1841, 1306)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0E300D9"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$285" @1366
					Parent_View 	@1365
					location   	(-1135, -790)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0E4038E"
					client     	@1365
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(1529, 1306))
				    (object RoleView "boundedFacet" @1367
					Parent_View 	@1365
					location   	(-1135, -790)
					label      	(object SegLabel @1368
					    Parent_View 	@1367
					    location   	(1832, 1270)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	288
					    justify    	0
					    label      	"+boundedFacet"
					    pctDist    	-0.031746
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0E40398"
					client     	@1365
					supplier   	@1294
					line_style 	3
					origin_attachment 	(1841, 1306)
					terminal_attachment 	(2154, 1306)
					label      	(object SegLabel @1369
					    Parent_View 	@1367
					    location   	(2077, 1275)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.754717
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$264" @1370
				location   	(1328, 2186)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0BF018C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$265" @1371
					Parent_View 	@1370
					location   	(-640, 634)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C0006B"
					client     	@1370
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "whiteSpaceFacet" @1372
					Parent_View 	@1370
					location   	(-640, 634)
					label      	(object SegLabel @1373
					    Parent_View 	@1372
					    location   	(1673, 2207)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+whiteSpaceFacet"
					    pctDist    	0.490909
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0C00075"
					client     	@1370
					supplier   	@1298
					vertices   	(list Points
					    (1328, 2186)
					    (1328, 2246)
					    (2093, 2246))
					line_style 	3
					origin_attachment 	(1328, 2186)
					terminal_attachment 	(2093, 2246)
					label      	(object SegLabel @1374
					    Parent_View 	@1372
					    location   	(2033, 2203)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.926763
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$282" @1375
				location   	(674, 1390)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0DF0048"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$283" @1376
					Parent_View 	@1375
					location   	(-1854, -706)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DF03B9"
					client     	@1375
					supplier   	@1309
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(935, 1390))
				    (object RoleView "orderedFacet" @1377
					Parent_View 	@1375
					location   	(-1854, -706)
					label      	(object SegLabel @1378
					    Parent_View 	@1377
					    location   	(658, 1353)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+orderedFacet"
					    pctDist    	0.061538
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0DF03C3"
					client     	@1375
					supplier   	@1295
					line_style 	3
					origin_attachment 	(674, 1390)
					terminal_attachment 	(414, 1390)
					label      	(object SegLabel @1379
					    Parent_View 	@1377
					    location   	(510, 1355)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.634615
					    height     	36
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$272" @1380
				location   	(687, 1296)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CB039C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$273" @1381
					Parent_View 	@1380
					location   	(-1809, -576)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0CC03D0"
					client     	@1380
					supplier   	@1309
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(935, 1296))
				    (object RoleView "numericFacet" @1382
					Parent_View 	@1380
					location   	(-1809, -576)
					label      	(object SegLabel @1383
					    Parent_View 	@1382
					    location   	(668, 1257)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	276
					    justify    	0
					    label      	"+numericFacet"
					    pctDist    	0.080972
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0CC03D1"
					client     	@1380
					supplier   	@1296
					line_style 	3
					origin_attachment 	(687, 1296)
					terminal_attachment 	(440, 1296)
					label      	(object SegLabel @1384
					    Parent_View 	@1382
					    location   	(506, 1260)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.736842
					    height     	37
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$286" @1385
				location   	(1689, 1662)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B44401EC"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$287" @1386
					Parent_View 	@1385
					location   	(-183, -354)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B4450360"
					client     	@1385
					supplier   	@1309
					vertices   	(list Points
					    (1689, 1662)
					    (1487, 1662)
					    (1487, 1428))
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(1487, 1428))
				    (object RoleView "effectiveMaxFacet" @1387
					Parent_View 	@1385
					location   	(-183, -354)
					label      	(object SegLabel @1388
					    Parent_View 	@1387
					    location   	(1769, 1623)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+effectiveMaxFacet"
					    pctDist    	0.182051
					    height     	40
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B445036A"
					client     	@1385
					supplier   	@1297
					line_style 	3
					origin_attachment 	(1689, 1662)
					terminal_attachment 	(2126, 1662)
					label      	(object SegLabel @1389
					    Parent_View 	@1387
					    location   	(2044, 1627)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.815385
					    height     	36
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$288" @1390
				location   	(1328, 2258)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B54F0145"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$289" @1391
					Parent_View 	@1390
					location   	(-1072, -462)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B550038C"
					client     	@1390
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(1328, 1428))
				    (object RoleView "effectiveWhiteSpaceFacet" @1392
					Parent_View 	@1390
					location   	(-1072, -462)
					label      	(object SegLabel @1393
					    Parent_View 	@1392
					    location   	(1685, 2288)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	492
					    justify    	0
					    label      	"+effectiveWhiteSpaceFacet"
					    pctDist    	0.508541
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5500396"
					client     	@1390
					supplier   	@1298
					vertices   	(list Points
					    (1328, 2258)
					    (1328, 2324)
					    (2093, 2324))
					line_style 	3
					origin_attachment 	(1328, 2258)
					terminal_attachment 	(2093, 2324)
					label      	(object SegLabel @1394
					    Parent_View 	@1392
					    location   	(2009, 2293)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898817
					    height     	32
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$290" @1395
				location   	(1297, 2366)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B5C4011C"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$291" @1396
					Parent_View 	@1395
					location   	(-607, -722)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5C5020D"
					client     	@1395
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "effectiveMaxLengthFacet" @1397
					Parent_View 	@1395
					location   	(-607, -722)
					label      	(object SegLabel @1398
					    Parent_View 	@1397
					    location   	(1657, 2463)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	480
					    justify    	0
					    label      	"+effectiveMaxLengthFacet"
					    pctDist    	0.526906
					    height     	37
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B5C50217"
					client     	@1395
					supplier   	@1304
					vertices   	(list Points
					    (1297, 2366)
					    (1297, 2499)
					    (2102, 2499))
					line_style 	3
					origin_attachment 	(1297, 2366)
					terminal_attachment 	(2102, 2499)
					label      	(object SegLabel @1399
					    Parent_View 	@1397
					    location   	(2007, 2471)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.899308
					    height     	29
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$292" @1400
				location   	(1262, 2449)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B62A00AA"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$293" @1401
					Parent_View 	@1400
					location   	(-1170, -815)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B62B0138"
					client     	@1400
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(1262, 1428))
				    (object RoleView "effectiveFractionDigitsFacet" @1402
					Parent_View 	@1400
					location   	(-1170, -815)
					label      	(object SegLabel @1403
					    Parent_View 	@1402
					    location   	(1640, 2634)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	528
					    justify    	0
					    label      	"+effectiveFractionDigitsFacet"
					    pctDist    	0.585315
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B62B0142"
					client     	@1400
					supplier   	@1299
					vertices   	(list Points
					    (1262, 2449)
					    (1262, 2668)
					    (2065, 2668))
					line_style 	3
					origin_attachment 	(1262, 2449)
					terminal_attachment 	(2065, 2668)
					label      	(object SegLabel @1404
					    Parent_View 	@1402
					    location   	(1989, 2629)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.926485
					    height     	40
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$294" @1405
				location   	(1422, 2159)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B6B003A6"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$295" @1406
					Parent_View 	@1405
					location   	(-770, -1313)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B6B10311"
					client     	@1405
					supplier   	@1309
					vertices   	(list Points
					    (1422, 2159)
					    (1362, 2159)
					    (1362, 1428))
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(1362, 1428))
				    (object RoleView "effectivePatternFacet" @1407
					Parent_View 	@1405
					location   	(-770, -1313)
					label      	(object SegLabel @1408
					    Parent_View 	@1407
					    location   	(1727, 2125)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	408
					    justify    	0
					    label      	"+effectivePatternFacet"
					    pctDist    	0.399090
					    height     	35
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B6B10312"
					client     	@1405
					supplier   	@1300
					line_style 	3
					origin_attachment 	(1422, 2159)
					terminal_attachment 	(2187, 2159)
					label      	(object SegLabel @1409
					    Parent_View 	@1407
					    location   	(2102, 2119)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.889226
					    height     	41
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$296" @1410
				location   	(1084, 2083)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B7CA026B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$297" @1411
					Parent_View 	@1410
					location   	(828, -1373)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B7CB0186"
					client     	@1410
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(1084, 1428))
				    (object RoleView "effectiveEnumerationFacet" @1412
					Parent_View 	@1410
					location   	(828, -1373)
					label      	(object SegLabel @1413
					    Parent_View 	@1412
					    location   	(822, 2101)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	504
					    justify    	0
					    label      	"+effectiveEnumerationFacet"
					    pctDist    	0.488619
					    height     	43
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B7CB0190"
					client     	@1410
					supplier   	@1301
					vertices   	(list Points
					    (1084, 2083)
					    (1084, 2143)
					    (485, 2143))
					line_style 	3
					origin_attachment 	(1084, 2083)
					terminal_attachment 	(485, 2143)
					label      	(object SegLabel @1414
					    Parent_View 	@1412
					    location   	(531, 2100)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.931715
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$302" @1415
				location   	(1122, 2241)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8DC0052"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$303" @1416
					Parent_View 	@1415
					location   	(866, -479)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8DC03B9"
					client     	@1415
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(1122, 1428))
				    (object RoleView "effectiveLengthFacet" @1417
					Parent_View 	@1415
					location   	(866, -479)
					label      	(object SegLabel @1418
					    Parent_View 	@1417
					    location   	(800, 2279)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	396
					    justify    	0
					    label      	"+effectiveLengthFacet"
					    pctDist    	0.491731
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8DC03C3"
					client     	@1415
					supplier   	@1302
					vertices   	(list Points
					    (1122, 2241)
					    (1122, 2318)
					    (387, 2318))
					line_style 	3
					origin_attachment 	(1122, 2241)
					terminal_attachment 	(387, 2318)
					label      	(object SegLabel @1419
					    Parent_View 	@1417
					    location   	(470, 2279)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.898567
					    height     	40
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$250" @1420
				location   	(773, 1565)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B085025B"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$251" @1421
					Parent_View 	@1420
					location   	(469, 13)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0860270"
					client     	@1420
					supplier   	@1309
					vertices   	(list Points
					    (773, 1565)
					    (959, 1565)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(959, 1428))
				    (object RoleView "minFacet" @1422
					Parent_View 	@1420
					location   	(469, 13)
					label      	(object SegLabel @1423
					    Parent_View 	@1422
					    location   	(753, 1532)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	192
					    justify    	0
					    label      	"+minFacet"
					    pctDist    	0.063091
					    height     	34
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B086027A"
					client     	@1420
					supplier   	@1303
					line_style 	3
					origin_attachment 	(773, 1565)
					terminal_attachment 	(451, 1565)
					label      	(object SegLabel @1424
					    Parent_View 	@1422
					    location   	(534, 1523)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.746667
					    height     	43
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$304" @1425
				location   	(816, 1650)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B97001DB"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$305" @1426
					Parent_View 	@1425
					location   	(496, -334)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B97100CF"
					client     	@1425
					supplier   	@1309
					vertices   	(list Points
					    (816, 1650)
					    (959, 1650)
					    (959, 1428))
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(959, 1428))
				    (object RoleView "effectiveMinFacet" @1427
					Parent_View 	@1425
					location   	(496, -334)
					label      	(object SegLabel @1428
					    Parent_View 	@1427
					    location   	(764, 1614)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+effectiveMinFacet"
					    pctDist    	0.141618
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B97100D9"
					client     	@1425
					supplier   	@1303
					line_style 	3
					origin_attachment 	(816, 1650)
					terminal_attachment 	(451, 1650)
					label      	(object SegLabel @1429
					    Parent_View 	@1427
					    location   	(523, 1606)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.802740
					    height     	44
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$274" @1430
				location   	(1297, 2321)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0CF0199"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$275" @1431
					Parent_View 	@1430
					location   	(-719, 497)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D20085"
					client     	@1430
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(1297, 1428))
				    (object RoleView "maxLengthFacet" @1432
					Parent_View 	@1430
					location   	(-719, 497)
					label      	(object SegLabel @1433
					    Parent_View 	@1432
					    location   	(1630, 2380)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	336
					    justify    	0
					    label      	"+maxLengthFacet"
					    pctDist    	0.472255
					    height     	30
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D2008F"
					client     	@1430
					supplier   	@1304
					vertices   	(list Points
					    (1297, 2321)
					    (1297, 2409)
					    (2102, 2409))
					line_style 	3
					origin_attachment 	(1297, 2321)
					terminal_attachment 	(2102, 2409)
					label      	(object SegLabel @1434
					    Parent_View 	@1432
					    location   	(1994, 2366)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.879208
					    height     	44
					    orientation 	0))))
			    (object AssociationViewNew "$UNNAMED$276" @1435
				location   	(1159, 2273)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D500C5"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$277" @1436
					Parent_View 	@1435
					location   	(-281, 449)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D6001D"
					client     	@1435
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(1159, 1428))
				    (object RoleView "minLengthFacet" @1437
					Parent_View 	@1435
					location   	(-281, 449)
					label      	(object SegLabel @1438
					    Parent_View 	@1437
					    location   	(857, 2372)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	324
					    justify    	0
					    label      	"+minLengthFacet"
					    pctDist    	0.519527
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D60027"
					client     	@1435
					supplier   	@1305
					vertices   	(list Points
					    (1159, 2273)
					    (1159, 2409)
					    (450, 2409))
					line_style 	3
					origin_attachment 	(1159, 2273)
					terminal_attachment 	(450, 2409)
					label      	(object SegLabel @1439
					    Parent_View 	@1437
					    location   	(523, 2369)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.913610
					    height     	41
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$300" @1440
				location   	(1197, 2334)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B898016D"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$301" @1441
					Parent_View 	@1440
					location   	(941, -610)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8990056"
					client     	@1440
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(1197, 1428))
				    (object RoleView "effectiveMinLengthFacet" @1442
					Parent_View 	@1440
					location   	(941, -610)
					label      	(object SegLabel @1443
					    Parent_View 	@1442
					    location   	(856, 2454)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+effectiveMinLengthFacet"
					    pctDist    	0.552604
					    height     	40
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8990060"
					client     	@1440
					supplier   	@1305
					vertices   	(list Points
					    (1197, 2334)
					    (1197, 2493)
					    (450, 2493))
					line_style 	3
					origin_attachment 	(1197, 2334)
					terminal_attachment 	(450, 2493)
					label      	(object SegLabel @1444
					    Parent_View 	@1442
					    location   	(527, 2451)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.916047
					    height     	43
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$298" @1445
				location   	(1231, 2438)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B8400062"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$299" @1446
					Parent_View 	@1445
					location   	(863, -746)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B841001D"
					client     	@1445
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "effectiveTotalDigitsFacet" @1447
					Parent_View 	@1445
					location   	(863, -746)
					label      	(object SegLabel @1448
					    Parent_View 	@1447
					    location   	(859, 2632)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	468
					    justify    	0
					    label      	"+effectiveTotalDigitsFacet"
					    pctDist    	0.597030
					    height     	37
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B8410027"
					client     	@1445
					supplier   	@1306
					vertices   	(list Points
					    (1231, 2438)
					    (1231, 2668)
					    (451, 2668))
					line_style 	3
					origin_attachment 	(1231, 2438)
					terminal_attachment 	(451, 2668)
					label      	(object SegLabel @1449
					    Parent_View 	@1447
					    location   	(534, 2631)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.918812
					    height     	38
					    orientation 	1))))
			    (object AssociationViewNew "$UNNAMED$278" @1450
				location   	(1231, 2397)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28B0D800DE"
				roleview_list 	(list RoleViews
				    (object RoleView "$UNNAMED$279" @1451
					Parent_View 	@1450
					location   	(-209, 253)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D803CD"
					client     	@1450
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(1231, 1428))
				    (object RoleView "totalDigitsFacet" @1452
					Parent_View 	@1450
					location   	(-209, 253)
					label      	(object SegLabel @1453
					    Parent_View 	@1452
					    location   	(853, 2550)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+totalDigitsFacet"
					    pctDist    	0.585567
					    height     	38
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28B0D803D7"
					client     	@1450
					supplier   	@1306
					vertices   	(list Points
					    (1231, 2397)
					    (1231, 2587)
					    (451, 2587))
					line_style 	3
					origin_attachment 	(1231, 2397)
					terminal_attachment 	(451, 2587)
					label      	(object SegLabel @1454
					    Parent_View 	@1452
					    location   	(535, 2560)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.914647
					    height     	28
					    orientation 	1))))
			    (object ClassView "Class" "Logical View::xsd::XSDTypeDefinition" @1455
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeAttribute 	TRUE
				IncludeOperation 	TRUE
				location   	(1232, 768)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1455
				    location   	(1019, 574)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	426
				    justify    	0
				    label      	"XSDTypeDefinition")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B66ECD302A9"
				width      	444
				height     	413
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1456
				location   	(1209, 1065)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1455
				vertices   	(list Points
				    (1209, 1065)
				    (1209, 974)))
			    (object AssociationViewNew "$UNNAMED$234" @1457
				location   	(1090, 1031)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C2880F503D9"
				roleview_list 	(list RoleViews
				    (object RoleView "rootTypeDefinition" @1458
					Parent_View 	@1457
					location   	(322, -25)
					label      	(object SegLabel @1459
					    Parent_View 	@1458
					    location   	(897, 1036)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	348
					    justify    	0
					    label      	"+rootTypeDefinition"
					    pctDist    	-0.098765
					    height     	194
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2880F9003C"
					client     	@1457
					supplier   	@1455
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 974)
					label      	(object SegLabel @1460
					    Parent_View 	@1458
					    location   	(1121, 1034)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.061728
					    height     	31
					    orientation 	1))
				    (object RoleView "$UNNAMED$235" @1461
					Parent_View 	@1457
					location   	(322, -25)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C2880F90046"
					client     	@1457
					supplier   	@1307
					line_style 	3
					origin_attachment 	(1090, 1031)
					terminal_attachment 	(1090, 1088))))
			    (object AssociationViewNew "$UNNAMED$240" @1462
				location   	(1538, 873)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A6DB01E5"
				roleview_list 	(list RoleViews
				    (object RoleView "rootType" @1463
					Parent_View 	@1462
					location   	(178, 105)
					label      	(object SegLabel @1464
					    Parent_View 	@1463
					    location   	(1558, 792)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	180
					    justify    	0
					    label      	"+rootType"
					    pctDist    	-1.760870
					    height     	20
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A6DD03DD"
					client     	@1462
					supplier   	@1455
					vertices   	(list Points
					    (1538, 873)
					    (1538, 919)
					    (1454, 919))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 919)
					label      	(object SegLabel @1465
					    Parent_View 	@1463
					    location   	(1509, 875)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.016667
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$241" @1466
					Parent_View 	@1462
					location   	(178, 105)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A6DD03DE"
					client     	@1462
					supplier   	@1455
					vertices   	(list Points
					    (1538, 873)
					    (1538, 828)
					    (1454, 828))
					line_style 	3
					origin_attachment 	(1538, 873)
					terminal_attachment 	(1454, 828))))
			    (object AssociationViewNew "$UNNAMED$242" @1467
				location   	(1535, 684)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7120108"
				roleview_list 	(list RoleViews
				    (object RoleView "baseType" @1468
					Parent_View 	@1467
					location   	(175, -84)
					label      	(object SegLabel @1469
					    Parent_View 	@1468
					    location   	(1559, 597)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	204
					    justify    	0
					    label      	"+baseType"
					    pctDist    	-1.977273
					    height     	24
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7140151"
					client     	@1467
					supplier   	@1455
					vertices   	(list Points
					    (1535, 684)
					    (1535, 728)
					    (1454, 728))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 728)
					label      	(object SegLabel @1470
					    Parent_View 	@1468
					    location   	(1506, 683)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	-0.027778
					    height     	30
					    orientation 	1))
				    (object RoleView "$UNNAMED$243" @1471
					Parent_View 	@1467
					location   	(175, -84)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A714015B"
					client     	@1467
					supplier   	@1455
					vertices   	(list Points
					    (1535, 684)
					    (1535, 641)
					    (1454, 641))
					line_style 	3
					origin_attachment 	(1535, 684)
					terminal_attachment 	(1454, 641))))
			    (object AssociationViewNew "$UNNAMED$246" @1472
				location   	(613, 940)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A7ED03C0"
				roleview_list 	(list RoleViews
				    (object RoleView "complexType" @1473
					Parent_View 	@1472
					location   	(-747, 172)
					label      	(object SegLabel @1474
					    Parent_View 	@1473
					    location   	(465, 983)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	264
					    justify    	0
					    label      	"+complexType"
					    pctDist    	0.373057
					    height     	43
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7F40117"
					client     	@1472
					supplier   	@1308
					vertices   	(list Points
					    (613, 940)
					    (284, 940)
					    (284, 1008))
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(284, 1008)
					label      	(object SegLabel @1475
					    Parent_View 	@1473
					    location   	(224, 972)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	0.909320
					    height     	61
					    orientation 	1))
				    (object RoleView "$UNNAMED$247" @1476
					Parent_View 	@1472
					location   	(-747, 172)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A7F40121"
					client     	@1472
					supplier   	@1455
					line_style 	3
					origin_attachment 	(613, 940)
					terminal_attachment 	(1010, 940))))
			    (object InheritView "" @1477
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B7FCAB1004D"
				client     	@1455
				supplier   	@1285
				line_style 	3
				origin_attachment 	(1112, 562)
				terminal_attachment 	(1112, 510)
				drawSupplier 	@1286)
			    (object InheritView "" @1478
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3BA0D01901F1"
				client     	@1307
				supplier   	@1455
				line_style 	3
				origin_attachment 	(1146, 1088)
				terminal_attachment 	(1146, 1065)
				drawSupplier 	@1456)
			    (object AssociationViewNew "$UNNAMED$244" @1479
				location   	(1362, 1133)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A74B0178"
				roleview_list 	(list RoleViews
				    (object RoleView "simpleType" @1480
					Parent_View 	@1479
					location   	(-158, -163)
					label      	(object SegLabel @1481
					    Parent_View 	@1480
					    location   	(1499, 1094)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	240
					    justify    	0
					    label      	"+simpleType"
					    pctDist    	-0.246753
					    height     	137
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A74D017B"
					client     	@1479
					supplier   	@1309
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 1292)
					label      	(object SegLabel @1482
					    Parent_View 	@1480
					    location   	(1321, 1097)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"0..1"
					    pctDist    	-0.227273
					    height     	42
					    orientation 	1))
				    (object RoleView "$UNNAMED$245" @1483
					Parent_View 	@1479
					location   	(-158, -163)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A74D0185"
					client     	@1479
					supplier   	@1455
					line_style 	3
					origin_attachment 	(1362, 1133)
					terminal_attachment 	(1362, 974))))
			    (object ClassView "Class" "Logical View::xsd::XSDFeature" @1484
				ShowCompartmentStereotypes 	TRUE
				SuppressOperation 	TRUE
				IncludeOperation 	TRUE
				location   	(2272, 384)
				font       	(object Font
				    italics    	TRUE)
				label      	(object ItemLabel
				    Parent_View 	@1484
				    location   	(2002, 303)
				    fill_color 	13434879
				    nlines     	1
				    max_width  	540
				    justify    	0
				    label      	"XSDFeature")
				icon_style 	"Icon"
				line_color 	3342489
				fill_color 	16777088
				quidu      	"3B69B537026C"
				compartment 	(object Compartment
				    Parent_View 	@1484
				    location   	(2002, 363)
				    font       	(object Font
					italics    	TRUE)
				    icon_style 	"Icon"
				    fill_color 	13434879
				    anchor     	2
				    nlines     	2
				    max_width  	508
				    compartmentItems 	(list Compartment
					"+ global : boolean"
					"+ featureReference : boolean"))
				width      	558
				height     	186
				annotation 	8
				autoResize 	TRUE)
			    (object InheritTreeView "" @1485
				location   	(2262, 568)
				line_color 	3342489
				fill_color 	13434879
				supplier   	@1484
				vertices   	(list Points
				    (2262, 568)
				    (2262, 477)))
			    (object InheritView "" @1486
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69EDEE01BF"
				client     	@1281
				supplier   	@1484
				line_style 	3
				origin_attachment 	(2346, 595)
				terminal_attachment 	(2346, 568)
				drawSupplier 	@1485)
			    (object AssociationViewNew "$UNNAMED$238" @1487
				location   	(1553, 453)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C28A0F201A4"
				roleview_list 	(list RoleViews
				    (object RoleView "type" @1488
					Parent_View 	@1487
					location   	(801, 293)
					label      	(object SegLabel @1489
					    Parent_View 	@1488
					    location   	(1331, 499)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	108
					    justify    	0
					    label      	"+type"
					    pctDist    	0.506266
					    height     	46
					    orientation 	0)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A0F302E5"
					client     	@1487
					supplier   	@1455
					vertices   	(list Points
					    (1553, 453)
					    (1222, 453)
					    (1222, 562))
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1222, 562)
					label      	(object SegLabel @1490
					    Parent_View 	@1488
					    location   	(1185, 479)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.812030
					    height     	38
					    orientation 	1))
				    (object RoleView "$UNNAMED$239" @1491
					Parent_View 	@1487
					location   	(801, 293)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C28A0F302F0"
					client     	@1487
					supplier   	@1484
					line_style 	3
					origin_attachment 	(1553, 453)
					terminal_attachment 	(1993, 453))))
			    (object AssociationViewNew "$UNNAMED$130" @1492
				location   	(1908, 353)
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C29010602D7"
				roleview_list 	(list RoleViews
				    (object RoleView "resolvedFeature" @1493
					Parent_View 	@1492
					location   	(-268, -159)
					label      	(object SegLabel @1494
					    Parent_View 	@1493
					    location   	(1729, 352)
					    anchor     	1
					    anchor_loc 	1
					    nlines     	1
					    max_width  	312
					    justify    	0
					    label      	"+resolvedFeature"
					    pctDist    	-0.029412
					    height     	180
					    orientation 	1)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C29010B000E"
					client     	@1492
					supplier   	@1484
					vertices   	(list Points
					    (1908, 353)
					    (1908, 387)
					    (1993, 387))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 387)
					label      	(object SegLabel @1495
					    Parent_View 	@1493
					    location   	(1945, 354)
					    anchor     	2
					    anchor_loc 	1
					    nlines     	1
					    max_width  	15
					    justify    	0
					    label      	"1"
					    pctDist    	0.596639
					    height     	34
					    orientation 	0))
				    (object RoleView "$UNNAMED$131" @1496
					Parent_View 	@1492
					location   	(-268, -159)
					stereotype 	TRUE
					line_color 	3342489
					quidu      	"3C29010B0018"
					client     	@1492
					supplier   	@1484
					vertices   	(list Points
					    (1908, 353)
					    (1908, 319)
					    (1993, 319))
					line_style 	3
					origin_attachment 	(1908, 353)
					terminal_attachment 	(1993, 319))))
			    (object InheritView "" @1497
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A26036D"
				client     	@1285
				supplier   	@1284
				vertices   	(list Points
				    (494, 284)
				    (494, 244)
				    (996, 244))
				line_style 	3
				origin_attachment 	(494, 284)
				terminal_attachment 	(996, 244))
			    (object InheritView "" @1498
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B69B7DC0193"
				client     	@1272
				supplier   	@1484
				line_style 	3
				origin_attachment 	(1718, 812)
				terminal_attachment 	(1718, 568)
				drawSupplier 	@1485)
			    (object InheritView "" @1499
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3B684A1302A2"
				client     	@1309
				supplier   	@1455
				line_style 	3
				origin_attachment 	(1265, 1292)
				terminal_attachment 	(1265, 1065)
				drawSupplier 	@1456)
			    (object InheritView "" @1500
				stereotype 	TRUE
				line_color 	3342489
				quidu      	"3C290A2C0307"
				client     	@1484
				supplier   	@1284
				vertices   	(list Points
				    (2147, 291)
				    (2147, 244)
				    (1468, 244))
				line_style 	3
				origin_attachment 	(2147, 291)
				terminal_attachment 	(1468, 244)))))))
	logical_presentations 	(list unit_reference_list
	    (object ClassDiagram "Main"
		quid       	"3ABFD9A70163"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list
		    (object CategoryView "Logical View::http" @1501
			location   	(336, 224)
			label      	(object ItemLabel
			    Parent_View 	@1501
			    location   	(192, 140)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"http")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"3ABFD9AD01F8"
			width      	300
			height     	180)
		    (object CategoryView "Logical View::wsdl" @1502
			location   	(784, 224)
			label      	(object ItemLabel
			    Parent_View 	@1502
			    location   	(640, 140)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"wsdl")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"3ADFB8E5021E"
			width      	300
			height     	180)
		    (object CategoryView "Logical View::xsd" @1503
			location   	(1232, 224)
			label      	(object ItemLabel
			    Parent_View 	@1503
			    location   	(1088, 140)
			    fill_color 	13434879
			    nlines     	2
			    max_width  	288
			    justify    	0
			    label      	"xsd")
			icon_style 	"Icon"
			line_color 	3342489
			fill_color 	13434879
			quidu      	"39ABDC6F01AA"
			width      	300
			height     	180)))))
    root_subsystem 	(object SubSystem "Component View"
	quid       	"3ABFD9A70152"
	physical_models 	(list unit_reference_list)
	physical_presentations 	(list unit_reference_list
	    (object Module_Diagram "Main"
		quid       	"3ABFD9A7018B"
		title      	"Main"
		zoom       	100
		max_height 	28350
		max_width  	21600
		origin_x   	0
		origin_y   	0
		items      	(list diagram_item_list))))
    process_structure 	(object Processes
	quid       	"3ABFD9A70153"
	ProcsNDevs 	(list
	    (object Process_Diagram "Deployment View"
		quid       	"3ABFD9A70155"
		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       	"DDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"DDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"DDL"
			name       	"DataBase"
			value      	("DataBaseSet" 800))
		    (object Attribute
			tool       	"DDL"
			name       	"DataBaseSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"DDL"
				name       	"ANSI"
				value      	800)
			    (object Attribute
				tool       	"DDL"
				name       	"Oracle"
				value      	801)
			    (object Attribute
				tool       	"DDL"
				name       	"SQLServer"
				value      	802)
			    (object Attribute
				tool       	"DDL"
				name       	"Sybase"
				value      	803)
			    (object Attribute
				tool       	"DDL"
				name       	"Watcom"
				value      	804)))
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnName"
			value      	"Id")
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKeyColumnType"
			value      	"NUMBER(5)")
		    (object Attribute
			tool       	"DDL"
			name       	"ViewName"
			value      	"V_")
		    (object Attribute
			tool       	"DDL"
			name       	"TableName"
			value      	"T_")
		    (object Attribute
			tool       	"DDL"
			name       	"InheritSuffix"
			value      	"_V")
		    (object Attribute
			tool       	"DDL"
			name       	"DropClause"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"BaseViews"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"DDLScriptFilename"
			value      	"DDL1.SQL")))
	    (object Attribute
		tool       	"DDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"DDL"
			name       	"ColumnType"
			value      	"VARCHAR")
		    (object Attribute
			tool       	"DDL"
			name       	"Length"
			value      	"")
		    (object Attribute
			tool       	"DDL"
			name       	"NullsOK"
			value      	TRUE)
		    (object Attribute
			tool       	"DDL"
			name       	"PrimaryKey"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"Unique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CompositeUnique"
			value      	FALSE)
		    (object Attribute
			tool       	"DDL"
			name       	"CheckConstraint"
			value      	"")))
	    (object Attribute
		tool       	"DDL"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"framework"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"IDL"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"IDL"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"StopOnError"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"DefaultSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"IDLElement"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecificationType"
			value      	("IDLSpecSet" 22))
		    (object Attribute
			tool       	"IDL"
			name       	"IDLSpecSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Interface"
				value      	22)
			    (object Attribute
				tool       	"IDL"
				name       	"Typedef"
				value      	54)
			    (object Attribute
				tool       	"IDL"
				name       	"Enumeration"
				value      	8)
			    (object Attribute
				tool       	"IDL"
				name       	"Const"
				value      	71)
			    (object Attribute
				tool       	"IDL"
				name       	"Exception"
				value      	61)
			    (object Attribute
				tool       	"IDL"
				name       	"Struct"
				value      	51)
			    (object Attribute
				tool       	"IDL"
				name       	"Union"
				value      	81)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.http/src/rose/httpbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateIDLModule"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.http/src/rose/httpbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"IDL"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"IDL"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"IDL"
			name       	"IncludeBySimpleName"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"ConstValue"
			value      	"")))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"IDL"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"IDL"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"IDL"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"IDL"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"IDL"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"IDL"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"IDL"
			name       	"Directory"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"IDL"
		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       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"Java"
			name       	"UsePrefixes"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"InstanceVariablePrefix"
			value      	"m_")
		    (object Attribute
			tool       	"Java"
			name       	"ClassVariablePrefix"
			value      	"s_")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultAttributeDataType"
			value      	"int")
		    (object Attribute
			tool       	"Java"
			name       	"DefaultOperationReturnType"
			value      	"void")
		    (object Attribute
			tool       	"Java"
			name       	"RootDir"
			value      	"")
		    (object Attribute
			tool       	"Java"
			name       	"AutoSync"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"ShowCodegenDlg"
			value      	FALSE)
		    (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       	"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       	"EditorType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"BuiltIn"
				value      	100)
			    (object Attribute
				tool       	"Java"
				name       	"WindowsShell"
				value      	101)))
		    (object Attribute
			tool       	"Java"
			name       	"VMType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Java"
				name       	"Sun"
				value      	200)
			    (object Attribute
				tool       	"Java"
				name       	"Microsoft"
				value      	201)
			    (object Attribute
				tool       	"Java"
				name       	"IBM"
				value      	202)))
		    (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      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"JavaCommentStyle"
			value      	FALSE)
		    (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       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			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       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Static"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateCode"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"DisableAutoSync"
			value      	FALSE)
		    (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       	"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       	"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       	"BMP_Extend_CMP"
			value      	FALSE)))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Java"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"Java"
			name       	"CmIdentification"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Java"
			name       	"AdditionalImports"
			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       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Java"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (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       	"GenerateDataMember"
			value      	TRUE)
		    (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       	"cg"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"cg"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"UseMSVC"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileExtension"
			value      	"h")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileBackupExtension"
			value      	"h~")
		    (object Attribute
			tool       	"cg"
			name       	"HeaderFileTemporaryExtension"
			value      	"h#")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileExtension"
			value      	"cpp")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileBackupExtension"
			value      	"cp~")
		    (object Attribute
			tool       	"cg"
			name       	"CodeFileTemporaryExtension"
			value      	"cp#")
		    (object Attribute
			tool       	"cg"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"StopOnError"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ErrorLimit"
			value      	30)
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"$ROSECPP_SOURCE")
		    (object Attribute
			tool       	"cg"
			name       	"PathSeparator"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"FileNameFormat"
			value      	"128vx_b")
		    (object Attribute
			tool       	"cg"
			name       	"BooleanType"
			value      	"int")
		    (object Attribute
			tool       	"cg"
			name       	"AllowTemplates"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowExplicitInstantiations"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AllowProtectedInheritance"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CommentWidth"
			value      	60)
		    (object Attribute
			tool       	"cg"
			name       	"OneByValueContainer"
			value      	"$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"OneByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByValueContainer"
			value      	"OptionalByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"OptionalByReferenceContainer"
			value      	"$targetClass *")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByValueContainer"
			value      	"$targetClass[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"FixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedFixedByReferenceContainer"
			value      	"$targetClass *[$limit]")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByValueContainer"
			value      	"BoundedListByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByValueContainer"
			value      	"BoundedSetByValue<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"BoundedByReferenceContainer"
			value      	"BoundedListByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedBoundedByReferenceContainer"
			value      	"BoundedSetByReference<$targetClass,$limit>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByValueContainer"
			value      	"UnboundedListByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByValueContainer"
			value      	"UnboundedSetByValue<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnboundedByReferenceContainer"
			value      	"UnboundedListByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedUnboundedByReferenceContainer"
			value      	"UnboundedSetByReference<$targetClass>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByValueContainer"
			value      	"AssociationByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByValueContainer"
			value      	"DictionaryByValue<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedByReferenceContainer"
			value      	"AssociationByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"UnorderedQualifiedByReferenceContainer"
			value      	"DictionaryByReference<$qualtype, $qualcont>")
		    (object Attribute
			tool       	"cg"
			name       	"GeneratePreserveRegions"
			value      	TRUE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ImplementationType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ClassKey"
			value      	"class")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"PutBodiesInSpec"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"DefaultConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitDefaultConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateCopyConstructor"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"CopyConstructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ExplicitCopyConstructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDestructor"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DestructorVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DestructorKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineDestructor"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssignmentOperation"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"AssignmentKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssignmentOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEqualityOperations"
			value      	("GenerateSet" 199))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"EqualityKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineEqualityOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"RelationalVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"RelationalKind"
			value      	("FriendKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"InlineRelationalOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StorageMgmtVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStorageMgmtOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"SubscriptResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineSubscriptOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"DereferenceResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineDereferenceOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionKind"
			value      	("ThreeKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"IndirectionResultType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InlineIndirectionOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"StreamVisibility"
			value      	("VisibilitySet" 45))
		    (object Attribute
			tool       	"cg"
			name       	"InlineStreamOperations"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"ThreeKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)))
		    (object Attribute
			tool       	"cg"
			name       	"KindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)))
		    (object Attribute
			tool       	"cg"
			name       	"FriendKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"DeclareAndDefine"
				value      	199)
			    (object Attribute
				tool       	"cg"
				name       	"DeclareOnly"
				value      	205)
			    (object Attribute
				tool       	"cg"
				name       	"DoNotDeclare"
				value      	206)))
		    (object Attribute
			tool       	"cg"
			name       	"VisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)))
		    (object Attribute
			tool       	"cg"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDefaultSpecifier"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DefaultSpecifier"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.http/src/rose/httpbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Generate"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"CmIdentification"
			value      	(value Text "  %X%  @(#) plugins/com.ibm.etools.ctc.binding.http/src/rose/httpbindingMdl.mdl, ctc, ibmctc"))
		    (object Attribute
			tool       	"cg"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"FileName"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"AllowExtensionlessFileName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeFormat"
			value      	(value Text 
|// $package
|#include "$file"
|
			))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeBySimpleName"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludePrecompiledHeader"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"IncludeOrder"
			value      	"AMIR")
		    (object Attribute
			tool       	"cg"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyle"
			value      	("InliningStyleSet" 207))
		    (object Attribute
			tool       	"cg"
			name       	"InliningStyleSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"InClassDeclaration"
				value      	208)
			    (object Attribute
				tool       	"cg"
				name       	"FollowingClassDeclaration"
				value      	207)))
		    (object Attribute
			tool       	"cg"
			name       	"TypesDefined"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"IncludeClosure"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationKind"
			value      	("OperationKindSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"OperationKindSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsExplicit"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Inline"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ExitCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))
		    (object Attribute
			tool       	"cg"
			name       	"BodyAnnotations"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"OperationIsOneWay"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Raises"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"Ordered"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$supplier")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$relationship")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"SelectorType"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedHasRelType"
			value      	("HasRelTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"HasRelTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Association"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"InstanceArguments"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"NameIfUnlabeled"
			value      	"the_$targetClass")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"InitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"ContainerClass"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerGet"
			value      	"$data.get($keys)")
		    (object Attribute
			tool       	"cg"
			name       	"ContainerSet"
			value      	"$data.set($keys,$value)")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedContainer"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassContainer"
			value      	"$supplier *")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassInitialValue"
			value      	(value Text ""))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReference"
			value      	("QualifiedGetSetByReferenceSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetSetByReferenceSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_GetSetByReference"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateQualifiedSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"QualifiedSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineQualifiedSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberName"
			value      	"$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtRelationshipVisibility"
				value      	210)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassDataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetName"
			value      	"get_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassGetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateAssocClassSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetName"
			value      	"set_$target")
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassSetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineAssocClassSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"AssocClassForwardReferenceOnly"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"cg"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"cg"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"cg"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberName"
			value      	"$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibility"
			value      	("DataMemberVisibilitySet" 14))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberVisibilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Public"
				value      	45)
			    (object Attribute
				tool       	"cg"
				name       	"Protected"
				value      	44)
			    (object Attribute
				tool       	"cg"
				name       	"Private"
				value      	43)
			    (object Attribute
				tool       	"cg"
				name       	"Implementation"
				value      	14)
			    (object Attribute
				tool       	"cg"
				name       	"AtAttributeVisibility"
				value      	211)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutability"
			value      	("DataMemberMutabilitySet" 0))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberMutabilitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Unrestricted"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Mutable"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Const"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberIsVolatile"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"DataMemberFieldSize"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateGetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateSetOperation"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetName"
			value      	"get_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"SetName"
			value      	"set_$attribute")
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKinds"
			value      	("GetSetKindsSet" 200))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetKindsSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"Common"
				value      	200)
			    (object Attribute
				tool       	"cg"
				name       	"Virtual"
				value      	201)
			    (object Attribute
				tool       	"cg"
				name       	"Abstract"
				value      	202)
			    (object Attribute
				tool       	"cg"
				name       	"Static"
				value      	203)
			    (object Attribute
				tool       	"cg"
				name       	"Friend"
				value      	204)))
		    (object Attribute
			tool       	"cg"
			name       	"GetIsConst"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConst"
			value      	("GetResultIsConstSet" 2))
		    (object Attribute
			tool       	"cg"
			name       	"GetResultIsConstSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"False"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"True"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Same_As_Function"
				value      	2)))
		    (object Attribute
			tool       	"cg"
			name       	"GetSetByReference"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineGet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"SetReturnsValue"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"InlineSet"
			value      	TRUE)
		    (object Attribute
			tool       	"cg"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"IsReadOnly"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"ForwardReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"BodyReferenceOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"default__Subsystem"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"Directory"
			value      	"AUTO GENERATE")
		    (object Attribute
			tool       	"cg"
			name       	"DirectoryIsOnSearchList"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"PrecompiledHeader"
			value      	"")))
	    (object Attribute
		tool       	"cg"
		name       	"default__Category"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"cg"
			name       	"IsNamespace"
			value      	FALSE)
		    (object Attribute
			tool       	"cg"
			name       	"Indent"
			value      	2)
		    (object Attribute
			tool       	"cg"
			name       	"CodeName"
			value      	"")
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegions"
			value      	("GenerateEmptyRegionSet" 3))
		    (object Attribute
			tool       	"cg"
			name       	"GenerateEmptyRegionSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"cg"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"cg"
				name       	"Preserved"
				value      	1)
			    (object Attribute
				tool       	"cg"
				name       	"Unpreserved"
				value      	2)
			    (object Attribute
				tool       	"cg"
				name       	"All"
				value      	3)))))
	    (object Attribute
		tool       	"MSVC"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Version"
			value      	"5.0")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCClassTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCClassTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Interface_Part"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Connection_Part"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Class_Factory"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionality"
			value      	("CObjectFunctionalitySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"CObjectFunctionalitySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dynamic"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dyncreate"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Serial"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOverrideGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDataGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DATA_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateFieldGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_FIELD_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMessageMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactory"
			value      	("OLEFactorySet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEFactorySet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"None"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Built_in"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Simple"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Licensed"
				value      	3)))
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEName"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEClassID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLECtlType"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECtlType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateOLETypeLib"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMajor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLETypeLibMinor"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropPageIDs"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"OLEPropPageIDs"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispatchMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockProperties"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockFunctions"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DispatchDefValue"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateDispIdEnum"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISP_ID_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInterfaceMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"INTERFACE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"InitInterface"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"StockEvents"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateEventSinkMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"PropNotifySinks"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ConnectionPointIID"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"InheritanceType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"OLECommands"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCDeclares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MFCImplements"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"ATL_Declares"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateCOMMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"COM_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateConnectionPointMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"CONNECTION_POINT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateMsgMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GeneratePropertyMap"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"PROPERTY_MAP_Entries"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCOperationTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCOperationTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Virtual_Override"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Message_Handler"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dispatch_Handler"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Firing_Function"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Event_Sink_Handler"
				value      	5)
			    (object Attribute
				tool       	"MSVC"
				name       	"Std_OLE_Method"
				value      	6)
			    (object Attribute
				tool       	"MSVC"
				name       	"Command_Parser"
				value      	7)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Get_Function"
				value      	8)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Set_Function"
				value      	9)
			    (object Attribute
				tool       	"MSVC"
				name       	"Property_Notify_Function"
				value      	10)
			    (object Attribute
				tool       	"MSVC"
				name       	"Macro_Generated_Function"
				value      	11)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_MSG_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"MESSAGE_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENT_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"EVENTSINK_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"BodyImage"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Has"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"Type"
			value      	("MSVCAttributeTypeSet" 0))
		    (object Attribute
			tool       	"MSVC"
			name       	"MSVCAttributeTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"MSVC"
				name       	"Normal"
				value      	0)
			    (object Attribute
				tool       	"MSVC"
				name       	"Member_Property"
				value      	1)
			    (object Attribute
				tool       	"MSVC"
				name       	"Get_Set_Property"
				value      	2)
			    (object Attribute
				tool       	"MSVC"
				name       	"Dialog_Data"
				value      	3)
			    (object Attribute
				tool       	"MSVC"
				name       	"Field_Data"
				value      	4)
			    (object Attribute
				tool       	"MSVC"
				name       	"Stock_Property"
				value      	5)))
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DISPATCH_MAP_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"DeclSpec"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"PointerBase"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"CallType"
			value      	"")
		    (object Attribute
			tool       	"MSVC"
			name       	"StockPropertyImplementation"
			value      	"")))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"MSVC"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateIncludesGroup"
			value      	FALSE)
		    (object Attribute
			tool       	"MSVC"
			name       	"AFX_INCLUDES_Entries"
			value      	(value Text ""))
		    (object Attribute
			tool       	"MSVC"
			name       	"GenerateInsertLocation"
			value      	FALSE)))
	    (object Attribute
		tool       	"cg"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"SCC"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"TypeLibImporter"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"Visual Basic"
		name       	"propertyId"
		value      	"783606378")
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CreatableSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Private"
				value      	221)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"PublicNotCreatable"
				value      	213)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"SingleUse"
				value      	214)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalSingleUse"
				value      	215)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"MultiUse"
				value      	219)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"GlobalMultiUse"
				value      	220)))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionBase"
			value      	"0")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionExplicit"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OptionCompare"
			value      	("CompareSet" 202))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Creatable"
			value      	("CreatableSet" 221))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateInitialization"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateTermination"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CollectionClass"
			value      	"Collection")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"CompareSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"Visual Basic"
				name       	"None"
				value      	202)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Binary"
				value      	203)
			    (object Attribute
				tool       	"Visual Basic"
				name       	"Text"
				value      	204)))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"OperationName"
			value      	"$operation")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"LibraryName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"AliasName"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsStatic"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"EntryCode"
			value      	(value Text ""))
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ExitCode"
			value      	(value Text ""))))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"IsConst"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"New"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"WithEvents"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"Subscript"
			value      	"")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"NameIfUnlabeled"
			value      	"the$supplier")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateDataMember"
			value      	TRUE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"DataMemberName"
			value      	"$relationship")
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateGetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateSetOperation"
			value      	FALSE)
		    (object Attribute
			tool       	"Visual Basic"
			name       	"GenerateLetOperation"
			value      	FALSE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Inherit"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ImplementsDelegation"
			value      	TRUE)))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"Visual Basic"
			name       	"ProjectFile"
			value      	"")))
	    (object Attribute
		tool       	"Visual Basic"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"VisualStudio"
		name       	"HiddenTool"
		value      	FALSE)
	    (object Attribute
		tool       	"CORBA"
		name       	"propertyId"
		value      	"809135966")
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Project"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"CreateMissingDirectories"
			value      	TRUE)
		    (object Attribute
			tool       	"CORBA"
			name       	"Editor"
			value      	("EditorType" 100))
		    (object Attribute
			tool       	"CORBA"
			name       	"IncludePath"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"StopOnError"
			value      	TRUE)
		    (object Attribute
			tool       	"CORBA"
			name       	"EditorType"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"CORBA"
				name       	"BuiltIn"
				value      	100)
			    (object Attribute
				tool       	"CORBA"
				name       	"WindowsShell"
				value      	101)))))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Class"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"ArrayDimensions"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"ConstValue"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"ImplementationType"
			value      	"")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Module-Spec"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"CmIdentification"
			value      	(value Text "  %X% %Q% %Z% %W%"))
		    (object Attribute
			tool       	"CORBA"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Module-Body"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"AdditionalIncludes"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"CmIdentification"
			value      	(value Text "  %X% %Q% %Z% %W%"))
		    (object Attribute
			tool       	"CORBA"
			name       	"CopyrightNotice"
			value      	(value Text ""))
		    (object Attribute
			tool       	"CORBA"
			name       	"InclusionProtectionSymbol"
			value      	"AUTO GENERATE")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Operation"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"Context"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"OperationIsOneWay"
			value      	FALSE)))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Attribute"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"ArrayDimensions"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"CORBA"
			name       	"Order"
			value      	"")))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Role"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"ArrayDimensions"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"CaseSpecifier"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"GenerateForwardReference"
			value      	FALSE)
		    (object Attribute
			tool       	"CORBA"
			name       	"IsReadOnly"
			value      	FALSE)
		    (object Attribute
			tool       	"CORBA"
			name       	"Order"
			value      	"")
		    (object Attribute
			tool       	"CORBA"
			name       	"BoundedRoleType"
			value      	("AssocTypeSet" 47))
		    (object Attribute
			tool       	"CORBA"
			name       	"AssocTypeSet"
			value      	(list Attribute_Set
			    (object Attribute
				tool       	"CORBA"
				name       	"Array"
				value      	24)
			    (object Attribute
				tool       	"CORBA"
				name       	"Sequence"
				value      	47)))))
	    (object Attribute
		tool       	"CORBA"
		name       	"default__Uses"
		value      	(list Attribute_Set
		    (object Attribute
			tool       	"CORBA"
			name       	"GenerateForwardReference"
			value      	FALSE)))
	    (object Attribute
		tool       	"CORBA"
		name       	"HiddenTool"
		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       	"Final"
			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       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)))
	    (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       	"Final"
			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       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			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       	"BMP_Extend_CMP"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"Final"
			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       	"GenerateFinalizer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateStaticInitializer"
			value      	FALSE)
		    (object Attribute
			tool       	"Java"
			name       	"GenerateInstanceInitializer"
			value      	FALSE)))
	    (object Attribute
		tool       	"R2Editor"
		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       	"Version Control"
		name       	"HiddenTool"
		value      	FALSE))
	quid       	"3ABFD9A70154"))
