
(object Petal
    version    	42
    _written   	"Rose 4.5.8054a"
    charSet    	0)

(object Class_Category "wsdl"
    is_unit    	TRUE
    is_loaded  	TRUE
    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" @1
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1424, 800)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(1173, 660)
			fill_color 	13434879
			nlines     	1
			max_width  	502
			justify    	0
			label      	"IBinding")
		    stereotype 	(object ItemLabel
			Parent_View 	@1
			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" @2
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(816, 528)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(686, 481)
			fill_color 	13434879
			nlines     	1
			max_width  	260
			justify    	0
			label      	"IPort")
		    stereotype 	(object ItemLabel
			Parent_View 	@2
			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" @3
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 160)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(126, 90)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"IService")
		    stereotype 	(object ItemLabel
			Parent_View 	@3
			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" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(240, 528)
		    label      	(object ItemLabel
			Parent_View 	@4
			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 "" @5
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85954E01B4"
		    client     	@4
		    supplier   	@3
		    line_style 	3
		    origin_attachment 	(240, 377)
		    terminal_attachment 	(240, 292))
		(object ClassView "Class" "Logical View::wsdl::Binding" @6
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1440, 1264)
		    label      	(object ItemLabel
			Parent_View 	@6
			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 "" @7
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8595410129"
		    client     	@6
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1430, 1113)
		    terminal_attachment 	(1430, 1002))
		(object ClassView "Class" "Logical View::wsdl::Port" @8
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(816, 912)
		    label      	(object ItemLabel
			Parent_View 	@8
			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 "" @9
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85954502C9"
		    client     	@8
		    supplier   	@2
		    line_style 	3
		    origin_attachment 	(809, 828)
		    terminal_attachment 	(809, 637))
		(object AssociationViewNew "$UNNAMED$9" @10
		    location   	(343, 916)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D9400393"
		    roleview_list 	(list RoleViews
			(object RoleView "ePorts" @11
			    Parent_View 	@10
			    location   	(-121, 644)
			    label      	(object SegLabel @12
				Parent_View 	@11
				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     	@10
			    supplier   	@8
			    line_style 	3
			    origin_attachment 	(343, 916)
			    terminal_attachment 	(666, 916)
			    label      	(object SegLabel @13
				Parent_View 	@11
				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 @14
				Parent_View 	@11
				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" @15
			    Parent_View 	@10
			    location   	(-121, 644)
			    label      	(object SegLabel @16
				Parent_View 	@15
				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     	@10
			    supplier   	@4
			    vertices   	(list Points
				(343, 916)
				(257, 916)
				(257, 679))
			    line_style 	3
			    origin_attachment 	(343, 916)
			    terminal_attachment 	(257, 679)
			    label      	(object SegLabel @17
				Parent_View 	@15
				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" @18
		    location   	(886, 1270)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D9B8011F"
		    roleview_list 	(list RoleViews
			(object RoleView "eBinding" @19
			    Parent_View 	@18
			    location   	(38, 422)
			    label      	(object SegLabel @20
				Parent_View 	@19
				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     	@18
			    supplier   	@6
			    line_style 	3
			    origin_attachment 	(886, 1270)
			    terminal_attachment 	(1235, 1270)
			    label      	(object SegLabel @21
				Parent_View 	@19
				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" @22
			    Parent_View 	@18
			    location   	(38, 422)
			    label      	(object SegLabel @23
				Parent_View 	@22
				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     	@18
			    supplier   	@8
			    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" @24
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 240)
		    label      	(object ItemLabel
			Parent_View 	@24
			location   	(73, 114)
			fill_color 	13434879
			nlines     	1
			max_width  	462
			justify    	0
			label      	"IBinding")
		    stereotype 	(object ItemLabel
			Parent_View 	@24
			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" @25
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(976, 352)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(780, 130)
			fill_color 	13434879
			nlines     	1
			max_width  	392
			justify    	0
			label      	"IBindingOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@25
			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" @26
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 1360)
		    label      	(object ItemLabel
			Parent_View 	@26
			location   	(62, 1334)
			fill_color 	16777215
			nlines     	1
			max_width  	260
			justify    	0
			label      	"IBindingInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@26
			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" @27
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1664)
		    label      	(object ItemLabel
			Parent_View 	@27
			location   	(61, 1638)
			fill_color 	16777215
			nlines     	1
			max_width  	294
			justify    	0
			label      	"IBindingOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@27
			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" @28
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1984)
		    label      	(object ItemLabel
			Parent_View 	@28
			location   	(72, 1958)
			fill_color 	13434879
			nlines     	1
			max_width  	272
			justify    	0
			label      	"IBindingFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@28
			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" @29
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 624)
		    label      	(object ItemLabel
			Parent_View 	@29
			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" @30
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 1360)
		    label      	(object ItemLabel
			Parent_View 	@30
			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" @31
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 1664)
		    label      	(object ItemLabel
			Parent_View 	@31
			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" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 688)
		    label      	(object ItemLabel
			Parent_View 	@32
			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 "" @33
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8595410129"
		    client     	@32
		    supplier   	@24
		    line_style 	3
		    origin_attachment 	(279, 527)
		    terminal_attachment 	(279, 428))
		(object AssociationViewNew "$UNNAMED$3" @34
		    location   	(1039, 742)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D352010F"
		    roleview_list 	(list RoleViews
			(object RoleView "ePortType" @35
			    Parent_View 	@34
			    location   	(575, 598)
			    label      	(object SegLabel @36
				Parent_View 	@35
				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     	@34
			    supplier   	@29
			    line_style 	3
			    origin_attachment 	(1039, 742)
			    terminal_attachment 	(1559, 742)
			    label      	(object SegLabel @37
				Parent_View 	@35
				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" @38
			    Parent_View 	@34
			    location   	(575, 598)
			    label      	(object SegLabel @39
				Parent_View 	@38
				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     	@34
			    supplier   	@32
			    line_style 	3
			    origin_attachment 	(1039, 742)
			    terminal_attachment 	(520, 742))))
		(object ClassView "Class" "Logical View::wsdl::Operation" @40
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 1024)
		    label      	(object ItemLabel
			Parent_View 	@40
			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" @41
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 1408)
		    label      	(object ItemLabel
			Parent_View 	@41
			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" @42
		    location   	(1264, 1359)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AD2400BD"
		    roleview_list 	(list RoleViews
			(object RoleView "eInput" @43
			    Parent_View 	@42
			    location   	(96, 287)
			    label      	(object SegLabel @44
				Parent_View 	@43
				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     	@42
			    supplier   	@30
			    line_style 	3
			    origin_attachment 	(1264, 1359)
			    terminal_attachment 	(1747, 1359)
			    label      	(object SegLabel @45
				Parent_View 	@43
				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" @46
			    Parent_View 	@42
			    location   	(96, 287)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD250084"
			    client     	@42
			    supplier   	@41
			    line_style 	3
			    origin_attachment 	(1264, 1359)
			    terminal_attachment 	(781, 1359))))
		(object ClassView "Class" "Logical View::wsdl::BindingOutput" @47
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(960, 1664)
		    label      	(object ItemLabel
			Parent_View 	@47
			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" @48
		    location   	(1432, 1654)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AD7900F2"
		    roleview_list 	(list RoleViews
			(object RoleView "eOutput" @49
			    Parent_View 	@48
			    location   	(-120, 374)
			    label      	(object SegLabel @50
				Parent_View 	@49
				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     	@48
			    supplier   	@31
			    line_style 	3
			    origin_attachment 	(1432, 1654)
			    terminal_attachment 	(1747, 1654)
			    label      	(object SegLabel @51
				Parent_View 	@49
				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" @52
			    Parent_View 	@48
			    location   	(-120, 374)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD7A014E"
			    client     	@48
			    supplier   	@47
			    line_style 	3
			    origin_attachment 	(1432, 1654)
			    terminal_attachment 	(1117, 1654))))
		(object ClassView "Class" "Logical View::wsdl::BindingOperation" @53
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(992, 1008)
		    label      	(object ItemLabel
			Parent_View 	@53
			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 "" @54
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84ADE401DC"
		    client     	@53
		    supplier   	@25
		    line_style 	3
		    origin_attachment 	(966, 919)
		    terminal_attachment 	(966, 636))
		(object AssociationViewNew "$UNNAMED$5" @55
		    location   	(457, 1022)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D3E10179"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$6" @56
			    Parent_View 	@55
			    location   	(-1319, 494)
			    label      	(object SegLabel @57
				Parent_View 	@56
				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     	@55
			    supplier   	@32
			    vertices   	(list Points
				(457, 1022)
				(276, 1022)
				(276, 849))
			    line_style 	3
			    origin_attachment 	(457, 1022)
			    terminal_attachment 	(276, 849)
			    label      	(object SegLabel @58
				Parent_View 	@56
				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" @59
			    Parent_View 	@55
			    location   	(-1319, 494)
			    label      	(object SegLabel @60
				Parent_View 	@59
				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     	@55
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(457, 1022)
			    terminal_attachment 	(810, 1022)
			    label      	(object SegLabel @61
				Parent_View 	@59
				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 @62
				Parent_View 	@59
				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" @63
		    location   	(1418, 1040)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D425038A"
		    roleview_list 	(list RoleViews
			(object RoleView "eOperation" @64
			    Parent_View 	@63
			    location   	(-358, 464)
			    label      	(object SegLabel @65
				Parent_View 	@64
				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     	@63
			    supplier   	@40
			    line_style 	3
			    origin_attachment 	(1418, 1040)
			    terminal_attachment 	(1663, 1040)
			    label      	(object SegLabel @66
				Parent_View 	@64
				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" @67
			    Parent_View 	@63
			    location   	(-358, 464)
			    label      	(object SegLabel @68
				Parent_View 	@67
				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     	@63
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1418, 1040)
			    terminal_attachment 	(1174, 1040))))
		(object AssociationViewNew "$UNNAMED$23" @69
		    location   	(787, 1190)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2E6401F5"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingInput" @70
			    Parent_View 	@69
			    location   	(-381, 454)
			    label      	(object SegLabel @71
				Parent_View 	@70
				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     	@69
			    supplier   	@41
			    vertices   	(list Points
				(787, 1190)
				(636, 1190)
				(636, 1271))
			    line_style 	3
			    origin_attachment 	(787, 1190)
			    terminal_attachment 	(636, 1271)
			    label      	(object SegLabel @72
				Parent_View 	@70
				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" @73
			    Parent_View 	@69
			    location   	(-381, 454)
			    label      	(object SegLabel @74
				Parent_View 	@73
				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     	@69
			    supplier   	@53
			    vertices   	(list Points
				(787, 1190)
				(926, 1190)
				(926, 1097))
			    line_style 	3
			    origin_attachment 	(787, 1190)
			    terminal_attachment 	(926, 1097)
			    label      	(object SegLabel @75
				Parent_View 	@73
				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" @76
		    location   	(1024, 1312)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2EB30163"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingOutput" @77
			    Parent_View 	@76
			    location   	(-150, 578)
			    label      	(object SegLabel @78
				Parent_View 	@77
				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     	@76
			    supplier   	@47
			    line_style 	3
			    origin_attachment 	(1024, 1312)
			    terminal_attachment 	(1024, 1527)
			    label      	(object SegLabel @79
				Parent_View 	@77
				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" @80
			    Parent_View 	@76
			    location   	(-150, 578)
			    label      	(object SegLabel @81
				Parent_View 	@80
				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     	@76
			    supplier   	@53
			    line_style 	3
			    origin_attachment 	(1024, 1312)
			    terminal_attachment 	(1024, 1097)
			    label      	(object SegLabel @82
				Parent_View 	@80
				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" @83
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1920, 1984)
		    label      	(object ItemLabel
			Parent_View 	@83
			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" @84
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 1984)
		    label      	(object ItemLabel
			Parent_View 	@84
			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 "" @85
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE710333"
		    client     	@84
		    supplier   	@28
		    line_style 	3
		    origin_attachment 	(1203, 2007)
		    terminal_attachment 	(353, 2007))
		(object AssociationViewNew "$UNNAMED$33" @86
		    location   	(1356, 1352)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF340003E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingFaults" @87
			    Parent_View 	@86
			    location   	(188, 616)
			    label      	(object SegLabel @88
				Parent_View 	@87
				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     	@86
			    supplier   	@84
			    line_style 	3
			    origin_attachment 	(1356, 1352)
			    terminal_attachment 	(1356, 1847)
			    label      	(object SegLabel @89
				Parent_View 	@87
				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 @90
				Parent_View 	@87
				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" @91
			    Parent_View 	@86
			    location   	(188, 616)
			    label      	(object SegLabel @92
				Parent_View 	@91
				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     	@86
			    supplier   	@53
			    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 @93
				Parent_View 	@91
				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" @94
		    location   	(1640, 1970)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE091F402F3"
		    roleview_list 	(list RoleViews
			(object RoleView "eFault" @95
			    Parent_View 	@94
			    location   	(-344, 818)
			    label      	(object SegLabel @96
				Parent_View 	@95
				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     	@94
			    supplier   	@83
			    line_style 	3
			    origin_attachment 	(1640, 1970)
			    terminal_attachment 	(1763, 1970)
			    label      	(object SegLabel @97
				Parent_View 	@95
				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" @98
			    Parent_View 	@94
			    location   	(-344, 818)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AE091F801FF"
			    client     	@94
			    supplier   	@84
			    line_style 	3
			    origin_attachment 	(1640, 1970)
			    terminal_attachment 	(1517, 1970))))
		(object InheritView "" @99
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE4302AB"
		    client     	@47
		    supplier   	@27
		    line_style 	3
		    origin_attachment 	(803, 1656)
		    terminal_attachment 	(364, 1656))
		(object InheritView "" @100
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE1B0113"
		    client     	@41
		    supplier   	@26
		    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" @101
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 208)
		    label      	(object ItemLabel
			Parent_View 	@101
			location   	(146, 172)
			fill_color 	13434879
			nlines     	1
			max_width  	700
			justify    	0
			label      	"IPortType")
		    stereotype 	(object ItemLabel
			Parent_View 	@101
			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" @102
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 208)
		    label      	(object ItemLabel
			Parent_View 	@102
			location   	(1116, 176)
			fill_color 	13434879
			nlines     	1
			max_width  	873
			justify    	0
			label      	"IOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@102
			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" @103
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 1472)
		    label      	(object ItemLabel
			Parent_View 	@103
			location   	(55, 1437)
			fill_color 	16777215
			nlines     	1
			max_width  	626
			justify    	0
			label      	"IInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@103
			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" @104
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 1792)
		    label      	(object ItemLabel
			Parent_View 	@104
			location   	(56, 1757)
			fill_color 	16777215
			nlines     	1
			max_width  	656
			justify    	0
			label      	"IOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@104
			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" @105
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 2112)
		    label      	(object ItemLabel
			Parent_View 	@105
			location   	(55, 2076)
			fill_color 	13434879
			nlines     	1
			max_width  	626
			justify    	0
			label      	"IFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@105
			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" @106
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 800)
		    label      	(object ItemLabel
			Parent_View 	@106
			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" @107
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2576, 800)
		    label      	(object ItemLabel
			Parent_View 	@107
			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" @108
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1728, 2112)
		    label      	(object ItemLabel
			Parent_View 	@108
			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" @109
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 1472)
		    label      	(object ItemLabel
			Parent_View 	@109
			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" @110
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 1792)
		    label      	(object ItemLabel
			Parent_View 	@110
			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" @111
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 784)
		    label      	(object ItemLabel
			Parent_View 	@111
			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" @112
		    location   	(1024, 797)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5C824018C"
		    roleview_list 	(list RoleViews
			(object RoleView "eOperations" @113
			    Parent_View 	@112
			    location   	(592, 269)
			    label      	(object SegLabel @114
				Parent_View 	@113
				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     	@112
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(1024, 797)
			    terminal_attachment 	(1205, 797)
			    label      	(object SegLabel @115
				Parent_View 	@113
				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 @116
				Parent_View 	@113
				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" @117
			    Parent_View 	@112
			    location   	(592, 269)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5C82701C3"
			    client     	@112
			    supplier   	@106
			    line_style 	3
			    origin_attachment 	(1024, 797)
			    terminal_attachment 	(843, 797)
			    label      	(object SegLabel @118
				Parent_View 	@117
				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" @119
		    location   	(2107, 773)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA412F0035"
		    roleview_list 	(list RoleViews
			(object RoleView "eParameterOrdering" @120
			    Parent_View 	@119
			    location   	(1819, 101)
			    label      	(object SegLabel @121
				Parent_View 	@120
				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     	@119
			    supplier   	@107
			    line_style 	3
			    origin_attachment 	(2107, 773)
			    terminal_attachment 	(2316, 773)
			    label      	(object SegLabel @122
				Parent_View 	@120
				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 @123
				Parent_View 	@120
				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" @124
			    Parent_View 	@119
			    location   	(1819, 101)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA4131025F"
			    client     	@119
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(2107, 773)
			    terminal_attachment 	(1899, 773))))
		(object AssociationViewNew "$UNNAMED$31" @125
		    location   	(1702, 1504)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF331601A4"
		    roleview_list 	(list RoleViews
			(object RoleView "eFaults" @126
			    Parent_View 	@125
			    location   	(1414, 832)
			    label      	(object SegLabel @127
				Parent_View 	@126
				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     	@125
			    supplier   	@108
			    line_style 	3
			    origin_attachment 	(1702, 1504)
			    terminal_attachment 	(1702, 2048)
			    label      	(object SegLabel @128
				Parent_View 	@126
				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 @129
				Parent_View 	@126
				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" @130
			    Parent_View 	@125
			    location   	(1414, 832)
			    label      	(object SegLabel @131
				Parent_View 	@130
				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     	@125
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(1702, 1504)
			    terminal_attachment 	(1702, 960)
			    label      	(object SegLabel @132
				Parent_View 	@130
				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" @133
		    location   	(1178, 1234)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2F94024D"
		    roleview_list 	(list RoleViews
			(object RoleView "eInput" @134
			    Parent_View 	@133
			    location   	(890, 562)
			    label      	(object SegLabel @135
				Parent_View 	@134
				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     	@133
			    supplier   	@109
			    vertices   	(list Points
				(1178, 1234)
				(980, 1234)
				(980, 1410))
			    line_style 	3
			    origin_attachment 	(1178, 1234)
			    terminal_attachment 	(980, 1410)
			    label      	(object SegLabel @136
				Parent_View 	@134
				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" @137
			    Parent_View 	@133
			    location   	(890, 562)
			    label      	(object SegLabel @138
				Parent_View 	@137
				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     	@133
			    supplier   	@111
			    vertices   	(list Points
				(1178, 1234)
				(1277, 1234)
				(1277, 960))
			    line_style 	3
			    origin_attachment 	(1178, 1234)
			    terminal_attachment 	(1277, 960)
			    label      	(object SegLabel @139
				Parent_View 	@137
				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" @140
		    location   	(1468, 1345)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2FB802F9"
		    roleview_list 	(list RoleViews
			(object RoleView "eOutput" @141
			    Parent_View 	@140
			    location   	(1180, 673)
			    label      	(object SegLabel @142
				Parent_View 	@141
				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     	@140
			    supplier   	@110
			    line_style 	3
			    origin_attachment 	(1468, 1345)
			    terminal_attachment 	(1468, 1730)
			    label      	(object SegLabel @143
				Parent_View 	@141
				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" @144
			    Parent_View 	@140
			    location   	(1180, 673)
			    label      	(object SegLabel @145
				Parent_View 	@144
				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     	@140
			    supplier   	@111
			    line_style 	3
			    origin_attachment 	(1468, 1345)
			    terminal_attachment 	(1468, 960)
			    label      	(object SegLabel @146
				Parent_View 	@144
				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 "" @147
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FD8019F"
		    client     	@106
		    supplier   	@101
		    line_style 	0)
		(object InheritView "" @148
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FE20171"
		    client     	@111
		    supplier   	@102
		    line_style 	0)
		(object InheritView "" @149
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FEE031D"
		    client     	@109
		    supplier   	@103
		    line_style 	0)
		(object InheritView "" @150
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FF801CD"
		    client     	@110
		    supplier   	@104
		    line_style 	0)
		(object InheritView "" @151
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F2002002D"
		    client     	@108
		    supplier   	@105
		    line_style 	0)
		(object ClassView "Class" "Logical View::wsdl::Message" @152
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2224, 1456)
		    label      	(object ItemLabel
			Parent_View 	@152
			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" @153
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1520, 2544)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@153
			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 "" @154
		    location   	(1524, 2275)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@153
		    vertices   	(list Points
			(1524, 2275)
			(1524, 2454)))
		(object InheritView "" @155
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723D0319"
		    client     	@108
		    supplier   	@153
		    line_style 	3
		    origin_attachment 	(1776, 2176)
		    terminal_attachment 	(1776, 2275)
		    drawSupplier 	@154)
		(object InheritView "" @156
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723500DD"
		    client     	@110
		    supplier   	@153
		    line_style 	3
		    origin_attachment 	(1371, 1854)
		    terminal_attachment 	(1371, 2275)
		    drawSupplier 	@154)
		(object InheritView "" @157
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67722802E7"
		    client     	@109
		    supplier   	@153
		    line_style 	3
		    origin_attachment 	(980, 1534)
		    terminal_attachment 	(980, 2275)
		    drawSupplier 	@154)
		(object AssociationViewNew "$UNNAMED$61" @158
		    location   	(2206, 2259)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F74E78401B1"
		    roleview_list 	(list RoleViews
			(object RoleView "eMessage" @159
			    Parent_View 	@158
			    location   	(734, -285)
			    label      	(object SegLabel @160
				Parent_View 	@159
				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     	@158
			    supplier   	@152
			    line_style 	3
			    origin_attachment 	(2206, 2259)
			    terminal_attachment 	(2206, 1612)
			    label      	(object SegLabel @161
				Parent_View 	@159
				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" @162
			    Parent_View 	@158
			    location   	(734, -285)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F74E7860023"
			    client     	@158
			    supplier   	@153
			    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" @163
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 192)
		    label      	(object ItemLabel
			Parent_View 	@163
			location   	(88, 161)
			fill_color 	13434879
			nlines     	1
			max_width  	688
			justify    	0
			label      	"IDefinition")
		    stereotype 	(object ItemLabel
			Parent_View 	@163
			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" @164
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1824, 944)
		    label      	(object ItemLabel
			Parent_View 	@164
			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" @165
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2144, 624)
		    label      	(object ItemLabel
			Parent_View 	@165
			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" @166
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2112, 1184)
		    label      	(object ItemLabel
			Parent_View 	@166
			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" @167
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1808, 1488)
		    label      	(object ItemLabel
			Parent_View 	@167
			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" @168
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2336, 1728)
		    label      	(object ItemLabel
			Parent_View 	@168
			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" @169
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 240)
		    label      	(object ItemLabel
			Parent_View 	@169
			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" @170
		    location   	(1358, 860)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$54" @171
			    Parent_View 	@170
			    location   	(62, -36)
			    label      	(object SegLabel @172
				Parent_View 	@171
				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     	@170
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1358, 860)
			    terminal_attachment 	(1358, 453)
			    label      	(object SegLabel @173
				Parent_View 	@171
				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" @174
			    Parent_View 	@170
			    location   	(62, -36)
			    label      	(object SegLabel @175
				Parent_View 	@174
				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     	@170
			    supplier   	@164
			    vertices   	(list Points
				(1358, 860)
				(1358, 948)
				(1677, 948))
			    line_style 	3
			    origin_attachment 	(1358, 860)
			    terminal_attachment 	(1677, 948)
			    label      	(object SegLabel @176
				Parent_View 	@174
				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" @177
		    location   	(1612, 595)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$58" @178
			    Parent_View 	@177
			    location   	(12, 227)
			    label      	(object SegLabel @179
				Parent_View 	@178
				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     	@177
			    supplier   	@169
			    vertices   	(list Points
				(1612, 595)
				(1464, 595)
				(1464, 453))
			    line_style 	3
			    origin_attachment 	(1612, 595)
			    terminal_attachment 	(1464, 453)
			    label      	(object SegLabel @180
				Parent_View 	@178
				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" @181
			    Parent_View 	@177
			    location   	(12, 227)
			    label      	(object SegLabel @182
				Parent_View 	@181
				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     	@177
			    supplier   	@165
			    line_style 	3
			    origin_attachment 	(1612, 595)
			    terminal_attachment 	(1901, 595)
			    label      	(object SegLabel @183
				Parent_View 	@181
				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 @184
				Parent_View 	@181
				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" @185
		    location   	(1279, 1137)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E60301E2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$14" @186
			    Parent_View 	@185
			    location   	(271, 273)
			    label      	(object SegLabel @187
				Parent_View 	@186
				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     	@185
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1279, 1137)
			    terminal_attachment 	(1279, 453)
			    label      	(object SegLabel @188
				Parent_View 	@186
				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" @189
			    Parent_View 	@185
			    location   	(271, 273)
			    label      	(object SegLabel @190
				Parent_View 	@189
				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     	@185
			    supplier   	@166
			    vertices   	(list Points
				(1279, 1137)
				(1279, 1208)
				(1891, 1208))
			    line_style 	3
			    origin_attachment 	(1279, 1137)
			    terminal_attachment 	(1891, 1208)
			    label      	(object SegLabel @191
				Parent_View 	@189
				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 @192
				Parent_View 	@189
				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" @193
		    location   	(1212, 1159)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6710104"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$16" @194
			    Parent_View 	@193
			    location   	(-324, 215)
			    label      	(object SegLabel @195
				Parent_View 	@194
				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     	@193
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1212, 1159)
			    terminal_attachment 	(1212, 453)
			    label      	(object SegLabel @196
				Parent_View 	@194
				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" @197
			    Parent_View 	@193
			    location   	(-324, 215)
			    label      	(object SegLabel @198
				Parent_View 	@197
				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     	@193
			    supplier   	@167
			    vertices   	(list Points
				(1212, 1159)
				(1212, 1490)
				(1587, 1490))
			    line_style 	3
			    origin_attachment 	(1212, 1159)
			    terminal_attachment 	(1587, 1490)
			    label      	(object SegLabel @199
				Parent_View 	@197
				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 @200
				Parent_View 	@197
				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" @201
		    location   	(1114, 1585)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6770095"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$18" @202
			    Parent_View 	@201
			    location   	(-406, 241)
			    label      	(object SegLabel @203
				Parent_View 	@202
				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     	@201
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1114, 1585)
			    terminal_attachment 	(1114, 453)
			    label      	(object SegLabel @204
				Parent_View 	@202
				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" @205
			    Parent_View 	@201
			    location   	(-406, 241)
			    label      	(object SegLabel @206
				Parent_View 	@205
				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     	@201
			    supplier   	@168
			    vertices   	(list Points
				(1114, 1585)
				(1114, 1716)
				(2115, 1716))
			    line_style 	3
			    origin_attachment 	(1114, 1585)
			    terminal_attachment 	(2115, 1716)
			    label      	(object SegLabel @207
				Parent_View 	@205
				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 @208
				Parent_View 	@205
				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" @209
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1840, 2048)
		    label      	(object ItemLabel
			Parent_View 	@209
			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" @210
		    location   	(1066, 1533)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E67B0311"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$20" @211
			    Parent_View 	@210
			    location   	(-521, -111)
			    label      	(object SegLabel @212
				Parent_View 	@211
				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     	@210
			    supplier   	@169
			    line_style 	3
			    origin_attachment 	(1066, 1533)
			    terminal_attachment 	(1066, 453)
			    label      	(object SegLabel @213
				Parent_View 	@211
				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" @214
			    Parent_View 	@210
			    location   	(-521, -111)
			    label      	(object SegLabel @215
				Parent_View 	@214
				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     	@210
			    supplier   	@209
			    vertices   	(list Points
				(1066, 1533)
				(1066, 2059)
				(1619, 2059))
			    line_style 	3
			    origin_attachment 	(1066, 1533)
			    terminal_attachment 	(1619, 2059)
			    label      	(object SegLabel @216
				Parent_View 	@214
				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 @217
				Parent_View 	@214
				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 "" @218
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84B1F80382"
		    client     	@169
		    supplier   	@163
		    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" @219
		    ShowCompartmentStereotypes 	TRUE
		    location   	(576, 1584)
		    label      	(object ItemLabel
			Parent_View 	@219
			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" @220
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1568, 1888)
		    label      	(object ItemLabel
			Parent_View 	@220
			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" @221
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1424, 1728)
		    label      	(object ItemLabel
			Parent_View 	@221
			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" @222
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1216, 2336)
		    label      	(object ItemLabel
			Parent_View 	@222
			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" @223
		    ShowCompartmentStereotypes 	TRUE
		    location   	(736, 1760)
		    label      	(object ItemLabel
			Parent_View 	@223
			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" @224
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 160)
		    label      	(object ItemLabel
			Parent_View 	@224
			location   	(1495, 136)
			fill_color 	13434879
			nlines     	1
			max_width  	786
			justify    	0
			label      	"IExtensibilityElement")
		    stereotype 	(object ItemLabel
			Parent_View 	@224
			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" @225
		    ShowCompartmentStereotypes 	TRUE
		    location   	(928, 1952)
		    label      	(object ItemLabel
			Parent_View 	@225
			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" @226
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1008, 2144)
		    label      	(object ItemLabel
			Parent_View 	@226
			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" @227
		    ShowCompartmentStereotypes 	TRUE
		    location   	(176, 1296)
		    label      	(object ItemLabel
			Parent_View 	@227
			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" @228
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(416, 1408)
		    label      	(object ItemLabel
			Parent_View 	@228
			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" @229
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(480, 688)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@229
			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 "" @230
		    location   	(480, 1039)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@229
		    vertices   	(list Points
			(480, 1039)
			(480, 808)))
		(object InheritView "" @231
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD600CB00AA"
		    client     	@220
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1566, 1824)
		    terminal_attachment 	(1566, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @232
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B5A4027E"
		    client     	@226
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1097, 2079)
		    terminal_attachment 	(1097, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @233
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE0938602C9"
		    client     	@222
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1219, 2271)
		    terminal_attachment 	(1219, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @234
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B59B0072"
		    client     	@225
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(988, 1887)
		    terminal_attachment 	(988, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @235
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD6009202F7"
		    client     	@223
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(797, 1695)
		    terminal_attachment 	(797, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @236
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA0F02F0"
		    client     	@219
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(601, 1519)
		    terminal_attachment 	(601, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @237
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FDB803D4"
		    client     	@227
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(211, 1223)
		    terminal_attachment 	(211, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @238
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@228
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(414, 1344)
		    terminal_attachment 	(414, 1039)
		    drawSupplier 	@230)
		(object InheritView "" @239
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA20025E"
		    client     	@221
		    supplier   	@229
		    line_style 	3
		    origin_attachment 	(1429, 1663)
		    terminal_attachment 	(1429, 1039)
		    drawSupplier 	@230)
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @240
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 688)
		    label      	(object ItemLabel
			Parent_View 	@240
			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" @241
		    location   	(1191, 672)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$22" @242
			    Parent_View 	@241
			    location   	(23, 560)
			    label      	(object SegLabel @243
				Parent_View 	@242
				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     	@241
			    supplier   	@229
			    line_style 	3
			    origin_attachment 	(1191, 672)
			    terminal_attachment 	(760, 672)
			    label      	(object SegLabel @244
				Parent_View 	@242
				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" @245
			    Parent_View 	@241
			    location   	(23, 560)
			    label      	(object SegLabel @246
				Parent_View 	@245
				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     	@241
			    supplier   	@240
			    line_style 	3
			    origin_attachment 	(1191, 672)
			    terminal_attachment 	(1623, 672)
			    label      	(object SegLabel @247
				Parent_View 	@245
				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 @248
				Parent_View 	@245
				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" @249
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1008, 192)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@249
			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 "" @250
		    location   	(1008, 402)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@249
		    vertices   	(list Points
			(1008, 402)
			(1008, 312)))
		(object InheritView "" @251
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FE3C03D4"
		    client     	@229
		    supplier   	@249
		    line_style 	3
		    origin_attachment 	(492, 568)
		    terminal_attachment 	(492, 402)
		    drawSupplier 	@250)
		(object InheritView "" @252
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84B14903D0"
		    client     	@240
		    supplier   	@224
		    line_style 	3
		    origin_attachment 	(2015, 571)
		    terminal_attachment 	(2015, 246))
		(object InheritView "" @253
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BDDF53502C3"
		    client     	@240
		    supplier   	@249
		    line_style 	3
		    origin_attachment 	(1762, 571)
		    terminal_attachment 	(1762, 402)
		    drawSupplier 	@250)
		(object ClassView "Class" "Logical View::wsdl::UnknownExtensibilityElement" @254
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2016, 1360)
		    label      	(object ItemLabel
			Parent_View 	@254
			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 "" @255
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CB24AEC01CB"
		    client     	@254
		    supplier   	@240
		    line_style 	3
		    origin_attachment 	(1796, 1295)
		    terminal_attachment 	(1796, 805))
		(object AssociationViewNew "$UNNAMED$63" @256
		    location   	(2311, 1686)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F7896A2026E"
		    roleview_list 	(list RoleViews
			(object RoleView "parent" @257
			    Parent_View 	@256
			    location   	(279, 294)
			    label      	(object SegLabel @258
				Parent_View 	@257
				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     	@256
			    supplier   	@254
			    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 @259
				Parent_View 	@257
				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" @260
			    Parent_View 	@256
			    location   	(279, 294)
			    label      	(object SegLabel @261
				Parent_View 	@260
				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     	@256
			    supplier   	@254
			    vertices   	(list Points
				(2311, 1686)
				(2016, 1686)
				(2016, 1425))
			    line_style 	3
			    origin_attachment 	(2311, 1686)
			    terminal_attachment 	(2016, 1425)
			    label      	(object SegLabel @262
				Parent_View 	@260
				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" @263
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1712, 224)
		    label      	(object ItemLabel
			Parent_View 	@263
			location   	(1422, 177)
			fill_color 	13434879
			nlines     	1
			max_width  	580
			justify    	0
			label      	"IImport")
		    stereotype 	(object ItemLabel
			Parent_View 	@263
			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" @264
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 1136)
		    label      	(object ItemLabel
			Parent_View 	@264
			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" @265
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1632, 1216)
		    label      	(object ItemLabel
			Parent_View 	@265
			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" @266
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(400, 384)
		    label      	(object ItemLabel
			Parent_View 	@266
			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" @267
		    location   	(309, 786)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3D55002D"
		    roleview_list 	(list RoleViews
			(object RoleView "eNamespaces" @268
			    Parent_View 	@267
			    location   	(-91, 258)
			    label      	(object SegLabel @269
				Parent_View 	@268
				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     	@267
			    supplier   	@264
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 1029)
			    label      	(object SegLabel @270
				Parent_View 	@268
				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 @271
				Parent_View 	@268
				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" @272
			    Parent_View 	@267
			    location   	(-91, 258)
			    label      	(object SegLabel @273
				Parent_View 	@272
				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     	@267
			    supplier   	@266
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 544)
			    label      	(object SegLabel @274
				Parent_View 	@272
				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" @275
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1472, 720)
		    label      	(object ItemLabel
			Parent_View 	@275
			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" @276
		    location   	(1486, 1001)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1DCC02E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eSchema" @277
			    Parent_View 	@276
			    location   	(510, -103)
			    label      	(object SegLabel @278
				Parent_View 	@277
				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     	@276
			    supplier   	@265
			    vertices   	(list Points
				(1486, 1001)
				(1632, 1001)
				(1632, 1130))
			    line_style 	3
			    origin_attachment 	(1486, 1001)
			    terminal_attachment 	(1632, 1130)
			    label      	(object SegLabel @279
				Parent_View 	@277
				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" @280
			    Parent_View 	@276
			    location   	(510, -103)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1DCE027A"
			    client     	@276
			    supplier   	@275
			    line_style 	3
			    origin_attachment 	(1486, 872)
			    terminal_attachment 	(1486, 872))))
		(object AssociationViewNew "$UNNAMED$39" @281
		    location   	(1087, 403)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3E3A002D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$40" @282
			    Parent_View 	@281
			    location   	(687, -125)
			    label      	(object SegLabel @283
				Parent_View 	@282
				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     	@281
			    supplier   	@275
			    vertices   	(list Points
				(1087, 403)
				(1364, 403)
				(1364, 568))
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(1364, 568))
			(object RoleView "eDefinition" @284
			    Parent_View 	@281
			    location   	(687, -125)
			    label      	(object SegLabel @285
				Parent_View 	@284
				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     	@281
			    supplier   	@266
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(645, 403)
			    label      	(object SegLabel @286
				Parent_View 	@284
				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" @287
		    location   	(737, 826)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$58" @288
			    Parent_View 	@287
			    location   	(-671, 106)
			    label      	(object SegLabel @289
				Parent_View 	@288
				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     	@287
			    supplier   	@266
			    vertices   	(list Points
				(737, 826)
				(510, 826)
				(510, 544))
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(510, 544)
			    label      	(object SegLabel @290
				Parent_View 	@288
				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" @291
			    Parent_View 	@287
			    location   	(-671, 106)
			    label      	(object SegLabel @292
				Parent_View 	@291
				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     	@287
			    supplier   	@275
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(1246, 826)
			    label      	(object SegLabel @293
				Parent_View 	@291
				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 @294
				Parent_View 	@291
				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 "" @295
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F200D0340"
		    client     	@275
		    supplier   	@263
		    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" @296
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1232)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@296
			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" @297
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1600)
		    label      	(object ItemLabel
			Parent_View 	@297
			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" @298
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1280, 1968)
		    label      	(object ItemLabel
			Parent_View 	@298
			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" @299
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 1184)
		    label      	(object ItemLabel
			Parent_View 	@299
			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" @300
		    location   	(735, 1172)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1BE900C4"
		    roleview_list 	(list RoleViews
			(object RoleView "typeDefinition" @301
			    Parent_View 	@300
			    location   	(143, 676)
			    label      	(object SegLabel @302
				Parent_View 	@301
				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     	@300
			    supplier   	@296
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(886, 1172)
			    label      	(object SegLabel @303
				Parent_View 	@301
				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" @304
			    Parent_View 	@300
			    location   	(143, 676)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1BE90331"
			    client     	@300
			    supplier   	@299
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(585, 1172))))
		(object AssociationViewNew "$UNNAMED$49" @305
		    location   	(527, 1592)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1C1203B2"
		    roleview_list 	(list RoleViews
			(object RoleView "elementDeclaration" @306
			    Parent_View 	@305
			    location   	(-65, 1096)
			    label      	(object SegLabel @307
				Parent_View 	@306
				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     	@305
			    supplier   	@297
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(897, 1592)
			    label      	(object SegLabel @308
				Parent_View 	@306
				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" @309
			    Parent_View 	@305
			    location   	(-65, 1096)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1C140026"
			    client     	@305
			    supplier   	@299
			    vertices   	(list Points
				(527, 1592)
				(437, 1592)
				(437, 1313))
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(437, 1313))))
		(object AssociationViewNew "$UNNAMED$55" @310
		    location   	(322, 1911)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C46829303E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eMessage" @311
			    Parent_View 	@310
			    location   	(-14, 1191)
			    label      	(object SegLabel @312
				Parent_View 	@311
				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     	@310
			    supplier   	@298
			    line_style 	3
			    origin_attachment 	(322, 1911)
			    terminal_attachment 	(1013, 1911)
			    label      	(object SegLabel @313
				Parent_View 	@311
				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" @314
			    Parent_View 	@310
			    location   	(-14, 1191)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C4682960118"
			    client     	@310
			    supplier   	@299
			    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" @315
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 608)
		    label      	(object ItemLabel
			Parent_View 	@315
			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" @316
		    ShowCompartmentStereotypes 	TRUE
		    location   	(176, 160)
		    label      	(object ItemLabel
			Parent_View 	@316
			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" @317
		    location   	(234, 604)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "eTypes" @318
			    Parent_View 	@317
			    location   	(-150, 396)
			    label      	(object SegLabel @319
				Parent_View 	@318
				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     	@317
			    supplier   	@315
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(606, 604)
			    label      	(object SegLabel @320
				Parent_View 	@318
				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" @321
			    Parent_View 	@317
			    location   	(-150, 396)
			    label      	(object SegLabel @322
				Parent_View 	@321
				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     	@317
			    supplier   	@316
			    vertices   	(list Points
				(234, 604)
				(174, 604)
				(174, 225))
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(174, 225)
			    label      	(object SegLabel @323
				Parent_View 	@321
				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" @324
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(640, 224)
		    label      	(object ItemLabel
			Parent_View 	@324
			location   	(525, 203)
			fill_color 	13434879
			nlines     	1
			max_width  	230
			justify    	0
			label      	"ITypes")
		    stereotype 	(object ItemLabel
			Parent_View 	@324
			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" @325
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1728, 800)
		    label      	(object ItemLabel
			Parent_View 	@325
			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" @326
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1856, 1216)
		    label      	(object ItemLabel
			Parent_View 	@326
			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" @327
		    location   	(1826, 975)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3614500F2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$60" @328
			    Parent_View 	@327
			    location   	(306, 447)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3CC36146023D"
			    client     	@327
			    supplier   	@325
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 859)
			    label      	(object SegLabel @329
				Parent_View 	@328
				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" @330
			    Parent_View 	@327
			    location   	(306, 447)
			    label      	(object SegLabel @331
				Parent_View 	@330
				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     	@327
			    supplier   	@326
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 1091)
			    label      	(object SegLabel @332
				Parent_View 	@330
				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 "" @333
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CADCD3B0380"
		    client     	@315
		    supplier   	@324
		    line_style 	3
		    origin_attachment 	(705, 500)
		    terminal_attachment 	(705, 307))
		(object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @334
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 224)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@334
			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 "" @335
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@315
		    supplier   	@334
		    line_style 	3
		    origin_attachment 	(854, 500)
		    terminal_attachment 	(854, 330))
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @336
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1824, 464)
		    label      	(object ItemLabel
			Parent_View 	@336
			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" @337
		    location   	(1206, 493)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$22" @338
			    Parent_View 	@337
			    location   	(-586, 237)
			    label      	(object SegLabel @339
				Parent_View 	@338
				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     	@337
			    supplier   	@334
			    vertices   	(list Points
				(1206, 493)
				(1094, 493)
				(1094, 330))
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1094, 330)
			    label      	(object SegLabel @340
				Parent_View 	@338
				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" @341
			    Parent_View 	@337
			    location   	(-586, 237)
			    label      	(object SegLabel @342
				Parent_View 	@341
				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     	@337
			    supplier   	@336
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1481, 493)
			    label      	(object SegLabel @343
				Parent_View 	@341
				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 @344
				Parent_View 	@341
				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 "" @345
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3627F00B7"
		    client     	@325
		    supplier   	@336
		    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" @346
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 224)
		    label      	(object ItemLabel
			Parent_View 	@346
			location   	(267, 122)
			fill_color 	13434879
			nlines     	1
			max_width  	362
			justify    	0
			label      	"IMessage")
		    stereotype 	(object ItemLabel
			Parent_View 	@346
			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" @347
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 224)
		    label      	(object ItemLabel
			Parent_View 	@347
			location   	(1029, 124)
			fill_color 	13434879
			nlines     	1
			max_width  	599
			justify    	0
			label      	"IPart")
		    stereotype 	(object ItemLabel
			Parent_View 	@347
			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" @348
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 816)
		    label      	(object ItemLabel
			Parent_View 	@348
			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 "" @349
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A96D02F1"
		    client     	@348
		    supplier   	@347
		    line_style 	3
		    origin_attachment 	(1304, 678)
		    terminal_attachment 	(1304, 386))
		(object ClassView "Class" "Logical View::wsdl::Message" @350
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 656)
		    label      	(object ItemLabel
			Parent_View 	@350
			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 "" @351
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A8D102BA"
		    client     	@350
		    supplier   	@346
		    line_style 	3
		    origin_attachment 	(445, 495)
		    terminal_attachment 	(445, 388))
		(object AssociationViewNew "$UNNAMED$1" @352
		    location   	(688, 952)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5CEBE00E2"
		    roleview_list 	(list RoleViews
			(object RoleView "eParts" @353
			    Parent_View 	@352
			    location   	(176, 328)
			    label      	(object SegLabel @354
				Parent_View 	@353
				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     	@352
			    supplier   	@348
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(1066, 952)
			    label      	(object SegLabel @355
				Parent_View 	@353
				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 @356
				Parent_View 	@353
				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" @357
			    Parent_View 	@352
			    location   	(176, 328)
			    label      	(object SegLabel @358
				Parent_View 	@357
				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     	@352
			    supplier   	@350
			    vertices   	(list Points
				(688, 952)
				(445, 952)
				(445, 817))
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(445, 817)
			    label      	(object SegLabel @359
				Parent_View 	@357
				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))))))))
