
(object Petal
    version    	42
    _written   	"Rose 4.5.8163.3"
    charSet    	0)

(object Class_Category "wsdl"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsPrefix"
	    value      	"wsdl")
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	"http://www.eclipse.org/wsdl/2003/WSDL")
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	"org.eclipse.wst")
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	"WSDL"))
    quid       	"3ADFB8E5021E"
    documentation 	
|The WSDL model contains classes for the Web Services Description Language (WSDL).
|
|WSDL describes network services as sets of endpoints operating on messages. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.
|
|WSDL describes the formats of the messages exchanged by the services, and supports the XML Schemas specification as its canonical type system. This package uses an XML Schema Infoset model package (see the XSD package) to describe the abstract message formats.
|
|The model contains the following diagrams, named after the corresponding chapters in the WSDL 1.1 specification (http://www.w3.org/TR/2001/NOTE-wsdl-20010315)
|- 2.1 Definition, shows the WSDL definition element and the WSDL document structure
|- 2.1.1 Naming and Linking, shows the namespace and import mechanism
|- 2.1.3 Extensibility, shows the WSDL extensibility mechanism
|- 2.2 Types, shows the use of XML Schema types in WSDL
|- 2.3 Messages, 2.4 PortTypes, 2.5 Bindings and 2.7 Services, show the major WSDL elements and their relations.
|
|The WSDL classes extend the javax.wsdl interfaces defined by JSR 110. Classes with interface and datatype stereotypes are used to represent these non-MOF interfaces.
    
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "WSDLElement"
	    quid       	"3AD5C6A302DD"
	    documentation 	"This class represents a WSDL language element."
	    operations 	(list Operations
		(object Operation "getEnclosingDefinition"
		    quid       	"3CD1529600C8"
		    result     	"Definition"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setEnclosingDefinition"
		    quid       	"3CD152B80347"
		    parameters 	(list Parameters
			(object Parameter "definition"
			    type       	"Definition"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "documentationElement"
		    quid       	"3CCE443602A3"
		    type       	"DOMElement")
		(object ClassAttribute "element"
		    attributes 	(list Attribute_Set
			(object Attribute
			    tool       	"Ecore"
			    name       	"isTransient"
			    value      	TRUE))
		    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::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(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"))
	    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::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(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"))
	    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::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(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"))
	    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::ExtensibleElement"
		    quidu      	"3AD5FCFA033A"))
	    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"))
	    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"))
	    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::ExtensibleElement"
		    quidu      	"3AD5FCFA033A")
		(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       	"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       	"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       	"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::ExtensibleElement"
		    quidu      	"3AD5FCFA033A"))
	    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       	"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$14"
		    quid       	"3C864DFF02EE"
		    supplier   	"Logical View::wsdl::Definition"
		    quidu      	"3AD5E43F008E"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$15"
	    quid       	"3B8BEA27029F"
	    roles      	(list role_list
		(object Role "$UNNAMED$16"
		    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$17"
	    quid       	"3AD5E60301E2"
	    roles      	(list role_list
		(object Role "$UNNAMED$18"
		    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$19"
	    quid       	"3AD5E6710104"
	    roles      	(list role_list
		(object Role "$UNNAMED$20"
		    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$21"
	    quid       	"3AD5E6770095"
	    roles      	(list role_list
		(object Role "$UNNAMED$22"
		    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$23"
	    quid       	"3AD5E67B0311"
	    roles      	(list role_list
		(object Role "$UNNAMED$24"
		    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$25"
	    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$26"
		    quid       	"3AD5FD14019E"
		    supplier   	"Logical View::wsdl::ExtensibleElement"
		    quidu      	"3AD5FCFA033A"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$27"
	    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$28"
		    quid       	"3ADF2E650252"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$29"
	    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$30"
		    quid       	"3ADF2EB4013D"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$31"
	    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$32"
		    quid       	"3ADF2F95019A"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$33"
	    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$34"
		    quid       	"3ADF2FB9020B"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$35"
	    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$36"
		    quid       	"3ADF33180388"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$37"
	    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$38"
		    quid       	"3ADF340103AB"
		    supplier   	"Logical View::wsdl::BindingOperation"
		    quidu      	"3AD5D3CB0145"
		    client_cardinality 	(value cardinality "1..1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$39"
	    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$40"
		    quid       	"3AE091F801FF"
		    supplier   	"Logical View::wsdl::BindingFault"
		    quidu      	"3AE08A9E03A6")))
	(object Association "$UNNAMED$41"
	    quid       	"3AEA3D55002D"
	    roles      	(list role_list
		(object Role "$UNNAMED$42"
		    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$43"
	    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$44"
		    quid       	"3AEA3E3C01F2"
		    supplier   	"Logical View::wsdl::Import"
		    quidu      	"3AD5E4F903DE")))
	(object Association "$UNNAMED$45"
	    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$46"
		    quid       	"3AEA4131025F"
		    supplier   	"Logical View::wsdl::Operation"
		    quidu      	"3AD5C80D03CE")))
	(object Association "$UNNAMED$47"
	    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$48"
		    quid       	"3B84AD250084"
		    supplier   	"Logical View::wsdl::BindingInput"
		    quidu      	"3AE08A8202D4")))
	(object Association "$UNNAMED$49"
	    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$50"
		    quid       	"3B84AD7A014E"
		    supplier   	"Logical View::wsdl::BindingOutput"
		    quidu      	"3AE08A8F028C")))
	(object Association "$UNNAMED$51"
	    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$52"
		    quid       	"3B8B1BE90331"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E")))
	(object Association "$UNNAMED$53"
	    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$54"
		    quid       	"3B8B1C140026"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E")))
	(object Association "$UNNAMED$55"
	    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$56"
		    quid       	"3B8B1DCE027A"
		    supplier   	"Logical View::wsdl::Import"
		    quidu      	"3AD5E4F903DE")))
	(object Association "$UNNAMED$57"
	    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$58"
		    quid       	"3C4682960118"
		    supplier   	"Logical View::wsdl::Part"
		    quidu      	"3AD5CE1C032E")))
	(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 "$UNNAMED$64"
		    quid       	"3F7896A7012B"
		    supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
		    quidu      	"3CB24AC002AE"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)
		(object Role "children"
		    quid       	"3F7896A7012C"
		    label      	"children"
		    supplier   	"Logical View::wsdl::UnknownExtensibilityElement"
		    quidu      	"3CB24AC002AE"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    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, 433)
			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     	214
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @5
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85954E01B4"
		    client     	@4
		    supplier   	@3
		    line_style 	3
		    origin_attachment 	(240, 421)
		    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, 1169)
			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     	214
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @7
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8595410129"
		    client     	@6
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1430, 1157)
		    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   	(321, 916)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D9400393"
		    roleview_list 	(list RoleViews
			(object RoleView "ePorts" @11
			    Parent_View 	@10
			    location   	(-143, 644)
			    label      	(object SegLabel @12
				Parent_View 	@11
				location   	(397, 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 	(321, 916)
			    terminal_attachment 	(666, 916)
			    label      	(object SegLabel @13
				Parent_View 	@11
				location   	(530, 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   	(433, 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   	(-143, 644)
			    label      	(object SegLabel @16
				Parent_View 	@15
				location   	(216, 704)
				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
				(321, 916)
				(257, 916)
				(257, 635))
			    line_style 	3
			    origin_attachment 	(321, 916)
			    terminal_attachment 	(257, 635)
			    label      	(object SegLabel @17
				Parent_View 	@15
				location   	(301, 760)
				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   	(1697, 522)
			fill_color 	13434879
			nlines     	1
			max_width  	414
			justify    	0
			label      	"PortType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C7F001A5"
		    width      	432
		    height     	228
		    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, 586)
			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     	228
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @33
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8595410129"
		    client     	@32
		    supplier   	@24
		    line_style 	3
		    origin_attachment 	(279, 574)
		    terminal_attachment 	(279, 428))
		(object AssociationViewNew "$UNNAMED$3" @34
		    location   	(1104, 742)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D352010F"
		    roleview_list 	(list RoleViews
			(object RoleView "ePortType" @35
			    Parent_View 	@34
			    location   	(640, 598)
			    label      	(object SegLabel @36
				Parent_View 	@35
				location   	(1565, 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 	(1104, 742)
			    terminal_attachment 	(1688, 742)
			    label      	(object SegLabel @37
				Parent_View 	@35
				location   	(1613, 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   	(640, 598)
			    label      	(object SegLabel @39
				Parent_View 	@38
				location   	(806, 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 	(1104, 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, 898)
			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     	276
		    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$47" @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$48" @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$49" @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$50" @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   	(433, 1022)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D3E10179"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$6" @56
			    Parent_View 	@55
			    location   	(-1343, 494)
			    label      	(object SegLabel @57
				Parent_View 	@56
				location   	(235, 877)
				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
				(433, 1022)
				(276, 1022)
				(276, 802))
			    line_style 	3
			    origin_attachment 	(433, 1022)
			    terminal_attachment 	(276, 802)
			    label      	(object SegLabel @58
				Parent_View 	@56
				location   	(330, 841)
				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   	(-1343, 494)
			    label      	(object SegLabel @60
				Parent_View 	@59
				location   	(513, 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 	(433, 1022)
			    terminal_attachment 	(810, 1022)
			    label      	(object SegLabel @61
				Parent_View 	@59
				location   	(766, 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   	(706, 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$27" @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$28" @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$29" @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$30" @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$37" @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$38" @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$39" @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$40" @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$45" @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$46" @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$35" @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$36" @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$31" @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$32" @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$33" @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$34" @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"
		    compartment 	(object Compartment
			Parent_View 	@153
			location   	(1193, 2526)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	1
			max_width  	0)
		    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, 1105)
			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     	182
		    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, 1409)
			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     	182
		    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, 1649)
			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     	182
		    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$15" @170
		    location   	(1358, 860)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$16" @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$13" @177
		    location   	(1612, 595)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$14" @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$17" @185
		    location   	(1279, 1136)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E60301E2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$18" @186
			    Parent_View 	@185
			    location   	(271, 272)
			    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, 1136)
			    terminal_attachment 	(1279, 453)
			    label      	(object SegLabel @188
				Parent_View 	@186
				location   	(1320, 587)
				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, 272)
			    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, 1136)
				(1279, 1208)
				(1891, 1208))
			    line_style 	3
			    origin_attachment 	(1279, 1136)
			    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$19" @193
		    location   	(1212, 1159)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6710104"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$20" @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$21" @201
		    location   	(1114, 1585)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6770095"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$22" @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, 1969)
			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     	182
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$23" @210
		    location   	(1066, 1532)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E67B0311"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$24" @211
			    Parent_View 	@210
			    location   	(-521, -112)
			    label      	(object SegLabel @212
				Parent_View 	@211
				location   	(1025, 670)
				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, 1532)
			    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, -112)
			    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, 1532)
				(1066, 2059)
				(1619, 2059))
			    line_style 	3
			    origin_attachment 	(1066, 1532)
			    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   	564
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::Port" @219
		    ShowCompartmentStereotypes 	TRUE
		    location   	(3360, 2528)
		    label      	(object ItemLabel
			Parent_View 	@219
			location   	(3279, 2476)
			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" @220
		    ShowCompartmentStereotypes 	TRUE
		    location   	(3168, 2352)
		    label      	(object ItemLabel
			Parent_View 	@220
			location   	(3087, 2299)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Service")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D8F002F8"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IExtensibilityElement" @221
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2784, 208)
		    label      	(object ItemLabel
			Parent_View 	@221
			location   	(2391, 184)
			fill_color 	13434879
			nlines     	1
			max_width  	786
			justify    	0
			label      	"IExtensibilityElement")
		    stereotype 	(object ItemLabel
			Parent_View 	@221
			location   	(2391, 134)
			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::Types" @222
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(528, 2432)
		    label      	(object ItemLabel
			Parent_View 	@222
			location   	(447, 2380)
			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" @223
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1072, 736)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@223
			location   	(801, 628)
			fill_color 	13434879
			nlines     	1
			max_width  	542
			justify    	0
			label      	"ExtensibleElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5FCFA033A"
		    compartment 	(object Compartment
			Parent_View 	@223
			location   	(801, 689)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	534)
		    width      	560
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @224
		    location   	(1022, 2056)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@223
		    vertices   	(list Points
			(1022, 2056)
			(1022, 856)))
		(object InheritView "" @225
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@222
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(472, 2368)
		    terminal_attachment 	(472, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @226
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2800, 736)
		    label      	(object ItemLabel
			Parent_View 	@226
			location   	(2528, 631)
			fill_color 	13434879
			nlines     	1
			max_width  	545
			justify    	0
			label      	"ExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5DBB602A9"
		    compartment 	(object Compartment
			Parent_View 	@226
			location   	(2528, 692)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	465)
		    width      	563
		    height     	234
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$25" @227
		    location   	(1935, 720)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$26" @228
			    Parent_View 	@227
			    location   	(767, 608)
			    label      	(object SegLabel @229
				Parent_View 	@228
				location   	(1469, 679)
				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     	@227
			    supplier   	@223
			    line_style 	3
			    origin_attachment 	(1935, 720)
			    terminal_attachment 	(1352, 720)
			    label      	(object SegLabel @230
				Parent_View 	@228
				location   	(1446, 676)
				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" @231
			    Parent_View 	@227
			    location   	(767, 608)
			    label      	(object SegLabel @232
				Parent_View 	@231
				location   	(2155, 570)
				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     	@227
			    supplier   	@226
			    line_style 	3
			    origin_attachment 	(1935, 720)
			    terminal_attachment 	(2519, 720)
			    label      	(object SegLabel @233
				Parent_View 	@231
				location   	(2348, 675)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.709402
				height     	46
				orientation 	0)
			    label      	(object SegLabel @234
				Parent_View 	@231
				location   	(2303, 812)
				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" @235
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1680, 240)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@235
			location   	(1302, 132)
			fill_color 	13434879
			nlines     	1
			max_width  	756
			justify    	0
			label      	"WSDLElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C6A302DD"
		    compartment 	(object Compartment
			Parent_View 	@235
			location   	(1302, 193)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	756)
		    width      	774
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @236
		    location   	(1674, 519)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@235
		    vertices   	(list Points
			(1674, 519)
			(1674, 360)))
		(object InheritView "" @237
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84B14903D0"
		    client     	@226
		    supplier   	@221
		    line_style 	3
		    origin_attachment 	(2911, 619)
		    terminal_attachment 	(2911, 294))
		(object InheritView "" @238
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BDDF53502C3"
		    client     	@226
		    supplier   	@235
		    line_style 	3
		    origin_attachment 	(2663, 619)
		    terminal_attachment 	(2663, 519)
		    drawSupplier 	@236)
		(object ClassView "Class" "Logical View::wsdl::UnknownExtensibilityElement" @239
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3088, 1456)
		    label      	(object ItemLabel
			Parent_View 	@239
			location   	(2625, 1351)
			fill_color 	13434879
			nlines     	1
			max_width  	927
			justify    	0
			label      	"UnknownExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3CB24AC002AE"
		    width      	945
		    height     	235
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @240
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CB24AEC01CB"
		    client     	@239
		    supplier   	@226
		    line_style 	3
		    origin_attachment 	(2692, 1339)
		    terminal_attachment 	(2692, 853))
		(object AssociationViewNew "$UNNAMED$63" @241
		    location   	(3536, 1782)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F7896A2026E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$64" @242
			    Parent_View 	@241
			    location   	(1504, 390)
			    label      	(object SegLabel @243
				Parent_View 	@242
				location   	(3691, 1428)
				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      	"3F7896A7012B"
			    client     	@241
			    supplier   	@239
			    vertices   	(list Points
				(3536, 1782)
				(3720, 1782)
				(3720, 1469)
				(3560, 1469))
			    line_style 	3
			    origin_attachment 	(3536, 1782)
			    terminal_attachment 	(3560, 1469)
			    label      	(object SegLabel @244
				Parent_View 	@242
				location   	(3627, 1523)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "children" @245
			    Parent_View 	@241
			    location   	(1504, 390)
			    label      	(object SegLabel @246
				Parent_View 	@245
				location   	(2970, 1706)
				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     	@241
			    supplier   	@239
			    vertices   	(list Points
				(3536, 1782)
				(3087, 1782)
				(3087, 1573))
			    line_style 	3
			    origin_attachment 	(3536, 1782)
			    terminal_attachment 	(3087, 1573)
			    label      	(object SegLabel @247
				Parent_View 	@245
				location   	(3141, 1639)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..*"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::wsdl::Binding" @248
		    ShowCompartmentStereotypes 	TRUE
		    location   	(2000, 2416)
		    label      	(object ItemLabel
			Parent_View 	@248
			location   	(1918, 2363)
			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 InheritView "" @249
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA0F02F0"
		    client     	@248
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(1995, 2351)
		    terminal_attachment 	(1995, 2056)
		    drawSupplier 	@224)
		(object InheritView "" @250
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FE3C03D4"
		    client     	@223
		    supplier   	@235
		    line_style 	3
		    origin_attachment 	(1185, 616)
		    terminal_attachment 	(1185, 519)
		    drawSupplier 	@236)
		(object ClassView "Class" "Logical View::wsdl::PortType" @251
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1088, 2432)
		    label      	(object ItemLabel
			Parent_View 	@251
			location   	(990, 2379)
			fill_color 	13434879
			nlines     	1
			max_width  	196
			justify    	0
			label      	"PortType")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C7F001A5"
		    width      	214
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingOperation" @252
		    ShowCompartmentStereotypes 	TRUE
		    location   	(2112, 2688)
		    label      	(object ItemLabel
			Parent_View 	@252
			location   	(1939, 2635)
			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::Fault" @253
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1872, 3360)
		    label      	(object ItemLabel
			Parent_View 	@253
			location   	(1791, 3307)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Fault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE078BE0108"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingFault" @254
		    ShowCompartmentStereotypes 	TRUE
		    location   	(3008, 2864)
		    label      	(object ItemLabel
			Parent_View 	@254
			location   	(2880, 2811)
			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 InheritView "" @255
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE0938602C9"
		    client     	@254
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(3008, 2799)
		    terminal_attachment 	(3008, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::Import" @256
		    ShowCompartmentStereotypes 	TRUE
		    location   	(320, 2432)
		    label      	(object ItemLabel
			Parent_View 	@256
			location   	(239, 2379)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Import")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E4F903DE"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @257
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5EE58037A"
		    client     	@256
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(265, 2367)
		    terminal_attachment 	(265, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::Definition" @258
		    ShowCompartmentStereotypes 	TRUE
		    location   	(144, 2224)
		    label      	(object ItemLabel
			Parent_View 	@258
			location   	(42, 2163)
			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::Input" @259
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1456, 3360)
		    label      	(object ItemLabel
			Parent_View 	@259
			location   	(1375, 3307)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Input")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE0789F0059"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingInput" @260
		    ShowCompartmentStereotypes 	TRUE
		    location   	(2336, 2864)
		    label      	(object ItemLabel
			Parent_View 	@260
			location   	(2208, 2811)
			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 InheritView "" @261
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B59B0072"
		    client     	@260
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(2336, 2799)
		    terminal_attachment 	(2336, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::Output" @262
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1664, 3360)
		    label      	(object ItemLabel
			Parent_View 	@262
			location   	(1583, 3307)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Output")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE078B60232"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::BindingOutput" @263
		    ShowCompartmentStereotypes 	TRUE
		    location   	(2672, 2864)
		    label      	(object ItemLabel
			Parent_View 	@263
			location   	(2527, 2811)
			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 InheritView "" @264
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B5A4027E"
		    client     	@263
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(2672, 2799)
		    terminal_attachment 	(2672, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::Operation" @265
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1264, 2688)
		    label      	(object ItemLabel
			Parent_View 	@265
			location   	(1157, 2635)
			fill_color 	13434879
			nlines     	1
			max_width  	214
			justify    	0
			label      	"Operation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C80D03CE"
		    width      	232
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @266
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE9DE98003C"
		    client     	@265
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(1264, 2623)
		    terminal_attachment 	(1264, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::Part" @267
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(912, 2688)
		    label      	(object ItemLabel
			Parent_View 	@267
			location   	(831, 2635)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Part")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5CE1C032E"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @268
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FDB803D4"
		    client     	@258
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(208, 2151)
		    terminal_attachment 	(208, 2056)
		    drawSupplier 	@224)
		(object InheritView "" @269
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B897E230237"
		    client     	@267
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(905, 2623)
		    terminal_attachment 	(905, 2056)
		    drawSupplier 	@224)
		(object InheritView "" @270
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5C9B70150"
		    client     	@251
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(1077, 2367)
		    terminal_attachment 	(1077, 2056)
		    drawSupplier 	@224)
		(object InheritView "" @271
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD6009202F7"
		    client     	@252
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(2104, 2623)
		    terminal_attachment 	(2104, 2056)
		    drawSupplier 	@224)
		(object InheritView "" @272
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA20025E"
		    client     	@220
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(3150, 2287)
		    terminal_attachment 	(3150, 2056)
		    drawSupplier 	@224)
		(object InheritView "" @273
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD600CB00AA"
		    client     	@219
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(3342, 2464)
		    terminal_attachment 	(3342, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::Message" @274
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(768, 2432)
		    label      	(object ItemLabel
			Parent_View 	@274
			location   	(669, 2379)
			fill_color 	13434879
			nlines     	1
			max_width  	198
			justify    	0
			label      	"Message")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C9590078"
		    width      	216
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @275
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D05501C4"
		    client     	@274
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(714, 2367)
		    terminal_attachment 	(714, 2056)
		    drawSupplier 	@224)
		(object ClassView "Class" "Logical View::wsdl::MessageReference" @276
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1648, 2864)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@276
			location   	(1456, 2781)
			fill_color 	13434879
			nlines     	1
			max_width  	384
			justify    	0
			label      	"MessageReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3F6771DB02DC"
		    compartment 	(object Compartment
			Parent_View 	@276
			location   	(1456, 2842)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	312)
		    width      	402
		    height     	190
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @277
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F762A6A0308"
		    client     	@276
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(1636, 2769)
		    terminal_attachment 	(1636, 2056)
		    drawSupplier 	@224)
		(object InheritTreeView "" @278
		    location   	(1659, 3055)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@276
		    vertices   	(list Points
			(1659, 3055)
			(1659, 2959)))
		(object InheritView "" @279
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723500DD"
		    client     	@262
		    supplier   	@276
		    line_style 	3
		    origin_attachment 	(1680, 3295)
		    terminal_attachment 	(1680, 3055)
		    drawSupplier 	@278)
		(object InheritView "" @280
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67722802E7"
		    client     	@259
		    supplier   	@276
		    line_style 	3
		    origin_attachment 	(1472, 3295)
		    terminal_attachment 	(1472, 3055)
		    drawSupplier 	@278)
		(object InheritView "" @281
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723D0319"
		    client     	@253
		    supplier   	@276
		    line_style 	3
		    origin_attachment 	(1890, 3295)
		    terminal_attachment 	(1890, 3055)
		    drawSupplier 	@278)))
	(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" @282
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1712, 224)
		    label      	(object ItemLabel
			Parent_View 	@282
			location   	(1422, 177)
			fill_color 	13434879
			nlines     	1
			max_width  	580
			justify    	0
			label      	"IImport")
		    stereotype 	(object ItemLabel
			Parent_View 	@282
			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" @283
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 1136)
		    label      	(object ItemLabel
			Parent_View 	@283
			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" @284
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1632, 1216)
		    label      	(object ItemLabel
			Parent_View 	@284
			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" @285
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(400, 384)
		    label      	(object ItemLabel
			Parent_View 	@285
			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$41" @286
		    location   	(309, 786)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3D55002D"
		    roleview_list 	(list RoleViews
			(object RoleView "eNamespaces" @287
			    Parent_View 	@286
			    location   	(-91, 258)
			    label      	(object SegLabel @288
				Parent_View 	@287
				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     	@286
			    supplier   	@283
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 1029)
			    label      	(object SegLabel @289
				Parent_View 	@287
				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 @290
				Parent_View 	@287
				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$42" @291
			    Parent_View 	@286
			    location   	(-91, 258)
			    label      	(object SegLabel @292
				Parent_View 	@291
				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     	@286
			    supplier   	@285
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 544)
			    label      	(object SegLabel @293
				Parent_View 	@291
				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" @294
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1472, 720)
		    label      	(object ItemLabel
			Parent_View 	@294
			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$55" @295
		    location   	(1486, 1001)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1DCC02E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eSchema" @296
			    Parent_View 	@295
			    location   	(510, -103)
			    label      	(object SegLabel @297
				Parent_View 	@296
				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     	@295
			    supplier   	@284
			    vertices   	(list Points
				(1486, 1001)
				(1632, 1001)
				(1632, 1130))
			    line_style 	3
			    origin_attachment 	(1486, 1001)
			    terminal_attachment 	(1632, 1130)
			    label      	(object SegLabel @298
				Parent_View 	@296
				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$56" @299
			    Parent_View 	@295
			    location   	(510, -103)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1DCE027A"
			    client     	@295
			    supplier   	@294
			    line_style 	3
			    origin_attachment 	(1486, 872)
			    terminal_attachment 	(1486, 872))))
		(object AssociationViewNew "$UNNAMED$43" @300
		    location   	(1087, 403)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3E3A002D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$44" @301
			    Parent_View 	@300
			    location   	(687, -125)
			    label      	(object SegLabel @302
				Parent_View 	@301
				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     	@300
			    supplier   	@294
			    vertices   	(list Points
				(1087, 403)
				(1364, 403)
				(1364, 568))
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(1364, 568))
			(object RoleView "eDefinition" @303
			    Parent_View 	@300
			    location   	(687, -125)
			    label      	(object SegLabel @304
				Parent_View 	@303
				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     	@300
			    supplier   	@285
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(645, 403)
			    label      	(object SegLabel @305
				Parent_View 	@303
				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$13" @306
		    location   	(737, 826)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$14" @307
			    Parent_View 	@306
			    location   	(-671, 106)
			    label      	(object SegLabel @308
				Parent_View 	@307
				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     	@306
			    supplier   	@285
			    vertices   	(list Points
				(737, 826)
				(510, 826)
				(510, 544))
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(510, 544)
			    label      	(object SegLabel @309
				Parent_View 	@307
				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" @310
			    Parent_View 	@306
			    location   	(-671, 106)
			    label      	(object SegLabel @311
				Parent_View 	@310
				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     	@306
			    supplier   	@294
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(1246, 826)
			    label      	(object SegLabel @312
				Parent_View 	@310
				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 @313
				Parent_View 	@310
				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 "" @314
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F200D0340"
		    client     	@294
		    supplier   	@282
		    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" @315
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1232)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@315
			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" @316
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1600)
		    label      	(object ItemLabel
			Parent_View 	@316
			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" @317
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1280, 1968)
		    label      	(object ItemLabel
			Parent_View 	@317
			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" @318
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 1184)
		    label      	(object ItemLabel
			Parent_View 	@318
			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$51" @319
		    location   	(735, 1172)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1BE900C4"
		    roleview_list 	(list RoleViews
			(object RoleView "typeDefinition" @320
			    Parent_View 	@319
			    location   	(143, 676)
			    label      	(object SegLabel @321
				Parent_View 	@320
				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     	@319
			    supplier   	@315
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(886, 1172)
			    label      	(object SegLabel @322
				Parent_View 	@320
				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$52" @323
			    Parent_View 	@319
			    location   	(143, 676)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1BE90331"
			    client     	@319
			    supplier   	@318
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(585, 1172))))
		(object AssociationViewNew "$UNNAMED$53" @324
		    location   	(527, 1592)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1C1203B2"
		    roleview_list 	(list RoleViews
			(object RoleView "elementDeclaration" @325
			    Parent_View 	@324
			    location   	(-65, 1096)
			    label      	(object SegLabel @326
				Parent_View 	@325
				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     	@324
			    supplier   	@316
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(897, 1592)
			    label      	(object SegLabel @327
				Parent_View 	@325
				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$54" @328
			    Parent_View 	@324
			    location   	(-65, 1096)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1C140026"
			    client     	@324
			    supplier   	@318
			    vertices   	(list Points
				(527, 1592)
				(437, 1592)
				(437, 1313))
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(437, 1313))))
		(object AssociationViewNew "$UNNAMED$57" @329
		    location   	(322, 1911)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C46829303E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eMessage" @330
			    Parent_View 	@329
			    location   	(-14, 1191)
			    label      	(object SegLabel @331
				Parent_View 	@330
				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     	@329
			    supplier   	@317
			    line_style 	3
			    origin_attachment 	(322, 1911)
			    terminal_attachment 	(1013, 1911)
			    label      	(object SegLabel @332
				Parent_View 	@330
				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$58" @333
			    Parent_View 	@329
			    location   	(-14, 1191)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C4682960118"
			    client     	@329
			    supplier   	@318
			    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" @334
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 608)
		    label      	(object ItemLabel
			Parent_View 	@334
			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" @335
		    ShowCompartmentStereotypes 	TRUE
		    location   	(176, 160)
		    label      	(object ItemLabel
			Parent_View 	@335
			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$15" @336
		    location   	(234, 604)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "eTypes" @337
			    Parent_View 	@336
			    location   	(-150, 396)
			    label      	(object SegLabel @338
				Parent_View 	@337
				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     	@336
			    supplier   	@334
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(606, 604)
			    label      	(object SegLabel @339
				Parent_View 	@337
				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$16" @340
			    Parent_View 	@336
			    location   	(-150, 396)
			    label      	(object SegLabel @341
				Parent_View 	@340
				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     	@336
			    supplier   	@335
			    vertices   	(list Points
				(234, 604)
				(174, 604)
				(174, 225))
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(174, 225)
			    label      	(object SegLabel @342
				Parent_View 	@340
				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" @343
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(640, 224)
		    label      	(object ItemLabel
			Parent_View 	@343
			location   	(525, 203)
			fill_color 	13434879
			nlines     	1
			max_width  	230
			justify    	0
			label      	"ITypes")
		    stereotype 	(object ItemLabel
			Parent_View 	@343
			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" @344
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1728, 800)
		    label      	(object ItemLabel
			Parent_View 	@344
			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" @345
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1856, 1216)
		    label      	(object ItemLabel
			Parent_View 	@345
			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" @346
		    location   	(1826, 975)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3614500F2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$60" @347
			    Parent_View 	@346
			    location   	(306, 447)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3CC36146023D"
			    client     	@346
			    supplier   	@344
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 859)
			    label      	(object SegLabel @348
				Parent_View 	@347
				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" @349
			    Parent_View 	@346
			    location   	(306, 447)
			    label      	(object SegLabel @350
				Parent_View 	@349
				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     	@346
			    supplier   	@345
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 1091)
			    label      	(object SegLabel @351
				Parent_View 	@349
				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 "" @352
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CADCD3B0380"
		    client     	@334
		    supplier   	@343
		    line_style 	3
		    origin_attachment 	(705, 500)
		    terminal_attachment 	(705, 307))
		(object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @353
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 224)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@353
			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 "" @354
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@334
		    supplier   	@353
		    line_style 	3
		    origin_attachment 	(854, 500)
		    terminal_attachment 	(854, 330))
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @355
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1824, 464)
		    label      	(object ItemLabel
			Parent_View 	@355
			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$25" @356
		    location   	(1206, 493)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$26" @357
			    Parent_View 	@356
			    location   	(-586, 237)
			    label      	(object SegLabel @358
				Parent_View 	@357
				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     	@356
			    supplier   	@353
			    vertices   	(list Points
				(1206, 493)
				(1094, 493)
				(1094, 330))
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1094, 330)
			    label      	(object SegLabel @359
				Parent_View 	@357
				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" @360
			    Parent_View 	@356
			    location   	(-586, 237)
			    label      	(object SegLabel @361
				Parent_View 	@360
				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     	@356
			    supplier   	@355
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1481, 493)
			    label      	(object SegLabel @362
				Parent_View 	@360
				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 @363
				Parent_View 	@360
				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 "" @364
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3627F00B7"
		    client     	@344
		    supplier   	@355
		    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" @365
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 224)
		    label      	(object ItemLabel
			Parent_View 	@365
			location   	(267, 122)
			fill_color 	13434879
			nlines     	1
			max_width  	362
			justify    	0
			label      	"IMessage")
		    stereotype 	(object ItemLabel
			Parent_View 	@365
			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" @366
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 224)
		    label      	(object ItemLabel
			Parent_View 	@366
			location   	(1029, 124)
			fill_color 	13434879
			nlines     	1
			max_width  	599
			justify    	0
			label      	"IPart")
		    stereotype 	(object ItemLabel
			Parent_View 	@366
			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" @367
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 816)
		    label      	(object ItemLabel
			Parent_View 	@367
			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 "" @368
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A96D02F1"
		    client     	@367
		    supplier   	@366
		    line_style 	3
		    origin_attachment 	(1304, 678)
		    terminal_attachment 	(1304, 386))
		(object ClassView "Class" "Logical View::wsdl::Message" @369
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 656)
		    label      	(object ItemLabel
			Parent_View 	@369
			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 "" @370
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A8D102BA"
		    client     	@369
		    supplier   	@365
		    line_style 	3
		    origin_attachment 	(445, 495)
		    terminal_attachment 	(445, 388))
		(object AssociationViewNew "$UNNAMED$1" @371
		    location   	(688, 952)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5CEBE00E2"
		    roleview_list 	(list RoleViews
			(object RoleView "eParts" @372
			    Parent_View 	@371
			    location   	(176, 328)
			    label      	(object SegLabel @373
				Parent_View 	@372
				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     	@371
			    supplier   	@367
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(1066, 952)
			    label      	(object SegLabel @374
				Parent_View 	@372
				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 @375
				Parent_View 	@372
				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" @376
			    Parent_View 	@371
			    location   	(176, 328)
			    label      	(object SegLabel @377
				Parent_View 	@376
				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     	@371
			    supplier   	@369
			    vertices   	(list Points
				(688, 952)
				(445, 952)
				(445, 817))
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(445, 817)
			    label      	(object SegLabel @378
				Parent_View 	@376
				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))))))))
