
(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")
		(object Inheritance_Relationship
		    quid       	"490E05C20290"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA")
		(object Inheritance_Relationship
		    quid       	"49657F06007D"
		    supplier   	"Logical View::wsdl::IAttributeExtensible"
		    quidu      	"490E063F02AF"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E219F0186"
		    supplier   	"Logical View::wsdl::IAttributeExtensible"
		    quidu      	"490E063F02AF"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23D5029F"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E223502AF"
		    supplier   	"Logical View::wsdl::IAttributeExtensible"
		    quidu      	"490E063F02AF"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E22390157"
		    supplier   	"Logical View::wsdl::IAttributeExtensible"
		    quidu      	"490E063F02AF"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E2241008C"
		    supplier   	"Logical View::wsdl::IAttributeExtensible"
		    quidu      	"490E063F02AF"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23DA030D"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23670242"
		    supplier   	"Logical View::wsdl::IAttributeExtensible"
		    quidu      	"490E063F02AF"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23E502BF"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23EA0119"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23EE00BB"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23F30177"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23F70232"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23FB00CB"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E24050167"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E23D20280"
		    supplier   	"Logical View::wsdl::IElementExtensible"
		    quidu      	"490E04B000DA"))
	    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"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E224E02CE"
		    supplier   	"Logical View::wsdl::IAttributeExtensible"
		    quidu      	"490E063F02AF"))
	    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 Inheritance_Relationship
		    quid       	"4965689D0128"
		    supplier   	"Logical View::wsdl::ISchema"
		    quidu      	"490E71C6006D"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "documentBaseURI"
		    quid       	"490E806900EA"
		    type       	"String")))
	(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 Class "IElementExtensible"
	    quid       	"490E04B000DA"
	    stereotype 	"Interface"
	    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))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.extensions.ElementExtensible"
		    quid       	"490E04E902EE"
		    stereotype 	"javaclass"
		    type       	"type"))
	    language   	"Java")
	(object Class "IAttributeExtensible"
	    quid       	"490E063F02AF"
	    stereotype 	"Interface"
	    operations 	(list Operations
		(object Operation "getExtensionAttribute"
		    quid       	"3C468A2D02D5"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName"))
		    result     	"IObject"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "setExtensionAttribute"
		    quid       	"3C4688450052"
		    parameters 	(list Parameters
			(object Parameter "name"
			    type       	"QName")
			(object Parameter "value"
			    type       	"IObject"))
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getExtensionAttributes"
		    quid       	"490E153B00CB"
		    result     	"IMap"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0)
		(object Operation "getNativeAttributeNames"
		    quid       	"490E099F0109"
		    result     	"IList"
		    concurrency 	"Sequential"
		    opExportControl 	"Public"
		    uid        	0))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.extensions.AttributeExtensible"
		    quid       	"490E13C2000F"
		    stereotype 	"javaclass"))
	    language   	"Java")
	(object Class "IObject"
	    quid       	"490E13B30119"
	    stereotype 	"Interface"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "java.lang.Object"
		    quid       	"490E13E300AB"
		    stereotype 	"javaclass"
		    type       	"type"
		    initv      	"initval"))
	    language   	"Java")
	(object Class "ISchema"
	    quid       	"490E71C6006D"
	    stereotype 	"Interface"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"490E777F032C"
		    supplier   	"Logical View::wsdl::IExtensibilityElement"
		    quidu      	"3B84B12402AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "javax.wsdl.extensions.schema.Schema"
		    quid       	"490E71FE030D"
		    stereotype 	"javaclass"))
	    language   	"Java")
	(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   	(1808, 1392)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(1557, 1252)
			fill_color 	13434879
			nlines     	1
			max_width  	502
			justify    	0
			label      	"IBinding")
		    stereotype 	(object ItemLabel
			Parent_View 	@1
			location   	(1557, 1202)
			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   	(1200, 1120)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(1070, 1073)
			fill_color 	13434879
			nlines     	1
			max_width  	260
			justify    	0
			label      	"IPort")
		    stereotype 	(object ItemLabel
			Parent_View 	@2
			location   	(1070, 1023)
			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   	(624, 752)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(510, 682)
			fill_color 	13434879
			nlines     	1
			max_width  	228
			justify    	0
			label      	"IService")
		    stereotype 	(object ItemLabel
			Parent_View 	@3
			location   	(510, 632)
			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   	(624, 1120)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(428, 1025)
			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 	(624, 1013)
		    terminal_attachment 	(624, 884))
		(object ClassView "Class" "Logical View::wsdl::Binding" @6
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1824, 1856)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(1628, 1761)
			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 	(1814, 1749)
		    terminal_attachment 	(1814, 1594))
		(object ClassView "Class" "Logical View::wsdl::Port" @8
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1200, 1504)
		    label      	(object ItemLabel
			Parent_View 	@8
			location   	(1059, 1432)
			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 	(1193, 1420)
		    terminal_attachment 	(1193, 1229))
		(object AssociationViewNew "$UNNAMED$9" @10
		    location   	(705, 1508)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D9400393"
		    roleview_list 	(list RoleViews
			(object RoleView "ePorts" @11
			    Parent_View 	@10
			    location   	(241, 1236)
			    label      	(object SegLabel @12
				Parent_View 	@11
				location   	(781, 1537)
				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 	(705, 1508)
			    terminal_attachment 	(1050, 1508)
			    label      	(object SegLabel @13
				Parent_View 	@11
				location   	(914, 1472)
				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   	(817, 1582)
				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   	(241, 1236)
			    label      	(object SegLabel @16
				Parent_View 	@15
				location   	(600, 1296)
				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
				(705, 1508)
				(641, 1508)
				(641, 1227))
			    line_style 	3
			    origin_attachment 	(705, 1508)
			    terminal_attachment 	(641, 1227)
			    label      	(object SegLabel @17
				Parent_View 	@15
				location   	(685, 1352)
				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   	(1271, 1862)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D9B8011F"
		    roleview_list 	(list RoleViews
			(object RoleView "eBinding" @19
			    Parent_View 	@18
			    location   	(423, 1014)
			    label      	(object SegLabel @20
				Parent_View 	@19
				location   	(1496, 1827)
				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 	(1271, 1862)
			    terminal_attachment 	(1619, 1862)
			    label      	(object SegLabel @21
				Parent_View 	@19
				location   	(1554, 1905)
				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   	(423, 1014)
			    label      	(object SegLabel @23
				Parent_View 	@22
				location   	(1236, 1698)
				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
				(1271, 1862)
				(1196, 1862)
				(1196, 1588))
			    line_style 	3
			    origin_attachment 	(1271, 1862)
			    terminal_attachment 	(1196, 1588))))
		(object ClassView "Class" "Logical View::wsdl::IElementExtensible" @24
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1184, 160)
		    label      	(object ItemLabel
			Parent_View 	@24
			location   	(942, 90)
			fill_color 	13434879
			nlines     	1
			max_width  	484
			justify    	0
			label      	"IElementExtensible")
		    stereotype 	(object ItemLabel
			Parent_View 	@24
			location   	(942, 40)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	484
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E04B000DA"
		    width      	502
		    height     	264
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IAttributeExtensible" @25
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1760, 192)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(1489, 77)
			fill_color 	13434879
			nlines     	1
			max_width  	542
			justify    	0
			label      	"IAttributeExtensible")
		    stereotype 	(object ItemLabel
			Parent_View 	@25
			location   	(1489, 27)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	542
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E063F02AF"
		    width      	560
		    height     	354
		    annotation 	8
		    autoResize 	TRUE)))
	(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" @26
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 240)
		    label      	(object ItemLabel
			Parent_View 	@26
			location   	(73, 114)
			fill_color 	13434879
			nlines     	1
			max_width  	462
			justify    	0
			label      	"IBinding")
		    stereotype 	(object ItemLabel
			Parent_View 	@26
			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" @27
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(976, 352)
		    label      	(object ItemLabel
			Parent_View 	@27
			location   	(780, 130)
			fill_color 	13434879
			nlines     	1
			max_width  	392
			justify    	0
			label      	"IBindingOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@27
			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" @28
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(192, 1360)
		    label      	(object ItemLabel
			Parent_View 	@28
			location   	(62, 1334)
			fill_color 	16777215
			nlines     	1
			max_width  	260
			justify    	0
			label      	"IBindingInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@28
			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" @29
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1664)
		    label      	(object ItemLabel
			Parent_View 	@29
			location   	(61, 1638)
			fill_color 	16777215
			nlines     	1
			max_width  	294
			justify    	0
			label      	"IBindingOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@29
			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" @30
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(208, 1984)
		    label      	(object ItemLabel
			Parent_View 	@30
			location   	(72, 1958)
			fill_color 	13434879
			nlines     	1
			max_width  	272
			justify    	0
			label      	"IBindingFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@30
			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" @31
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 624)
		    label      	(object ItemLabel
			Parent_View 	@31
			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" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 1360)
		    label      	(object ItemLabel
			Parent_View 	@32
			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" @33
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1904, 1664)
		    label      	(object ItemLabel
			Parent_View 	@33
			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" @34
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(304, 688)
		    label      	(object ItemLabel
			Parent_View 	@34
			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 "" @35
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8595410129"
		    client     	@34
		    supplier   	@26
		    line_style 	3
		    origin_attachment 	(279, 574)
		    terminal_attachment 	(279, 428))
		(object AssociationViewNew "$UNNAMED$3" @36
		    location   	(1104, 742)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D352010F"
		    roleview_list 	(list RoleViews
			(object RoleView "ePortType" @37
			    Parent_View 	@36
			    location   	(640, 598)
			    label      	(object SegLabel @38
				Parent_View 	@37
				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     	@36
			    supplier   	@31
			    line_style 	3
			    origin_attachment 	(1104, 742)
			    terminal_attachment 	(1688, 742)
			    label      	(object SegLabel @39
				Parent_View 	@37
				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" @40
			    Parent_View 	@36
			    location   	(640, 598)
			    label      	(object SegLabel @41
				Parent_View 	@40
				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     	@36
			    supplier   	@34
			    line_style 	3
			    origin_attachment 	(1104, 742)
			    terminal_attachment 	(520, 742))))
		(object ClassView "Class" "Logical View::wsdl::Operation" @42
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 1024)
		    label      	(object ItemLabel
			Parent_View 	@42
			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" @43
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 1408)
		    label      	(object ItemLabel
			Parent_View 	@43
			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" @44
		    location   	(1264, 1359)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AD2400BD"
		    roleview_list 	(list RoleViews
			(object RoleView "eInput" @45
			    Parent_View 	@44
			    location   	(96, 287)
			    label      	(object SegLabel @46
				Parent_View 	@45
				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     	@44
			    supplier   	@32
			    line_style 	3
			    origin_attachment 	(1264, 1359)
			    terminal_attachment 	(1747, 1359)
			    label      	(object SegLabel @47
				Parent_View 	@45
				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" @48
			    Parent_View 	@44
			    location   	(96, 287)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD250084"
			    client     	@44
			    supplier   	@43
			    line_style 	3
			    origin_attachment 	(1264, 1359)
			    terminal_attachment 	(781, 1359))))
		(object ClassView "Class" "Logical View::wsdl::BindingOutput" @49
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(960, 1664)
		    label      	(object ItemLabel
			Parent_View 	@49
			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" @50
		    location   	(1432, 1654)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AD7900F2"
		    roleview_list 	(list RoleViews
			(object RoleView "eOutput" @51
			    Parent_View 	@50
			    location   	(-120, 374)
			    label      	(object SegLabel @52
				Parent_View 	@51
				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     	@50
			    supplier   	@33
			    line_style 	3
			    origin_attachment 	(1432, 1654)
			    terminal_attachment 	(1747, 1654)
			    label      	(object SegLabel @53
				Parent_View 	@51
				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" @54
			    Parent_View 	@50
			    location   	(-120, 374)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B84AD7A014E"
			    client     	@50
			    supplier   	@49
			    line_style 	3
			    origin_attachment 	(1432, 1654)
			    terminal_attachment 	(1117, 1654))))
		(object ClassView "Class" "Logical View::wsdl::BindingOperation" @55
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(992, 1008)
		    label      	(object ItemLabel
			Parent_View 	@55
			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 "" @56
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84ADE401DC"
		    client     	@55
		    supplier   	@27
		    line_style 	3
		    origin_attachment 	(966, 919)
		    terminal_attachment 	(966, 636))
		(object AssociationViewNew "$UNNAMED$5" @57
		    location   	(433, 1022)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D3E10179"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$6" @58
			    Parent_View 	@57
			    location   	(-1343, 494)
			    label      	(object SegLabel @59
				Parent_View 	@58
				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     	@57
			    supplier   	@34
			    vertices   	(list Points
				(433, 1022)
				(276, 1022)
				(276, 802))
			    line_style 	3
			    origin_attachment 	(433, 1022)
			    terminal_attachment 	(276, 802)
			    label      	(object SegLabel @60
				Parent_View 	@58
				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" @61
			    Parent_View 	@57
			    location   	(-1343, 494)
			    label      	(object SegLabel @62
				Parent_View 	@61
				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     	@57
			    supplier   	@55
			    line_style 	3
			    origin_attachment 	(433, 1022)
			    terminal_attachment 	(810, 1022)
			    label      	(object SegLabel @63
				Parent_View 	@61
				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 @64
				Parent_View 	@61
				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" @65
		    location   	(1418, 1040)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D425038A"
		    roleview_list 	(list RoleViews
			(object RoleView "eOperation" @66
			    Parent_View 	@65
			    location   	(-358, 464)
			    label      	(object SegLabel @67
				Parent_View 	@66
				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     	@65
			    supplier   	@42
			    line_style 	3
			    origin_attachment 	(1418, 1040)
			    terminal_attachment 	(1663, 1040)
			    label      	(object SegLabel @68
				Parent_View 	@66
				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" @69
			    Parent_View 	@65
			    location   	(-358, 464)
			    label      	(object SegLabel @70
				Parent_View 	@69
				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     	@65
			    supplier   	@55
			    line_style 	3
			    origin_attachment 	(1418, 1040)
			    terminal_attachment 	(1174, 1040))))
		(object AssociationViewNew "$UNNAMED$27" @71
		    location   	(787, 1190)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2E6401F5"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingInput" @72
			    Parent_View 	@71
			    location   	(-381, 454)
			    label      	(object SegLabel @73
				Parent_View 	@72
				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     	@71
			    supplier   	@43
			    vertices   	(list Points
				(787, 1190)
				(636, 1190)
				(636, 1271))
			    line_style 	3
			    origin_attachment 	(787, 1190)
			    terminal_attachment 	(636, 1271)
			    label      	(object SegLabel @74
				Parent_View 	@72
				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" @75
			    Parent_View 	@71
			    location   	(-381, 454)
			    label      	(object SegLabel @76
				Parent_View 	@75
				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     	@71
			    supplier   	@55
			    vertices   	(list Points
				(787, 1190)
				(926, 1190)
				(926, 1097))
			    line_style 	3
			    origin_attachment 	(787, 1190)
			    terminal_attachment 	(926, 1097)
			    label      	(object SegLabel @77
				Parent_View 	@75
				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" @78
		    location   	(1024, 1312)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2EB30163"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingOutput" @79
			    Parent_View 	@78
			    location   	(-150, 578)
			    label      	(object SegLabel @80
				Parent_View 	@79
				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     	@78
			    supplier   	@49
			    line_style 	3
			    origin_attachment 	(1024, 1312)
			    terminal_attachment 	(1024, 1527)
			    label      	(object SegLabel @81
				Parent_View 	@79
				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" @82
			    Parent_View 	@78
			    location   	(-150, 578)
			    label      	(object SegLabel @83
				Parent_View 	@82
				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     	@78
			    supplier   	@55
			    line_style 	3
			    origin_attachment 	(1024, 1312)
			    terminal_attachment 	(1024, 1097)
			    label      	(object SegLabel @84
				Parent_View 	@82
				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" @85
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1920, 1984)
		    label      	(object ItemLabel
			Parent_View 	@85
			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" @86
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 1984)
		    label      	(object ItemLabel
			Parent_View 	@86
			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 "" @87
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE710333"
		    client     	@86
		    supplier   	@30
		    line_style 	3
		    origin_attachment 	(1203, 2007)
		    terminal_attachment 	(353, 2007))
		(object AssociationViewNew "$UNNAMED$37" @88
		    location   	(1356, 1352)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF340003E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eBindingFaults" @89
			    Parent_View 	@88
			    location   	(188, 616)
			    label      	(object SegLabel @90
				Parent_View 	@89
				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     	@88
			    supplier   	@86
			    line_style 	3
			    origin_attachment 	(1356, 1352)
			    terminal_attachment 	(1356, 1847)
			    label      	(object SegLabel @91
				Parent_View 	@89
				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 @92
				Parent_View 	@89
				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" @93
			    Parent_View 	@88
			    location   	(188, 616)
			    label      	(object SegLabel @94
				Parent_View 	@93
				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     	@88
			    supplier   	@55
			    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 @95
				Parent_View 	@93
				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" @96
		    location   	(1640, 1970)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE091F402F3"
		    roleview_list 	(list RoleViews
			(object RoleView "eFault" @97
			    Parent_View 	@96
			    location   	(-344, 818)
			    label      	(object SegLabel @98
				Parent_View 	@97
				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     	@96
			    supplier   	@85
			    line_style 	3
			    origin_attachment 	(1640, 1970)
			    terminal_attachment 	(1763, 1970)
			    label      	(object SegLabel @99
				Parent_View 	@97
				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" @100
			    Parent_View 	@96
			    location   	(-344, 818)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AE091F801FF"
			    client     	@96
			    supplier   	@86
			    line_style 	3
			    origin_attachment 	(1640, 1970)
			    terminal_attachment 	(1517, 1970))))
		(object InheritView "" @101
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE4302AB"
		    client     	@49
		    supplier   	@29
		    line_style 	3
		    origin_attachment 	(803, 1656)
		    terminal_attachment 	(364, 1656))
		(object InheritView "" @102
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84AE1B0113"
		    client     	@43
		    supplier   	@28
		    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" @103
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 208)
		    label      	(object ItemLabel
			Parent_View 	@103
			location   	(146, 172)
			fill_color 	13434879
			nlines     	1
			max_width  	700
			justify    	0
			label      	"IPortType")
		    stereotype 	(object ItemLabel
			Parent_View 	@103
			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" @104
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 208)
		    label      	(object ItemLabel
			Parent_View 	@104
			location   	(1116, 176)
			fill_color 	13434879
			nlines     	1
			max_width  	873
			justify    	0
			label      	"IOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@104
			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" @105
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 1472)
		    label      	(object ItemLabel
			Parent_View 	@105
			location   	(55, 1437)
			fill_color 	16777215
			nlines     	1
			max_width  	626
			justify    	0
			label      	"IInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@105
			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" @106
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(384, 1792)
		    label      	(object ItemLabel
			Parent_View 	@106
			location   	(56, 1757)
			fill_color 	16777215
			nlines     	1
			max_width  	656
			justify    	0
			label      	"IOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@106
			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" @107
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(368, 2112)
		    label      	(object ItemLabel
			Parent_View 	@107
			location   	(55, 2076)
			fill_color 	13434879
			nlines     	1
			max_width  	626
			justify    	0
			label      	"IFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@107
			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" @108
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(496, 800)
		    label      	(object ItemLabel
			Parent_View 	@108
			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" @109
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2576, 800)
		    label      	(object ItemLabel
			Parent_View 	@109
			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" @110
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1728, 2112)
		    label      	(object ItemLabel
			Parent_View 	@110
			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" @111
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 1472)
		    label      	(object ItemLabel
			Parent_View 	@111
			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" @112
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1360, 1792)
		    label      	(object ItemLabel
			Parent_View 	@112
			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" @113
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1552, 784)
		    label      	(object ItemLabel
			Parent_View 	@113
			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" @114
		    location   	(1024, 797)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5C824018C"
		    roleview_list 	(list RoleViews
			(object RoleView "eOperations" @115
			    Parent_View 	@114
			    location   	(592, 269)
			    label      	(object SegLabel @116
				Parent_View 	@115
				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     	@114
			    supplier   	@113
			    line_style 	3
			    origin_attachment 	(1024, 797)
			    terminal_attachment 	(1205, 797)
			    label      	(object SegLabel @117
				Parent_View 	@115
				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 @118
				Parent_View 	@115
				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" @119
			    Parent_View 	@114
			    location   	(592, 269)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AD5C82701C3"
			    client     	@114
			    supplier   	@108
			    line_style 	3
			    origin_attachment 	(1024, 797)
			    terminal_attachment 	(843, 797)
			    label      	(object SegLabel @120
				Parent_View 	@119
				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" @121
		    location   	(2107, 773)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA412F0035"
		    roleview_list 	(list RoleViews
			(object RoleView "eParameterOrdering" @122
			    Parent_View 	@121
			    location   	(1819, 101)
			    label      	(object SegLabel @123
				Parent_View 	@122
				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     	@121
			    supplier   	@109
			    line_style 	3
			    origin_attachment 	(2107, 773)
			    terminal_attachment 	(2316, 773)
			    label      	(object SegLabel @124
				Parent_View 	@122
				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 @125
				Parent_View 	@122
				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" @126
			    Parent_View 	@121
			    location   	(1819, 101)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3AEA4131025F"
			    client     	@121
			    supplier   	@113
			    line_style 	3
			    origin_attachment 	(2107, 773)
			    terminal_attachment 	(1899, 773))))
		(object AssociationViewNew "$UNNAMED$35" @127
		    location   	(1702, 1504)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF331601A4"
		    roleview_list 	(list RoleViews
			(object RoleView "eFaults" @128
			    Parent_View 	@127
			    location   	(1414, 832)
			    label      	(object SegLabel @129
				Parent_View 	@128
				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     	@127
			    supplier   	@110
			    line_style 	3
			    origin_attachment 	(1702, 1504)
			    terminal_attachment 	(1702, 2048)
			    label      	(object SegLabel @130
				Parent_View 	@128
				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 @131
				Parent_View 	@128
				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" @132
			    Parent_View 	@127
			    location   	(1414, 832)
			    label      	(object SegLabel @133
				Parent_View 	@132
				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     	@127
			    supplier   	@113
			    line_style 	3
			    origin_attachment 	(1702, 1504)
			    terminal_attachment 	(1702, 960)
			    label      	(object SegLabel @134
				Parent_View 	@132
				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" @135
		    location   	(1178, 1234)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2F94024D"
		    roleview_list 	(list RoleViews
			(object RoleView "eInput" @136
			    Parent_View 	@135
			    location   	(890, 562)
			    label      	(object SegLabel @137
				Parent_View 	@136
				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     	@135
			    supplier   	@111
			    vertices   	(list Points
				(1178, 1234)
				(980, 1234)
				(980, 1410))
			    line_style 	3
			    origin_attachment 	(1178, 1234)
			    terminal_attachment 	(980, 1410)
			    label      	(object SegLabel @138
				Parent_View 	@136
				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" @139
			    Parent_View 	@135
			    location   	(890, 562)
			    label      	(object SegLabel @140
				Parent_View 	@139
				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     	@135
			    supplier   	@113
			    vertices   	(list Points
				(1178, 1234)
				(1277, 1234)
				(1277, 960))
			    line_style 	3
			    origin_attachment 	(1178, 1234)
			    terminal_attachment 	(1277, 960)
			    label      	(object SegLabel @141
				Parent_View 	@139
				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" @142
		    location   	(1468, 1345)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3ADF2FB802F9"
		    roleview_list 	(list RoleViews
			(object RoleView "eOutput" @143
			    Parent_View 	@142
			    location   	(1180, 673)
			    label      	(object SegLabel @144
				Parent_View 	@143
				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     	@142
			    supplier   	@112
			    line_style 	3
			    origin_attachment 	(1468, 1345)
			    terminal_attachment 	(1468, 1730)
			    label      	(object SegLabel @145
				Parent_View 	@143
				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" @146
			    Parent_View 	@142
			    location   	(1180, 673)
			    label      	(object SegLabel @147
				Parent_View 	@146
				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     	@142
			    supplier   	@113
			    line_style 	3
			    origin_attachment 	(1468, 1345)
			    terminal_attachment 	(1468, 960)
			    label      	(object SegLabel @148
				Parent_View 	@146
				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 "" @149
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FD8019F"
		    client     	@108
		    supplier   	@103
		    line_style 	0)
		(object InheritView "" @150
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FE20171"
		    client     	@113
		    supplier   	@104
		    line_style 	0)
		(object InheritView "" @151
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FEE031D"
		    client     	@111
		    supplier   	@105
		    line_style 	0)
		(object InheritView "" @152
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F1FF801CD"
		    client     	@112
		    supplier   	@106
		    line_style 	0)
		(object InheritView "" @153
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F2002002D"
		    client     	@110
		    supplier   	@107
		    line_style 	0)
		(object ClassView "Class" "Logical View::wsdl::Message" @154
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2224, 1456)
		    label      	(object ItemLabel
			Parent_View 	@154
			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" @155
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1520, 2544)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@155
			location   	(1193, 2466)
			fill_color 	13434879
			nlines     	1
			max_width  	654
			justify    	0
			label      	"MessageReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3F6771DB02DC"
		    width      	672
		    height     	180
		    annotation 	8)
		(object InheritTreeView "" @156
		    location   	(1524, 2275)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@155
		    vertices   	(list Points
			(1524, 2275)
			(1524, 2454)))
		(object InheritView "" @157
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723D0319"
		    client     	@110
		    supplier   	@155
		    line_style 	3
		    origin_attachment 	(1776, 2176)
		    terminal_attachment 	(1776, 2275)
		    drawSupplier 	@156)
		(object InheritView "" @158
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723500DD"
		    client     	@112
		    supplier   	@155
		    line_style 	3
		    origin_attachment 	(1371, 1854)
		    terminal_attachment 	(1371, 2275)
		    drawSupplier 	@156)
		(object InheritView "" @159
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67722802E7"
		    client     	@111
		    supplier   	@155
		    line_style 	3
		    origin_attachment 	(980, 1534)
		    terminal_attachment 	(980, 2275)
		    drawSupplier 	@156)
		(object AssociationViewNew "$UNNAMED$61" @160
		    location   	(2206, 2259)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F74E78401B1"
		    roleview_list 	(list RoleViews
			(object RoleView "eMessage" @161
			    Parent_View 	@160
			    location   	(734, -285)
			    label      	(object SegLabel @162
				Parent_View 	@161
				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     	@160
			    supplier   	@154
			    line_style 	3
			    origin_attachment 	(2206, 2259)
			    terminal_attachment 	(2206, 1612)
			    label      	(object SegLabel @163
				Parent_View 	@161
				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" @164
			    Parent_View 	@160
			    location   	(734, -285)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3F74E7860023"
			    client     	@160
			    supplier   	@155
			    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" @165
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 192)
		    label      	(object ItemLabel
			Parent_View 	@165
			location   	(88, 161)
			fill_color 	13434879
			nlines     	1
			max_width  	688
			justify    	0
			label      	"IDefinition")
		    stereotype 	(object ItemLabel
			Parent_View 	@165
			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" @166
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1824, 944)
		    label      	(object ItemLabel
			Parent_View 	@166
			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" @167
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2144, 624)
		    label      	(object ItemLabel
			Parent_View 	@167
			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" @168
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2112, 1184)
		    label      	(object ItemLabel
			Parent_View 	@168
			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" @169
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1808, 1488)
		    label      	(object ItemLabel
			Parent_View 	@169
			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" @170
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(2336, 1728)
		    label      	(object ItemLabel
			Parent_View 	@170
			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" @171
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 240)
		    label      	(object ItemLabel
			Parent_View 	@171
			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" @172
		    location   	(1358, 860)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$16" @173
			    Parent_View 	@172
			    location   	(62, -36)
			    label      	(object SegLabel @174
				Parent_View 	@173
				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     	@172
			    supplier   	@171
			    line_style 	3
			    origin_attachment 	(1358, 860)
			    terminal_attachment 	(1358, 453)
			    label      	(object SegLabel @175
				Parent_View 	@173
				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" @176
			    Parent_View 	@172
			    location   	(62, -36)
			    label      	(object SegLabel @177
				Parent_View 	@176
				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     	@172
			    supplier   	@166
			    vertices   	(list Points
				(1358, 860)
				(1358, 948)
				(1677, 948))
			    line_style 	3
			    origin_attachment 	(1358, 860)
			    terminal_attachment 	(1677, 948)
			    label      	(object SegLabel @178
				Parent_View 	@176
				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" @179
		    location   	(1612, 595)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$14" @180
			    Parent_View 	@179
			    location   	(12, 227)
			    label      	(object SegLabel @181
				Parent_View 	@180
				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     	@179
			    supplier   	@171
			    vertices   	(list Points
				(1612, 595)
				(1464, 595)
				(1464, 453))
			    line_style 	3
			    origin_attachment 	(1612, 595)
			    terminal_attachment 	(1464, 453)
			    label      	(object SegLabel @182
				Parent_View 	@180
				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" @183
			    Parent_View 	@179
			    location   	(12, 227)
			    label      	(object SegLabel @184
				Parent_View 	@183
				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     	@179
			    supplier   	@167
			    line_style 	3
			    origin_attachment 	(1612, 595)
			    terminal_attachment 	(1901, 595)
			    label      	(object SegLabel @185
				Parent_View 	@183
				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 @186
				Parent_View 	@183
				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" @187
		    location   	(1279, 1136)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E60301E2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$18" @188
			    Parent_View 	@187
			    location   	(271, 272)
			    label      	(object SegLabel @189
				Parent_View 	@188
				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     	@187
			    supplier   	@171
			    line_style 	3
			    origin_attachment 	(1279, 1136)
			    terminal_attachment 	(1279, 453)
			    label      	(object SegLabel @190
				Parent_View 	@188
				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" @191
			    Parent_View 	@187
			    location   	(271, 272)
			    label      	(object SegLabel @192
				Parent_View 	@191
				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     	@187
			    supplier   	@168
			    vertices   	(list Points
				(1279, 1136)
				(1279, 1208)
				(1891, 1208))
			    line_style 	3
			    origin_attachment 	(1279, 1136)
			    terminal_attachment 	(1891, 1208)
			    label      	(object SegLabel @193
				Parent_View 	@191
				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 @194
				Parent_View 	@191
				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" @195
		    location   	(1212, 1159)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6710104"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$20" @196
			    Parent_View 	@195
			    location   	(-324, 215)
			    label      	(object SegLabel @197
				Parent_View 	@196
				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     	@195
			    supplier   	@171
			    line_style 	3
			    origin_attachment 	(1212, 1159)
			    terminal_attachment 	(1212, 453)
			    label      	(object SegLabel @198
				Parent_View 	@196
				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" @199
			    Parent_View 	@195
			    location   	(-324, 215)
			    label      	(object SegLabel @200
				Parent_View 	@199
				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     	@195
			    supplier   	@169
			    vertices   	(list Points
				(1212, 1159)
				(1212, 1490)
				(1587, 1490))
			    line_style 	3
			    origin_attachment 	(1212, 1159)
			    terminal_attachment 	(1587, 1490)
			    label      	(object SegLabel @201
				Parent_View 	@199
				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 @202
				Parent_View 	@199
				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" @203
		    location   	(1114, 1585)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E6770095"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$22" @204
			    Parent_View 	@203
			    location   	(-406, 241)
			    label      	(object SegLabel @205
				Parent_View 	@204
				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     	@203
			    supplier   	@171
			    line_style 	3
			    origin_attachment 	(1114, 1585)
			    terminal_attachment 	(1114, 453)
			    label      	(object SegLabel @206
				Parent_View 	@204
				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" @207
			    Parent_View 	@203
			    location   	(-406, 241)
			    label      	(object SegLabel @208
				Parent_View 	@207
				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     	@203
			    supplier   	@170
			    vertices   	(list Points
				(1114, 1585)
				(1114, 1716)
				(2115, 1716))
			    line_style 	3
			    origin_attachment 	(1114, 1585)
			    terminal_attachment 	(2115, 1716)
			    label      	(object SegLabel @209
				Parent_View 	@207
				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 @210
				Parent_View 	@207
				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" @211
		    ShowCompartmentStereotypes 	TRUE
		    SuppressOperation 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1840, 2048)
		    label      	(object ItemLabel
			Parent_View 	@211
			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" @212
		    location   	(1066, 1532)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5E67B0311"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$24" @213
			    Parent_View 	@212
			    location   	(-521, -112)
			    label      	(object SegLabel @214
				Parent_View 	@213
				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     	@212
			    supplier   	@171
			    line_style 	3
			    origin_attachment 	(1066, 1532)
			    terminal_attachment 	(1066, 453)
			    label      	(object SegLabel @215
				Parent_View 	@213
				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" @216
			    Parent_View 	@212
			    location   	(-521, -112)
			    label      	(object SegLabel @217
				Parent_View 	@216
				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     	@212
			    supplier   	@211
			    vertices   	(list Points
				(1066, 1532)
				(1066, 2059)
				(1619, 2059))
			    line_style 	3
			    origin_attachment 	(1066, 1532)
			    terminal_attachment 	(1619, 2059)
			    label      	(object SegLabel @218
				Parent_View 	@216
				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 @219
				Parent_View 	@216
				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 "" @220
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84B1F80382"
		    client     	@171
		    supplier   	@165
		    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       	65
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::Port" @221
		    ShowCompartmentStereotypes 	TRUE
		    location   	(4128, 3104)
		    label      	(object ItemLabel
			Parent_View 	@221
			location   	(4047, 3051)
			fill_color 	13434879
			nlines     	1
			max_width  	162
			justify    	0
			label      	"Port")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D9170286"
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Service" @222
		    ShowCompartmentStereotypes 	TRUE
		    location   	(3936, 2928)
		    label      	(object ItemLabel
			Parent_View 	@222
			location   	(3855, 2875)
			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" @223
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3552, 944)
		    label      	(object ItemLabel
			Parent_View 	@223
			location   	(3159, 920)
			fill_color 	13434879
			nlines     	1
			max_width  	786
			justify    	0
			label      	"IExtensibilityElement")
		    stereotype 	(object ItemLabel
			Parent_View 	@223
			location   	(3159, 870)
			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" @224
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1296, 3008)
		    label      	(object ItemLabel
			Parent_View 	@224
			location   	(1215, 2956)
			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" @225
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1664, 1456)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@225
			location   	(1480, 1404)
			fill_color 	13434879
			nlines     	1
			max_width  	368
			justify    	0
			label      	"ExtensibleElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5FCFA033A"
		    width      	386
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @226
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3568, 1472)
		    label      	(object ItemLabel
			Parent_View 	@226
			location   	(3325, 1364)
			fill_color 	13434879
			nlines     	1
			max_width  	486
			justify    	0
			label      	"ExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5DBB602A9"
		    compartment 	(object Compartment
			Parent_View 	@226
			location   	(3325, 1422)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	465)
		    width      	504
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$25" @227
		    location   	(2586, 1443)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$26" @228
			    Parent_View 	@227
			    location   	(1418, 1331)
			    label      	(object SegLabel @229
				Parent_View 	@228
				location   	(2003, 1402)
				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   	@225
			    line_style 	3
			    origin_attachment 	(2586, 1443)
			    terminal_attachment 	(1857, 1443)
			    label      	(object SegLabel @230
				Parent_View 	@228
				location   	(1975, 1399)
				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   	(1418, 1331)
			    label      	(object SegLabel @232
				Parent_View 	@231
				location   	(2862, 1293)
				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 	(2586, 1443)
			    terminal_attachment 	(3316, 1443)
			    label      	(object SegLabel @233
				Parent_View 	@231
				location   	(3104, 1398)
				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   	(3047, 1535)
				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   	(2496, 992)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@235
			location   	(2104, 884)
			fill_color 	13434879
			nlines     	1
			max_width  	784
			justify    	0
			label      	"WSDLElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C6A302DD"
		    compartment 	(object Compartment
			Parent_View 	@235
			location   	(2104, 947)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	756)
		    width      	802
		    height     	240
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @236
		    location   	(2494, 1206)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@235
		    vertices   	(list Points
			(2494, 1206)
			(2494, 1112)))
		(object InheritView "" @237
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84B14903D0"
		    client     	@226
		    supplier   	@223
		    line_style 	3
		    origin_attachment 	(3676, 1352)
		    terminal_attachment 	(3676, 1030))
		(object InheritView "" @238
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3BDDF53502C3"
		    client     	@226
		    supplier   	@235
		    line_style 	3
		    origin_attachment 	(3425, 1352)
		    terminal_attachment 	(3425, 1206)
		    drawSupplier 	@236)
		(object ClassView "Class" "Logical View::wsdl::UnknownExtensibilityElement" @239
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3856, 2032)
		    label      	(object ItemLabel
			Parent_View 	@239
			location   	(3571, 1980)
			fill_color 	13434879
			nlines     	1
			max_width  	570
			justify    	0
			label      	"UnknownExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3CB24AC002AE"
		    width      	588
		    height     	128
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @240
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CB24AEC01CB"
		    client     	@239
		    supplier   	@226
		    line_style 	3
		    origin_attachment 	(3705, 1968)
		    terminal_attachment 	(3705, 1592))
		(object AssociationViewNew "$UNNAMED$63" @241
		    location   	(4366, 2358)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F7896A2026E"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$64" @242
			    Parent_View 	@241
			    location   	(2334, 966)
			    label      	(object SegLabel @243
				Parent_View 	@242
				location   	(4306, 2004)
				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
				(4366, 2358)
				(4488, 2358)
				(4488, 2045)
				(4150, 2045))
			    line_style 	3
			    origin_attachment 	(4366, 2358)
			    terminal_attachment 	(4150, 2045)
			    label      	(object SegLabel @244
				Parent_View 	@242
				location   	(4227, 2099)
				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   	(2334, 966)
			    label      	(object SegLabel @246
				Parent_View 	@245
				location   	(3738, 2253)
				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
				(4366, 2358)
				(3855, 2358)
				(3855, 2096))
			    line_style 	3
			    origin_attachment 	(4366, 2358)
			    terminal_attachment 	(3855, 2096)
			    label      	(object SegLabel @247
				Parent_View 	@245
				location   	(3909, 2174)
				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   	(2768, 2992)
		    label      	(object ItemLabel
			Parent_View 	@248
			location   	(2686, 2939)
			fill_color 	13434879
			nlines     	1
			max_width  	164
			justify    	0
			label      	"Binding")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5D2860261"
		    width      	182
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::PortType" @249
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1888, 3008)
		    label      	(object ItemLabel
			Parent_View 	@249
			location   	(1790, 2955)
			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" @250
		    ShowCompartmentStereotypes 	TRUE
		    location   	(2880, 3264)
		    label      	(object ItemLabel
			Parent_View 	@250
			location   	(2707, 3211)
			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" @251
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2672, 3840)
		    label      	(object ItemLabel
			Parent_View 	@251
			location   	(2591, 3787)
			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" @252
		    ShowCompartmentStereotypes 	TRUE
		    location   	(3776, 3440)
		    label      	(object ItemLabel
			Parent_View 	@252
			location   	(3648, 3387)
			fill_color 	13434879
			nlines     	1
			max_width  	256
			justify    	0
			label      	"BindingFault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A9E03A6"
		    width      	274
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Import" @253
		    ShowCompartmentStereotypes 	TRUE
		    location   	(1088, 3008)
		    label      	(object ItemLabel
			Parent_View 	@253
			location   	(1007, 2955)
			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 ClassView "Class" "Logical View::wsdl::Definition" @254
		    ShowCompartmentStereotypes 	TRUE
		    location   	(912, 2800)
		    label      	(object ItemLabel
			Parent_View 	@254
			location   	(812, 2747)
			fill_color 	13434879
			nlines     	1
			max_width  	200
			justify    	0
			label      	"Definition")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5E43F008E"
		    width      	218
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Input" @255
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2256, 3840)
		    label      	(object ItemLabel
			Parent_View 	@255
			location   	(2175, 3787)
			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" @256
		    ShowCompartmentStereotypes 	TRUE
		    location   	(3104, 3440)
		    label      	(object ItemLabel
			Parent_View 	@256
			location   	(2976, 3387)
			fill_color 	13434879
			nlines     	1
			max_width  	256
			justify    	0
			label      	"BindingInput")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A8202D4"
		    width      	274
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Output" @257
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2464, 3840)
		    label      	(object ItemLabel
			Parent_View 	@257
			location   	(2383, 3787)
			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" @258
		    ShowCompartmentStereotypes 	TRUE
		    location   	(3440, 3440)
		    label      	(object ItemLabel
			Parent_View 	@258
			location   	(3295, 3387)
			fill_color 	13434879
			nlines     	1
			max_width  	290
			justify    	0
			label      	"BindingOutput")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AE08A8F028C"
		    width      	308
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Operation" @259
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2032, 3264)
		    label      	(object ItemLabel
			Parent_View 	@259
			location   	(1926, 3211)
			fill_color 	13434879
			nlines     	1
			max_width  	212
			justify    	0
			label      	"Operation")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5C80D03CE"
		    width      	230
		    height     	130
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Part" @260
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1680, 3264)
		    label      	(object ItemLabel
			Parent_View 	@260
			location   	(1599, 3211)
			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 ClassView "Class" "Logical View::wsdl::Message" @261
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1536, 3008)
		    label      	(object ItemLabel
			Parent_View 	@261
			location   	(1437, 2955)
			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 ClassView "Class" "Logical View::wsdl::MessageReference" @262
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2432, 3232)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@262
			location   	(2240, 3150)
			fill_color 	13434879
			nlines     	1
			max_width  	384
			justify    	0
			label      	"MessageReference")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3F6771DB02DC"
		    width      	402
		    height     	188
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @263
		    location   	(2505, 3418)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@262
		    vertices   	(list Points
			(2505, 3418)
			(2505, 3326)))
		(object InheritView "" @264
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67722802E7"
		    client     	@255
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(2235, 3775)
		    terminal_attachment 	(2235, 3418)
		    drawSupplier 	@263)
		(object InheritView "" @265
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723D0319"
		    client     	@251
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(2653, 3775)
		    terminal_attachment 	(2653, 3418)
		    drawSupplier 	@263)
		(object ClassView "Class" "Logical View::wsdl::IElementExtensible" @266
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1664, 336)
		    label      	(object ItemLabel
			Parent_View 	@266
			location   	(1213, 261)
			fill_color 	13434879
			nlines     	1
			max_width  	903
			justify    	0
			label      	"IElementExtensible")
		    stereotype 	(object ItemLabel
			Parent_View 	@266
			location   	(1213, 211)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	903
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E04B000DA"
		    compartment 	(object Compartment
			Parent_View 	@266
			location   	(1213, 319)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	534)
		    width      	921
		    height     	274
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @267
		    location   	(1662, 2595)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@225
		    vertices   	(list Points
			(1662, 2595)
			(1662, 1520)))
		(object InheritView "" @268
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@224
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(1235, 2944)
		    terminal_attachment 	(1235, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @269
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA0F02F0"
		    client     	@248
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(2758, 2927)
		    terminal_attachment 	(2758, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @270
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE0938602C9"
		    client     	@252
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(3771, 3375)
		    terminal_attachment 	(3771, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @271
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B59B0072"
		    client     	@256
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(3099, 3375)
		    terminal_attachment 	(3099, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @272
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B85B5A4027E"
		    client     	@258
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(3435, 3375)
		    terminal_attachment 	(3435, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @273
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AE9DE98003C"
		    client     	@259
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(2027, 3199)
		    terminal_attachment 	(2027, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @274
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FDB803D4"
		    client     	@254
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(971, 2735)
		    terminal_attachment 	(971, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @275
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD6009202F7"
		    client     	@250
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(2867, 3199)
		    terminal_attachment 	(2867, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @276
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FA20025E"
		    client     	@222
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(3913, 2863)
		    terminal_attachment 	(3913, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @277
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD600CB00AA"
		    client     	@221
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(4105, 3039)
		    terminal_attachment 	(4105, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @278
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5D05501C4"
		    client     	@261
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(1477, 2943)
		    terminal_attachment 	(1477, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @279
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5EE58037A"
		    client     	@253
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(1028, 2943)
		    terminal_attachment 	(1028, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @280
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B897E230237"
		    client     	@260
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(1668, 3199)
		    terminal_attachment 	(1668, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @281
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5C9B70150"
		    client     	@249
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(1872, 2943)
		    terminal_attachment 	(1872, 2595)
		    drawSupplier 	@267)
		(object InheritView "" @282
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F762A6A0308"
		    client     	@262
		    supplier   	@225
		    line_style 	3
		    origin_attachment 	(2408, 3138)
		    terminal_attachment 	(2408, 2595)
		    drawSupplier 	@267)
		(object ClassView "Class" "Logical View::wsdl::IAttributeExtensible" @283
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(944, 768)
		    label      	(object ItemLabel
			Parent_View 	@283
			location   	(401, 605)
			fill_color 	13434879
			nlines     	1
			max_width  	1086
			justify    	0
			label      	"IAttributeExtensible")
		    stereotype 	(object ItemLabel
			Parent_View 	@283
			location   	(401, 555)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	1086
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E063F02AF"
		    compartment 	(object Compartment
			Parent_View 	@283
			location   	(401, 663)
			icon_style 	"Icon"
			fill_color 	13434879
			anchor     	2
			nlines     	6
			max_width  	1087)
		    width      	1104
		    height     	450
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @284
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FE3C03D4"
		    client     	@225
		    supplier   	@235
		    line_style 	3
		    origin_attachment 	(1774, 1392)
		    terminal_attachment 	(1774, 1206)
		    drawSupplier 	@236)
		(object InheritView "" @285
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E05C20290"
		    client     	@225
		    supplier   	@266
		    line_style 	0)
		(object InheritView "" @286
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"49657F06007D"
		    client     	@225
		    supplier   	@283
		    line_style 	0)
		(object InheritView "" @287
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F67723500DD"
		    client     	@257
		    supplier   	@262
		    line_style 	3
		    origin_attachment 	(2447, 3775)
		    terminal_attachment 	(2447, 3418)
		    drawSupplier 	@263)))
	(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" @288
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1712, 224)
		    label      	(object ItemLabel
			Parent_View 	@288
			location   	(1422, 177)
			fill_color 	13434879
			nlines     	1
			max_width  	580
			justify    	0
			label      	"IImport")
		    stereotype 	(object ItemLabel
			Parent_View 	@288
			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" @289
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(432, 1136)
		    label      	(object ItemLabel
			Parent_View 	@289
			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" @290
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1632, 1216)
		    label      	(object ItemLabel
			Parent_View 	@290
			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" @291
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(400, 384)
		    label      	(object ItemLabel
			Parent_View 	@291
			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" @292
		    location   	(309, 786)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3D55002D"
		    roleview_list 	(list RoleViews
			(object RoleView "eNamespaces" @293
			    Parent_View 	@292
			    location   	(-91, 258)
			    label      	(object SegLabel @294
				Parent_View 	@293
				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     	@292
			    supplier   	@289
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 1029)
			    label      	(object SegLabel @295
				Parent_View 	@293
				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 @296
				Parent_View 	@293
				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" @297
			    Parent_View 	@292
			    location   	(-91, 258)
			    label      	(object SegLabel @298
				Parent_View 	@297
				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     	@292
			    supplier   	@291
			    line_style 	3
			    origin_attachment 	(309, 786)
			    terminal_attachment 	(309, 544)
			    label      	(object SegLabel @299
				Parent_View 	@297
				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" @300
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1472, 720)
		    label      	(object ItemLabel
			Parent_View 	@300
			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" @301
		    location   	(1486, 1001)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1DCC02E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eSchema" @302
			    Parent_View 	@301
			    location   	(510, -103)
			    label      	(object SegLabel @303
				Parent_View 	@302
				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     	@301
			    supplier   	@290
			    vertices   	(list Points
				(1486, 1001)
				(1632, 1001)
				(1632, 1130))
			    line_style 	3
			    origin_attachment 	(1486, 1001)
			    terminal_attachment 	(1632, 1130)
			    label      	(object SegLabel @304
				Parent_View 	@302
				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" @305
			    Parent_View 	@301
			    location   	(510, -103)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1DCE027A"
			    client     	@301
			    supplier   	@300
			    line_style 	3
			    origin_attachment 	(1486, 1000)
			    terminal_attachment 	(1486, 872))))
		(object AssociationViewNew "$UNNAMED$43" @306
		    location   	(1087, 403)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AEA3E3A002D"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$44" @307
			    Parent_View 	@306
			    location   	(687, -125)
			    label      	(object SegLabel @308
				Parent_View 	@307
				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     	@306
			    supplier   	@300
			    vertices   	(list Points
				(1087, 403)
				(1364, 403)
				(1364, 568))
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(1364, 568))
			(object RoleView "eDefinition" @309
			    Parent_View 	@306
			    location   	(687, -125)
			    label      	(object SegLabel @310
				Parent_View 	@309
				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     	@306
			    supplier   	@291
			    line_style 	3
			    origin_attachment 	(1087, 403)
			    terminal_attachment 	(645, 403)
			    label      	(object SegLabel @311
				Parent_View 	@309
				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" @312
		    location   	(737, 826)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C864DFF02EC"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$14" @313
			    Parent_View 	@312
			    location   	(-671, 106)
			    label      	(object SegLabel @314
				Parent_View 	@313
				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     	@312
			    supplier   	@291
			    vertices   	(list Points
				(737, 826)
				(510, 826)
				(510, 544))
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(510, 544)
			    label      	(object SegLabel @315
				Parent_View 	@313
				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" @316
			    Parent_View 	@312
			    location   	(-671, 106)
			    label      	(object SegLabel @317
				Parent_View 	@316
				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     	@312
			    supplier   	@300
			    line_style 	3
			    origin_attachment 	(737, 826)
			    terminal_attachment 	(1246, 826)
			    label      	(object SegLabel @318
				Parent_View 	@316
				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 @319
				Parent_View 	@316
				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 "" @320
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3F6F200D0340"
		    client     	@300
		    supplier   	@288
		    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" @321
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1232)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@321
			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" @322
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1136, 1600)
		    label      	(object ItemLabel
			Parent_View 	@322
			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" @323
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1280, 1968)
		    label      	(object ItemLabel
			Parent_View 	@323
			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"
		    compartment 	(object Compartment
			Parent_View 	@323
			location   	(1022, 1883)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	409)
		    width      	535
		    height     	305
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Part" @324
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(352, 1184)
		    label      	(object ItemLabel
			Parent_View 	@324
			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"
		    compartment 	(object Compartment
			Parent_View 	@324
			location   	(128, 1122)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	484)
		    width      	466
		    height     	258
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$51" @325
		    location   	(735, 1172)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1BE900C4"
		    roleview_list 	(list RoleViews
			(object RoleView "typeDefinition" @326
			    Parent_View 	@325
			    location   	(143, 676)
			    label      	(object SegLabel @327
				Parent_View 	@326
				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     	@325
			    supplier   	@321
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(886, 1172)
			    label      	(object SegLabel @328
				Parent_View 	@326
				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" @329
			    Parent_View 	@325
			    location   	(143, 676)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1BE90331"
			    client     	@325
			    supplier   	@324
			    line_style 	3
			    origin_attachment 	(735, 1172)
			    terminal_attachment 	(585, 1172))))
		(object AssociationViewNew "$UNNAMED$53" @330
		    location   	(527, 1592)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8B1C1203B2"
		    roleview_list 	(list RoleViews
			(object RoleView "elementDeclaration" @331
			    Parent_View 	@330
			    location   	(-65, 1096)
			    label      	(object SegLabel @332
				Parent_View 	@331
				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     	@330
			    supplier   	@322
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(897, 1592)
			    label      	(object SegLabel @333
				Parent_View 	@331
				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" @334
			    Parent_View 	@330
			    location   	(-65, 1096)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3B8B1C140026"
			    client     	@330
			    supplier   	@324
			    vertices   	(list Points
				(527, 1592)
				(437, 1592)
				(437, 1313))
			    line_style 	3
			    origin_attachment 	(527, 1592)
			    terminal_attachment 	(437, 1313))))
		(object AssociationViewNew "$UNNAMED$57" @335
		    location   	(322, 1911)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3C46829303E5"
		    roleview_list 	(list RoleViews
			(object RoleView "eMessage" @336
			    Parent_View 	@335
			    location   	(-14, 1191)
			    label      	(object SegLabel @337
				Parent_View 	@336
				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     	@335
			    supplier   	@323
			    line_style 	3
			    origin_attachment 	(322, 1911)
			    terminal_attachment 	(1013, 1911)
			    label      	(object SegLabel @338
				Parent_View 	@336
				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" @339
			    Parent_View 	@335
			    location   	(-14, 1191)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3C4682960118"
			    client     	@335
			    supplier   	@324
			    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" @340
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(800, 608)
		    label      	(object ItemLabel
			Parent_View 	@340
			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"
		    compartment 	(object Compartment
			Parent_View 	@340
			location   	(615, 567)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	312)
		    width      	389
		    height     	216
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::Definition" @341
		    ShowCompartmentStereotypes 	TRUE
		    location   	(176, 160)
		    label      	(object ItemLabel
			Parent_View 	@341
			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" @342
		    location   	(234, 604)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEA27029F"
		    roleview_list 	(list RoleViews
			(object RoleView "eTypes" @343
			    Parent_View 	@342
			    location   	(-150, 396)
			    label      	(object SegLabel @344
				Parent_View 	@343
				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     	@342
			    supplier   	@340
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(606, 604)
			    label      	(object SegLabel @345
				Parent_View 	@343
				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" @346
			    Parent_View 	@342
			    location   	(-150, 396)
			    label      	(object SegLabel @347
				Parent_View 	@346
				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     	@342
			    supplier   	@341
			    vertices   	(list Points
				(234, 604)
				(174, 604)
				(174, 225))
			    line_style 	3
			    origin_attachment 	(234, 604)
			    terminal_attachment 	(174, 225)
			    label      	(object SegLabel @348
				Parent_View 	@346
				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" @349
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(640, 224)
		    label      	(object ItemLabel
			Parent_View 	@349
			location   	(525, 203)
			fill_color 	13434879
			nlines     	1
			max_width  	230
			justify    	0
			label      	"ITypes")
		    stereotype 	(object ItemLabel
			Parent_View 	@349
			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" @350
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1728, 800)
		    label      	(object ItemLabel
			Parent_View 	@350
			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"
		    compartment 	(object Compartment
			Parent_View 	@350
			location   	(1359, 808)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	540)
		    width      	757
		    height     	118
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::xsd::XSDSchema" @351
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1856, 1216)
		    label      	(object ItemLabel
			Parent_View 	@351
			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" @352
		    location   	(1826, 975)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3614500F2"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$60" @353
			    Parent_View 	@352
			    location   	(306, 447)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"3CC36146023D"
			    client     	@352
			    supplier   	@350
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 859)
			    label      	(object SegLabel @354
				Parent_View 	@353
				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" @355
			    Parent_View 	@352
			    location   	(306, 447)
			    label      	(object SegLabel @356
				Parent_View 	@355
				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     	@352
			    supplier   	@351
			    line_style 	3
			    origin_attachment 	(1826, 975)
			    terminal_attachment 	(1826, 1091)
			    label      	(object SegLabel @357
				Parent_View 	@355
				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 "" @358
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CADCD3B0380"
		    client     	@340
		    supplier   	@349
		    line_style 	3
		    origin_attachment 	(705, 500)
		    terminal_attachment 	(705, 307))
		(object ClassView "Class" "Logical View::wsdl::ExtensibleElement" @359
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1056, 224)
		    font       	(object Font
			italics    	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@359
			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 "" @360
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B8BEB010311"
		    client     	@340
		    supplier   	@359
		    line_style 	3
		    origin_attachment 	(854, 500)
		    terminal_attachment 	(854, 330))
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @361
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(1824, 464)
		    label      	(object ItemLabel
			Parent_View 	@361
			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"
		    compartment 	(object Compartment
			Parent_View 	@361
			location   	(1490, 423)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	465)
		    width      	687
		    height     	216
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$25" @362
		    location   	(1206, 493)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5FD130079"
		    roleview_list 	(list RoleViews
			(object RoleView "$UNNAMED$26" @363
			    Parent_View 	@362
			    location   	(-586, 237)
			    label      	(object SegLabel @364
				Parent_View 	@363
				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     	@362
			    supplier   	@359
			    vertices   	(list Points
				(1206, 493)
				(1094, 493)
				(1094, 330))
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1094, 330)
			    label      	(object SegLabel @365
				Parent_View 	@363
				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" @366
			    Parent_View 	@362
			    location   	(-586, 237)
			    label      	(object SegLabel @367
				Parent_View 	@366
				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     	@362
			    supplier   	@361
			    line_style 	3
			    origin_attachment 	(1206, 493)
			    terminal_attachment 	(1481, 493)
			    label      	(object SegLabel @368
				Parent_View 	@366
				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 @369
				Parent_View 	@366
				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 "" @370
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3627F00B7"
		    client     	@350
		    supplier   	@361
		    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" @371
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 224)
		    label      	(object ItemLabel
			Parent_View 	@371
			location   	(267, 122)
			fill_color 	13434879
			nlines     	1
			max_width  	362
			justify    	0
			label      	"IMessage")
		    stereotype 	(object ItemLabel
			Parent_View 	@371
			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" @372
		    ShowCompartmentStereotypes 	TRUE
		    SuppressAttribute 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1328, 224)
		    label      	(object ItemLabel
			Parent_View 	@372
			location   	(1029, 124)
			fill_color 	13434879
			nlines     	1
			max_width  	599
			justify    	0
			label      	"IPart")
		    stereotype 	(object ItemLabel
			Parent_View 	@372
			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" @373
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1312, 816)
		    label      	(object ItemLabel
			Parent_View 	@373
			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 "" @374
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A96D02F1"
		    client     	@373
		    supplier   	@372
		    line_style 	3
		    origin_attachment 	(1304, 678)
		    terminal_attachment 	(1304, 386))
		(object ClassView "Class" "Logical View::wsdl::Message" @375
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(448, 656)
		    label      	(object ItemLabel
			Parent_View 	@375
			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 "" @376
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3B84A8D102BA"
		    client     	@375
		    supplier   	@371
		    line_style 	3
		    origin_attachment 	(445, 495)
		    terminal_attachment 	(445, 388))
		(object AssociationViewNew "$UNNAMED$1" @377
		    location   	(688, 952)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3AD5CEBE00E2"
		    roleview_list 	(list RoleViews
			(object RoleView "eParts" @378
			    Parent_View 	@377
			    location   	(176, 328)
			    label      	(object SegLabel @379
				Parent_View 	@378
				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     	@377
			    supplier   	@373
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(1066, 952)
			    label      	(object SegLabel @380
				Parent_View 	@378
				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 @381
				Parent_View 	@378
				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" @382
			    Parent_View 	@377
			    location   	(176, 328)
			    label      	(object SegLabel @383
				Parent_View 	@382
				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     	@377
			    supplier   	@375
			    vertices   	(list Points
				(688, 952)
				(445, 952)
				(445, 817))
			    line_style 	3
			    origin_attachment 	(688, 952)
			    terminal_attachment 	(445, 817)
			    label      	(object SegLabel @384
				Parent_View 	@382
				location   	(393, 912)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..1"
				pctDist    	0.747604
				height     	53
				orientation 	0))))))
	(object ClassDiagram "JWSDL"
	    quid       	"490E215E0109"
	    title      	"JWSDL"
	    zoom       	80
	    max_height 	28350
	    max_width  	21600
	    origin_x   	1570
	    origin_y   	1862
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::IElementExtensible" @385
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1344, 1904)
		    label      	(object ItemLabel
			Parent_View 	@385
			location   	(748, 1795)
			fill_color 	13434879
			nlines     	1
			max_width  	1192
			justify    	0
			label      	"IElementExtensible")
		    stereotype 	(object ItemLabel
			Parent_View 	@385
			location   	(748, 1745)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	1192
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E04B000DA"
		    compartment 	(object Compartment
			Parent_View 	@385
			location   	(748, 1856)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	1200)
		    width      	1210
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IAttributeExtensible" @386
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2240, 528)
		    label      	(object ItemLabel
			Parent_View 	@386
			location   	(1700, 369)
			fill_color 	13434879
			nlines     	1
			max_width  	1080
			justify    	0
			label      	"IAttributeExtensible")
		    stereotype 	(object ItemLabel
			Parent_View 	@386
			location   	(1700, 319)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	1080
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E063F02AF"
		    width      	1098
		    height     	442
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IInput" @387
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2064, 1344)
		    label      	(object ItemLabel
			Parent_View 	@387
			location   	(1757, 1235)
			fill_color 	13434879
			nlines     	1
			max_width  	614
			justify    	0
			label      	"IInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@387
			location   	(1757, 1185)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	614
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A7EE0015"
		    width      	632
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IOutput" @388
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2768, 1344)
		    label      	(object ItemLabel
			Parent_View 	@388
			location   	(2444, 1235)
			fill_color 	13434879
			nlines     	1
			max_width  	648
			justify    	0
			label      	"IOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@388
			location   	(2444, 1185)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	648
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A829027D"
		    width      	666
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IFault" @389
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3472, 1344)
		    label      	(object ItemLabel
			Parent_View 	@389
			location   	(3163, 1235)
			fill_color 	13434879
			nlines     	1
			max_width  	618
			justify    	0
			label      	"IFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@389
			location   	(3163, 1185)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	618
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A861031D"
		    width      	636
		    height     	342
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IPortType" @390
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1264, 1392)
		    label      	(object ItemLabel
			Parent_View 	@390
			location   	(920, 1258)
			fill_color 	13434879
			nlines     	1
			max_width  	688
			justify    	0
			label      	"IPortType")
		    stereotype 	(object ItemLabel
			Parent_View 	@390
			location   	(920, 1208)
			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      	"3B84A5BE0331"
		    width      	706
		    height     	392
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @391
		    location   	(2240, 864)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@386
		    vertices   	(list Points
			(2240, 864)
			(2240, 749)))
		(object InheritView "" @392
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E219F0186"
		    client     	@390
		    supplier   	@386
		    line_style 	3
		    origin_attachment 	(1264, 1196)
		    terminal_attachment 	(1264, 864)
		    drawSupplier 	@391)
		(object InheritView "" @393
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E223502AF"
		    client     	@387
		    supplier   	@386
		    line_style 	3
		    origin_attachment 	(2064, 1173)
		    terminal_attachment 	(2064, 864)
		    drawSupplier 	@391)
		(object InheritView "" @394
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E22390157"
		    client     	@388
		    supplier   	@386
		    line_style 	3
		    origin_attachment 	(2768, 1173)
		    terminal_attachment 	(2768, 864)
		    drawSupplier 	@391)
		(object InheritView "" @395
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E2241008C"
		    client     	@389
		    supplier   	@386
		    line_style 	3
		    origin_attachment 	(3231, 1173)
		    terminal_attachment 	(3231, 864)
		    drawSupplier 	@391)
		(object ClassView "Class" "Logical View::wsdl::IImport" @396
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(512, 1312)
		    label      	(object ItemLabel
			Parent_View 	@396
			location   	(193, 1253)
			fill_color 	13434879
			nlines     	1
			max_width  	638
			justify    	0
			label      	"IImport")
		    stereotype 	(object ItemLabel
			Parent_View 	@396
			location   	(193, 1203)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	638
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84B2020119"
		    width      	656
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @397
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E224E02CE"
		    client     	@396
		    supplier   	@386
		    line_style 	3
		    origin_attachment 	(512, 1191)
		    terminal_attachment 	(512, 864)
		    drawSupplier 	@391)
		(object ClassView "Class" "Logical View::wsdl::IDefinition" @398
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    location   	(352, 2544)
		    label      	(object ItemLabel
			Parent_View 	@398
			location   	(6, 2485)
			fill_color 	13434879
			nlines     	1
			max_width  	692
			justify    	0
			label      	"IDefinition")
		    stereotype 	(object ItemLabel
			Parent_View 	@398
			location   	(6, 2435)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	692
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84B1D90142"
		    width      	710
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IOperation" @399
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1216, 2752)
		    label      	(object ItemLabel
			Parent_View 	@399
			location   	(865, 2468)
			fill_color 	13434879
			nlines     	1
			max_width  	702
			justify    	0
			label      	"IOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@399
			location   	(865, 2418)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	702
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A77600D1"
		    compartment 	(object Compartment
			Parent_View 	@399
			location   	(865, 2529)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	11
			max_width  	709)
		    width      	720
		    height     	692
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IMessage" @400
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2032, 2640)
		    label      	(object ItemLabel
			Parent_View 	@400
			location   	(1686, 2481)
			fill_color 	13434879
			nlines     	1
			max_width  	692
			justify    	0
			label      	"IMessage")
		    stereotype 	(object ItemLabel
			Parent_View 	@400
			location   	(1686, 2431)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	692
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A8AF004F"
		    compartment 	(object Compartment
			Parent_View 	@400
			location   	(1686, 2542)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	6
			max_width  	700)
		    width      	710
		    height     	442
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IPart" @401
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4176, 1296)
		    label      	(object ItemLabel
			Parent_View 	@401
			location   	(3875, 1237)
			fill_color 	13434879
			nlines     	1
			max_width  	602
			justify    	0
			label      	"IPart")
		    stereotype 	(object ItemLabel
			Parent_View 	@401
			location   	(3875, 1187)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	602
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84A93F01BE"
		    width      	620
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @402
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23670242"
		    client     	@401
		    supplier   	@386
		    line_style 	3
		    origin_attachment 	(4175, 1175)
		    terminal_attachment 	(4175, 864)
		    drawSupplier 	@391)
		(object ClassView "Class" "Logical View::wsdl::IService" @403
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2864, 2624)
		    label      	(object ItemLabel
			Parent_View 	@403
			location   	(2528, 2487)
			fill_color 	13434879
			nlines     	1
			max_width  	672
			justify    	0
			label      	"IService")
		    stereotype 	(object ItemLabel
			Parent_View 	@403
			location   	(2528, 2437)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	672
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AB490287"
		    compartment 	(object Compartment
			Parent_View 	@403
			location   	(2528, 2548)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	5
			max_width  	665)
		    width      	690
		    height     	398
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IPort" @404
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(736, 3360)
		    label      	(object ItemLabel
			Parent_View 	@404
			location   	(432, 3248)
			fill_color 	13434879
			nlines     	1
			max_width  	608
			justify    	0
			label      	"IPort")
		    stereotype 	(object ItemLabel
			Parent_View 	@404
			location   	(432, 3198)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	608
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AB800326"
		    width      	626
		    height     	348
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBinding" @405
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1648, 3568)
		    label      	(object ItemLabel
			Parent_View 	@405
			location   	(1309, 3380)
			fill_color 	13434879
			nlines     	1
			max_width  	678
			justify    	0
			label      	"IBinding")
		    stereotype 	(object ItemLabel
			Parent_View 	@405
			location   	(1309, 3330)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	678
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84ABC60219"
		    compartment 	(object Compartment
			Parent_View 	@405
			location   	(1309, 3441)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	7
			max_width  	668)
		    width      	696
		    height     	500
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingOperation" @406
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2480, 4240)
		    label      	(object ItemLabel
			Parent_View 	@406
			location   	(2049, 3950)
			fill_color 	13434879
			nlines     	1
			max_width  	862
			justify    	0
			label      	"IBindingOperation")
		    stereotype 	(object ItemLabel
			Parent_View 	@406
			location   	(2049, 3900)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	862
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84ADC00072"
		    compartment 	(object Compartment
			Parent_View 	@406
			location   	(2049, 4011)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	11
			max_width  	843)
		    width      	880
		    height     	704
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingInput" @407
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3296, 3072)
		    label      	(object ItemLabel
			Parent_View 	@407
			location   	(2910, 3011)
			fill_color 	13434879
			nlines     	1
			max_width  	772
			justify    	0
			label      	"IBindingInput")
		    stereotype 	(object ItemLabel
			Parent_View 	@407
			location   	(2910, 2961)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	772
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84ADEB0100"
		    compartment 	(object Compartment
			Parent_View 	@407
			location   	(2910, 3072)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	756)
		    width      	790
		    height     	246
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingOutput" @408
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(3760, 3424)
		    label      	(object ItemLabel
			Parent_View 	@408
			location   	(3358, 3363)
			fill_color 	13434879
			nlines     	1
			max_width  	804
			justify    	0
			label      	"IBindingOutput")
		    stereotype 	(object ItemLabel
			Parent_View 	@408
			location   	(3358, 3313)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	804
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AE210111"
		    compartment 	(object Compartment
			Parent_View 	@408
			location   	(3358, 3424)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	790)
		    width      	822
		    height     	246
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IBindingFault" @409
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(4400, 3808)
		    label      	(object ItemLabel
			Parent_View 	@409
			location   	(4014, 3747)
			fill_color 	13434879
			nlines     	1
			max_width  	772
			justify    	0
			label      	"IBindingFault")
		    stereotype 	(object ItemLabel
			Parent_View 	@409
			location   	(4014, 3697)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	772
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84AE4F00BD"
		    compartment 	(object Compartment
			Parent_View 	@409
			location   	(4014, 3808)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	759)
		    width      	790
		    height     	246
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @410
		    location   	(1318, 2165)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@385
		    vertices   	(list Points
			(1318, 2165)
			(1318, 2075)))
		(object InheritView "" @411
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23D5029F"
		    client     	@399
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(1268, 2406)
		    terminal_attachment 	(1268, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @412
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23DA030D"
		    client     	@400
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(2031, 2419)
		    terminal_attachment 	(2031, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @413
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23D20280"
		    client     	@398
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(352, 2423)
		    terminal_attachment 	(352, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @414
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23E502BF"
		    client     	@403
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(2862, 2425)
		    terminal_attachment 	(2862, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @415
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23EA0119"
		    client     	@404
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(738, 3186)
		    terminal_attachment 	(738, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @416
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23EE00BB"
		    client     	@405
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(1640, 3318)
		    terminal_attachment 	(1640, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @417
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23F30177"
		    client     	@406
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(2484, 3888)
		    terminal_attachment 	(2484, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @418
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23F70232"
		    client     	@407
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(3296, 2949)
		    terminal_attachment 	(3296, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @419
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E23FB00CB"
		    client     	@408
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(3749, 3301)
		    terminal_attachment 	(3749, 2165)
		    drawSupplier 	@410)
		(object InheritView "" @420
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E24050167"
		    client     	@409
		    supplier   	@385
		    line_style 	3
		    origin_attachment 	(4386, 3685)
		    terminal_attachment 	(4386, 2165)
		    drawSupplier 	@410)))
	(object ClassDiagram "Schema"
	    quid       	"490E6FFB02EE"
	    title      	"Schema"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::XSDSchemaExtensibilityElement" @421
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(656, 1280)
		    label      	(object ItemLabel
			Parent_View 	@421
			location   	(339, 974)
			fill_color 	13434879
			nlines     	1
			max_width  	634
			justify    	0
			label      	"XSDSchemaExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3CC360D7039C"
		    compartment 	(object Compartment
			Parent_View 	@421
			location   	(339, 1034)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	540)
		    width      	652
		    height     	636
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::ISchema" @422
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1296, 496)
		    label      	(object ItemLabel
			Parent_View 	@422
			location   	(775, 437)
			fill_color 	13434879
			nlines     	1
			max_width  	1042
			justify    	0
			label      	"ISchema")
		    stereotype 	(object ItemLabel
			Parent_View 	@422
			location   	(775, 387)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	1042
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E71C6006D"
		    compartment 	(object Compartment
			Parent_View 	@422
			location   	(775, 497)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	1050)
		    width      	1060
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @423
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4965689D0128"
		    client     	@421
		    supplier   	@422
		    line_style 	0)
		(object ClassView "Class" "Logical View::wsdl::ExtensibilityElement" @424
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(656, 208)
		    label      	(object ItemLabel
			Parent_View 	@424
			location   	(427, 102)
			fill_color 	13434879
			nlines     	1
			max_width  	458
			justify    	0
			label      	"ExtensibilityElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3AD5DBB602A9"
		    compartment 	(object Compartment
			Parent_View 	@424
			location   	(427, 162)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	3
			max_width  	465)
		    width      	476
		    height     	236
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @425
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"3CC3627F00B7"
		    client     	@421
		    supplier   	@424
		    line_style 	0)))
	(object ClassDiagram "JWSDL"
	    quid       	"490E71F101D4"
	    title      	"JWSDL"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::wsdl::ISchema" @426
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(960, 800)
		    label      	(object ItemLabel
			Parent_View 	@426
			location   	(439, 741)
			fill_color 	13434879
			nlines     	1
			max_width  	1042
			justify    	0
			label      	"ISchema")
		    stereotype 	(object ItemLabel
			Parent_View 	@426
			location   	(439, 691)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	1042
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"490E71C6006D"
		    compartment 	(object Compartment
			Parent_View 	@426
			location   	(439, 801)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	1050)
		    width      	1060
		    height     	242
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::wsdl::IExtensibilityElement" @427
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(960, 224)
		    label      	(object ItemLabel
			Parent_View 	@427
			location   	(406, 142)
			fill_color 	13434879
			nlines     	1
			max_width  	1108
			justify    	0
			label      	"IExtensibilityElement")
		    stereotype 	(object ItemLabel
			Parent_View 	@427
			location   	(406, 92)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	1108
			justify    	0
			label      	"<<Interface>>")
		    icon       	"Interface"
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B84B12402AB"
		    compartment 	(object Compartment
			Parent_View 	@427
			location   	(406, 202)
			icon_style 	"Icon"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	1115)
		    width      	1126
		    height     	288
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @428
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"490E777F032C"
		    client     	@426
		    supplier   	@427
		    line_style 	0)))))
