<?xml version="1.0" encoding="UTF-8"?>
<definitions targetNamespace="http://barra.com/cp/bdtbeans" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:bdt="http://barra.com/cp/bdtbeans" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://barra.com/cp/bdtbeans">

      <xsd:simpleType name="String64Length">
        <xsd:restriction base="xsd:string">
          <xsd:maxLength value="64"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:group name="UserDataSetGroup">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="UserAssets" type="bdt:UserAssets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BarraOneOverrides" type="bdt:BarraOneOverrides"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BarraOneCases" type="bdt:BarraOneCases"/>
        </xsd:sequence>
      </xsd:group>



      <xsd:element name="UserDataSet" type="bdt:UserDataSet"/>
      <xsd:complexType name="UserDataSet">
        <xsd:sequence>
          <xsd:group ref="bdt:UserDataSetGroup"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SubmitImportJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="JobName" type="bdt:String64Length"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ModelName" type="xsd:string"/>
            <!-- Can't refactor this to use common PortfolioDataSetGroup due to incompatibility in generated ADB style code stubs. -->
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="UserAssets" type="bdt:UserAssets"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="Portfolio" type="bdt:Portfolio"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="PortfolioTree" type="bdt:PortfolioTree"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="AssetAttribute" type="bdt:AssetAttribute"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="CurveAttribute" type="bdt:CurveAttribute"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="BarraOneOverrides" type="bdt:BarraOneOverrides"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="BarraOneCases" type="bdt:BarraOneCases"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolAttribute" type="bdt:ImpliedVolAttribute"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="SwaptionImpliedVol" type="bdt:SwaptionImpliedVolAttribute"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="PortfolioAttribute" type="bdt:PortfolioAttribute"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="MarketScenario" type="bdt:MarketScenario"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="MarketConditions" type="bdt:MarketConditions"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="DeletePortfolioTransactions" type="bdt:DeletePortfolioTransactions"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="PortfolioTransactions" type="bdt:PortfolioTransactions"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImportExportStressTestScenario" type="bdt:ImportExportStressTestScenario"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="FactorImportExport" type="bdt:FactorImportExport"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="OptimizerConstraint" type="bdt:OptimizerConstraint"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="SelectiveLookThrough" type="bdt:SelectiveLookThrough"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="BarraOneDeleteAssetData" type="bdt:BarraOneDeleteAssetData"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="RMLOverrideAttribute" type="bdt:RMLOverrideAttribute"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="DeleteRMLOverrideAttribute" type="bdt:DeleteRMLOverrideAttribute"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="OptimizerConstraint">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="OptimizerIssuerConstraint" type="bdt:OptimizerIssuerConstraintValue"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:OptimizerConstraintIdentifier"/>
      </xsd:complexType>

      <xsd:attributeGroup name="OptimizerConstraintIdentifier">
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
      </xsd:attributeGroup>

      <xsd:complexType name="OptimizerIssuerConstraintValue">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="GlobalIssuerBounds" type="bdt:GlobalIssuerBoundsConstraintValue"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="IndividualIssuerBounds" type="bdt:IndividualIssuerBoundsConstraintValue"/>
        </xsd:sequence>
        <xsd:attribute name="OptimizationProfileName" type="xsd:string" use="required"/>
        <xsd:attribute name="OptimizationProfileOwner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="GlobalIssuerBoundsConstraintValue">
        <xsd:attribute default="Net" name="GlobalWeight" type="bdt:WeightEnumValue" use="optional"/>
        <xsd:attribute name="GlobalMin" type="xsd:string" use="optional"/>
        <xsd:attribute name="GlobalMax" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="IndividualIssuerBoundsConstraintValue">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="IndividualIssuerIds" type="bdt:IndividualIssuerIdsValue"/>
        </xsd:sequence>
        <xsd:attribute default="Net" name="IndividualWeight" type="bdt:WeightEnumValue" use="optional"/>
        <xsd:attribute name="IndividualIssuerType" type="bdt:IssuerTypeEnum" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="WeightEnumValue">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Net"/>
          <xsd:enumeration value="Absolute"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="IndividualIssuerIdsValue">
        <xsd:attribute name="IssuerId" type="xsd:string" use="required"/>
        <xsd:attribute name="Min" type="xsd:string" use="optional"/>
        <xsd:attribute name="Max" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ImportExportStressTestScenario">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScenarioFactor" type="bdt:ScenarioFactorType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScenarioMarket" type="bdt:ScenarioMarketType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScenarioDateRange" type="bdt:ScenarioDateRangeType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MultiPeriodScenarioMarket" type="bdt:ScenarioMarketMultiPeriodType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScenarioMultiplePeriodDateRange" type="bdt:ScenarioMultiplePeriodDateRangeType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RebalanceProfile" type="bdt:RebalanceProfileType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InflationAdjustment" type="bdt:InflationAdjustmentType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DefaultAssumptions" type="bdt:DefaultAssumptionsType"/>
        </xsd:sequence>
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="DefaultAssumptionsType">
        <xsd:complexContent>
          <xsd:extension base="bdt:DefaultAssumptionsBaseType">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="1" name="DefaultAssumptionsValues" type="bdt:DefaultAssumptionsValuesType"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="DefaultAssumptionsBaseType">
        <xsd:attributeGroup ref="bdt:DefaultAssumptionsHeaders"/>
      </xsd:complexType>

      <xsd:attributeGroup name="DefaultAssumptionsHeaders">
        <xsd:attribute name="DefaultAssumptionsName" type="xsd:string" use="required"/>
        <xsd:attribute name="Attribute" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupingScheme" type="xsd:string" use="required"/>
        <xsd:attribute default="false" name="PeriodSpecific" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="0" name="NumberOfPeriods" type="xsd:int" use="optional"/>
        <xsd:attribute name="View" type="bdt:DefaultAssumptionViewType" use="required"/>
        <xsd:attribute name="DefaultAssumptionsOwner" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="DefaultAssumptionsValuesType">
        <xsd:choice maxOccurs="unbounded"> <!-- Both cal be present or atleast one has to be present out of the 2. Multiple of both or any one can come based on period length-->
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ProbabilityOfDefaultValues" type="bdt:PeriodValuesTYPE"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RecoveryRateValues" type="bdt:PeriodValuesTYPE"/>
        </xsd:choice>
        <xsd:attribute name="ParentAttribute" type="xsd:string" use="optional"/> <!-- will be needed for future incase we support multiple attributes-->
        <xsd:attribute name="GroupOrAttribute" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="DefaultAssumptionViewType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ALL"/>
          <xsd:enumeration value="PROBABILITYOFDEFAULT"/>
          <xsd:enumeration value="RECOVERYRATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="RebalanceProfileType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Reinvestment" type="bdt:ReinvestmentTYPE"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReallocationStrategy" type="bdt:ReallocationStrategyTYPE"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RebalanceProfileValues" nillable="true" type="bdt:RebalanceProfileValuesTYPE"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TreePortfolioAndLevel" type="bdt:TreePortfolioAndLevelTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="RebalanceProfileName" type="xsd:string" use="required"/>
        <xsd:attribute name="RebalanceProfileOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="RebalanceProfileValuesTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PeriodValues" nillable="true" type="bdt:PeriodValuesTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="ParentAttributeOrTreeName" type="xsd:string" use="optional"/>   <!-- will be needed for future incase we support multiple attributes-->
        <xsd:attribute name="GroupOrPortfolioNode" type="xsd:string" use="optional"/>
        <xsd:attribute name="Initial" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PeriodValuesTYPE">
        <xsd:attribute name="Period" type="xsd:string" use="required"/>   <!-- value of this will be Period1 Period 2 and so on -->
        <xsd:attribute name="PeriodValue" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ReinvestmentTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReinvestmentAttributeNameAndGroupScheme" nillable="true" type="bdt:AttributeNameAndGroupSchemeTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="ReinvestmentType" type="bdt:ReinvestmentTypeEnumTYPE" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ReallocationStrategyTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReallocationAttributeNameAndGroupScheme" nillable="true" type="bdt:AttributeNameAndGroupSchemeTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="ReallocationStrategyType" type="bdt:ReallocationStrategyEnumTYPE" use="required"/>
        <xsd:attribute default="true" name="ReallocationStrategyReweightInitial" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="ReallocationStrategyPeriodSpecific" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="1" name="ReallocationStrategyNumberOfPeriods" type="xsd:int" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="AttributeNameAndGroupSchemeTYPE">
        <xsd:attribute name="AttributeName" type="xsd:string" use="required"/>
        <xsd:attribute name="AttributeOwner" type="xsd:string" use="optional"/>
        <xsd:attribute default="distinct" name="GroupSchemeName" type="xsd:string" use="optional"/>
        <xsd:attribute name="GroupSchemeOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="TreePortfolioAndLevelTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioTreeNameAndOwnerAndLevel" type="bdt:PortfolioTreeNameAndOwnerAndLevelTYPE"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PortfolioTreeNameAndOwnerAndLevelTYPE">
        <xsd:attribute name="PortfolioTree" type="xsd:string" use="required"/>
        <xsd:attribute default="SYSTEM" name="PortfolioOwner" type="xsd:string" use="optional"/>
        <xsd:attribute default="Leaves" name="Levels" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="ReinvestmentTypeEnumTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SELF_FUNDED_WITH_REINVESTMENT"/>
          <xsd:enumeration value="SELF_FUNDED_WITH_CASH_ACCOUNT"/>
          <xsd:enumeration value="PORTFOLIO_FUNDED"/>
          <xsd:enumeration value="GROUP_FUNDED_USING_ATTRIBUTES"/>
          <xsd:enumeration value="GROUP_FUNDED_USING_PORTFOLIO_TREE_LEVELS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ReallocationStrategyEnumTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DRIFT_WEIGHTS"/>
          <xsd:enumeration value="GROUP_ALLOCATION_USING_ATTRIBUTES"/>
          <xsd:enumeration value="GROUP_ALLOCATION_USING_TREE_PORTFOLIO_LEVELS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="InflationAdjustmentType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="InflationAdjustmentValues" type="bdt:InflationAdjustValuesTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="InflationAdjustmentName" type="xsd:string" use="required"/>
        <xsd:attribute default="1" name="NumberOfPeriods" type="xsd:int" use="optional"/>
        <xsd:attribute name="InflationAdjustmentOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="InflationAdjustValuesTYPE">
        <xsd:attribute name="Period" type="xsd:string" use="required"/>
        <xsd:attribute name="InflationAdjustmentValue" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FactorImportExport">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="FactorGroups" type="bdt:FactorGroupsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FactorTree" type="bdt:FactorTreeTYPE"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MissingFactors" type="bdt:MissingFactorsTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
      </xsd:complexType>
      <xsd:complexType name="FactorGroupsType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FactorGroup" type="bdt:FactorGroupType"/>
        </xsd:sequence>
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute name="RiskModel" type="xsd:string" use="optional"/>
        <xsd:attribute name="FactorType" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupingSchemeName" type="xsd:string" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="FactorGroupType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FactorValue" type="bdt:FactorValueType"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="FactorValueType">
        <xsd:attribute name="name" type="xsd:string" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="FactorTreeTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FactorTreeNode" type="bdt:FactorTreeNodeTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="FactorTreeName" type="xsd:string" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="FactorTreeNodeTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FactorTreeFactor" type="bdt:FactorTreeFactorTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="NodeName" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupName" type="xsd:string" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="FactorTreeFactorTYPE">
        <xsd:attribute name="FactorType" type="xsd:string" use="required"/>
        <xsd:attribute name="FactorGroupMember" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:attributeGroup name="StressTestScenarioHeaders">
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="ScenarioType" type="bdt:ScenarioEnum" use="required"/>
        <xsd:attribute name="ScenarioName" type="xsd:string" use="required"/>
        <xsd:attribute name="ScenarioBaseCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute name="CorrelatedMode" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="FloorNominalRatesToZero" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="EnableFullValuation" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ScenarioOwner" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>


      <xsd:complexType name="ScenarioFactorType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ScenarioFactorValues" type="bdt:ScenarioFactorValuesType"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:StressTestScenarioHeaders"/>
        <xsd:attributeGroup ref="bdt:ScenarioFactorHeader"/>
      </xsd:complexType>




      <xsd:complexType name="ScenarioMarketBaseType">
        <xsd:attributeGroup ref="bdt:StressTestScenarioHeaders"/>
        <xsd:attributeGroup ref="bdt:ScenarioMarketHeader"/>
      </xsd:complexType>


      <xsd:complexType name="ScenarioMarketType">
        <xsd:complexContent>
          <xsd:extension base="bdt:ScenarioMarketBaseType">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="1" name="ScenarioMarketValues" type="bdt:ScenarioMarketValuesType"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:attributeGroup name="ScenarioMarketHeader">
        <xsd:attribute name="BetaFilter" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CreditMarket" type="xsd:string" use="optional"/>
        <xsd:attribute name="InterpolateRateShocks" type="xsd:boolean" use="optional"/>
      </xsd:attributeGroup>

      <xsd:attributeGroup name="ScenarioFactorHeader">
        <xsd:attribute name="Equity" type="xsd:string" use="optional"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
        <xsd:attribute name="Inflation" type="xsd:string" use="optional"/>
        <xsd:attribute name="SpreadDTS" type="xsd:string" use="optional"/>
        <xsd:attribute name="SpreadDuration" type="xsd:string" use="optional"/>
        <xsd:attribute name="TermStructure" type="xsd:string" use="optional"/>
        <xsd:attribute name="Commodity" type="xsd:string" use="optional"/>
        <xsd:attribute name="PrivateEquity" type="xsd:string" use="optional"/>
        <xsd:attribute name="PrivateRealEstate" type="xsd:string" use="optional"/>
        <xsd:attribute name="PrivateInfrastructure" type="xsd:string" use="optional"/>
        <xsd:attribute name="PrivateCredit" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="ScenarioMarketMultiPeriodType">
        <xsd:complexContent>
          <xsd:extension base="bdt:ScenarioMarketBaseType">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="1" name="ScenarioMarketMultiPeriodValues" type="bdt:ScenarioMarketMultiPeriodValueType"/>
            </xsd:sequence>
            <xsd:attribute name="NumberOfPeriods" type="xsd:int" use="required"/>
            <xsd:attribute name="PeriodLength" type="xsd:int" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ScenarioDateRangeType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ScenarioDateRangeValues" type="bdt:ScenarioDateRangeValuesType"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:StressTestScenarioHeaders"/>
      </xsd:complexType>

      <xsd:complexType name="ScenarioMultiplePeriodDateRangeType">
        <xsd:complexContent>
          <xsd:extension base="bdt:ScenarioDateRangeType">
            <xsd:attribute default="1" name="PeriodLength" type="xsd:int" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="ScenarioEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FACTOR"/>
          <xsd:enumeration value="MARKET"/>
          <xsd:enumeration value="DATERANGE"/>
          <xsd:enumeration value="MULTI_PERIOD_MARKET"/>
          <xsd:enumeration value="MULTI_PERIOD_DATERANGE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="ScenarioFactorValuesType">
        <xsd:attribute name="AssetClass" type="xsd:string" use="optional"/>
        <xsd:attribute name="FactorGroup" type="xsd:string" use="optional"/>
        <xsd:attribute name="FactorSubGroup" type="xsd:string" use="optional"/>
        <xsd:attribute name="Factor" type="xsd:string" use="required"/>
        <xsd:attribute default="%" name="Unit" type="xsd:string" use="optional"/>
        <xsd:attribute name="Shock" type="xsd:string" use="required"/>
      </xsd:complexType>




      <xsd:complexType name="ScenarioMarketValuesBaseType">

        <xsd:attribute name="Type" type="xsd:string" use="optional"/>
        <xsd:attribute name="Market" type="xsd:string" use="optional"/>
        <xsd:attribute name="FilterAttribute" type="xsd:string" use="optional"/>
        <xsd:attribute name="FilterValue" type="xsd:string" use="optional"/>
        <xsd:attribute name="ShockVariable" type="xsd:string" use="optional"/>
        <xsd:attribute name="ShockUnit" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ScenarioMarketValuesType">
        <xsd:complexContent>
          <xsd:extension base="bdt:ScenarioMarketValuesBaseType">
            <xsd:attribute name="ShockAmount" type="xsd:string" use="optional"/></xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ScenarioMarketMultiPeriodValueType">
        <xsd:complexContent>
          <xsd:extension base="bdt:ScenarioMarketValuesBaseType">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="MultiPeriodShockAmount" type="bdt:MultiPeriodShockAmount">
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="MultiPeriodShockAmount">
        <xsd:attribute name="Period" type="xsd:string" use="required"/>
        <xsd:attribute name="ShockAmount" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ScenarioDateRangeValuesType">
        <xsd:attribute name="FromDate" type="xsd:date" use="required"/>
        <xsd:attribute name="ToDate" type="xsd:date" use="required"/>
        <xsd:attribute default="false" name="Rates" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="true" name="UseAbsoluteValuesforRates" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="Currency" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DateRangeBaseCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="Equity" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="ShockPrivateRealEstateUsingEquityShocks" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="Credit" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="Commodity" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:element name="SubmitImportJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitBbgJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="JobName" type="bdt:String64Length"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="BbgUser" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="BbgPassword" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="BbgKey" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetPrices" type="xsd:boolean"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetTnc" type="xsd:boolean"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AssetList" type="bdt:AssetList"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitBbgJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetImportJobLogRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetImportJobLogCSVRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetImportJobLogCSVResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ImportCSVLog" type="bdt:AttachmentType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetImportJobLogResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ImportLog" type="bdt:ImportLog"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateAttributesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="AttributeDefinition" type="bdt:AttributeDefinition"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateAttributesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="AttributeCreationStatus" type="bdt:AttributeCreationStatus"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteAttributeRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteAttributeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetCoverageRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="EffectiveStartDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="CheckIDsOnly" type="xsd:boolean"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ModelName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ModelOwner" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetIdentifier" type="bdt:AssetIdentifier"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetCoverageResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="RejectedAsset" type="bdt:RejectedAsset"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitFlexExportJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="FlexExportJobParams" type="bdt:FlexExportJobParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="FlexExportJobParams">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="FLEXExportType" type="bdt:FLEXExportType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="EffectiveStartDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ModelName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ModelOwner" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DisplayCurrency" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetIdentifier" type="bdt:AssetIdentifier"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Attributes" type="bdt:Columns"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ExportIDType" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SubmitFlexExportJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetFlexExportJobResultsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetFlexExportJobResultsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="FlexExportJobResults" type="bdt:FlexExportJobResults"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="FlexExportJobResults">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="FLEXAssets" type="bdt:FLEXAssets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FailedFLEXAssets" type="bdt:FailedFLEXAssets"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SubmitAssetProfileJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="EffectiveStartDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ModelName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ModelOwner" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="DisplayCurrency" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetIdentifier" type="bdt:AssetIdentifier"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>



      <xsd:element name="SubmitAssetProfileJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetProfileJobResultsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetProfileJobResultsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="AssetProfile" type="bdt:AssetProfile"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetBFMProcessingStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetIdentifier" type="bdt:AssetIdentifier"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetEstimationStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetIdentifier" type="bdt:AssetIdentifier"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetBFMProcessingStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="BFMProcessingStatus" type="bdt:BFMProcessingStatus"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetEstimationStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="BFMProcessingStatus" type="bdt:BFMProcessingStatus"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="BFMProcessingStatus">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AssetIdentifier" type="bdt:AssetIdentifier"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ExposureDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ConversionDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Status" type="bdt:BFMImportStatus"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Error" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DiagnosticInfo" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RequestTime" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RetryCount" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Created" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="UserName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InstrumentType" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="BFMImportStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PENDING"/>
          <xsd:enumeration value="SENT"/>
          <xsd:enumeration value="SUCCESS"/>
          <xsd:enumeration value="FAILED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="GetImportJobStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetImportJobStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListImportJobsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element default="BDT_JOBS_ONLY" maxOccurs="1" minOccurs="1" name="Filter" type="bdt:ListJobFilter"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListImportJobsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="ImportJobRecords" type="bdt:ImportJobRecords"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListPartnerLinkJobsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListPartnerLinkJobsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="PartnerLinkJobRecords" type="bdt:PartnerLinkJobRecords"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPartnerLinkFilesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPartnerLinkFilesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="Attachment" type="bdt:AttachmentType2ADB"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetLevelReportFileNamesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetLevelReportFileNamesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="FileName" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetLevelReportRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="FileName" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetLevelReportResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="AssetLevelReport" type="bdt:AttachmentType2ADB"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:simpleType name="ListJobFilter">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BDT_JOBS_ONLY"/>
          <xsd:enumeration value="ALL"/>
          <xsd:enumeration value="BPM_UI_JOBS"/>
          <xsd:enumeration value="BARRAONE_UI_JOBS"/>
          <xsd:enumeration value="BPM_BDT_JOBS"/>
          <xsd:enumeration value="BARRAONE_BDT_JOBS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="JobStatusFilter">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ALL"/>
          <xsd:enumeration value="LAST_TEN_COMPLETED"/>
          <xsd:enumeration value="LAST_TEN_ALL"/>
          <xsd:enumeration value="COMPLETED"/>
          <xsd:enumeration value="PENDING"/>
          <xsd:enumeration value="SCHEDULED"/>
          <xsd:enumeration value="FAILED"/>
          <xsd:enumeration value="CANCELLING"/>
          <xsd:enumeration value="CANCELLED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="ListExportJobsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Filter" type="bdt:ListJobFilter"/>
            <xsd:element default="LAST_TEN_ALL" maxOccurs="1" minOccurs="0" name="JobStatusFilter" type="bdt:JobStatusFilter"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListExportJobsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="ExportJobRecords" type="bdt:ExportJobRecords"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>



      <xsd:complexType name="ImportLog">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="LogGroups" nillable="true" type="bdt:ImportLogGroups"/>
          <xsd:element minOccurs="0" name="LogReconErrorGroups" nillable="true" type="bdt:LogReconErrorGroups"/>
        </xsd:sequence>
        <xsd:attribute name="JobName" type="bdt:String64Length" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="LogReconErrorGroups">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="LogReconErrorGroup" nillable="true" type="bdt:LogReconErrorGroup"/>
        </xsd:sequence>
        <xsd:attribute name="AssetReconLogStatus" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="LogReconErrorGroup">
        <xsd:attribute name="Date" type="xsd:date" use="optional"/>
        <xsd:attribute name="PortfolioId" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetId" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetIdType" type="xsd:string" use="optional"/>
        <xsd:attribute name="BarraId" type="xsd:string" use="optional"/>
        <xsd:attribute name="PermId" type="xsd:string" use="optional"/>
        <xsd:attribute name="PositionQuantity" type="xsd:double" use="optional"/>
        <xsd:attribute name="TransactionQuantity" type="xsd:double" use="optional"/>
        <xsd:attribute name="QuantityDifference" type="xsd:double" use="optional"/>
        <xsd:attribute name="AssetName" type="xsd:string" use="optional"/>
        <xsd:attribute name="Cusip" type="xsd:string" use="optional"/>
        <xsd:attribute name="ISIN" type="xsd:string" use="optional"/>
        <xsd:attribute name="Sedol" type="xsd:string" use="optional"/>
        <xsd:attribute name="LocalId" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ImportLogGroup">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="Details" nillable="true" type="bdt:ImportLogDetails"/>
        </xsd:sequence>
        <xsd:attribute name="EffectiveDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute name="Total" type="xsd:int" use="required"/>
        <xsd:attribute name="Rejected" type="xsd:int" use="required"/>
        <xsd:attribute name="Blank" type="xsd:int" use="required"/>
        <xsd:attribute name="Duplicate" type="xsd:int" use="required"/>
        <xsd:attribute name="Deleted" type="xsd:int" use="required"/>
        <xsd:attributeGroup ref="bdt:ImportLogRecord"/>
      </xsd:complexType>

      <xsd:complexType name="ImportLogDetail">
        <xsd:attribute name="Detail1" type="xsd:string" use="required"/>
        <xsd:attribute name="Detail2" type="xsd:string" use="optional"/>
        <xsd:attribute name="Detail3" type="xsd:string" use="optional"/>
        <xsd:attribute name="Detail4" type="xsd:string" use="optional"/>
        <xsd:attributeGroup ref="bdt:ImportLogRecord"/>
      </xsd:complexType>

      <xsd:attributeGroup name="ImportLogRecord">
        <xsd:attribute name="ResultMsg" type="xsd:string" use="optional"/>
        <xsd:attribute name="ResultCode" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="ImportLogGroups">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImportLogGroup" nillable="true" type="bdt:ImportLogGroup"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ImportLogDetails">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImportLogDetail" nillable="true" type="bdt:ImportLogDetail"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:attributeGroup name="ImportJobRecordIdentifier">
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute name="StartTime" type="xsd:dateTime" use="required"/>
      </xsd:attributeGroup>

      <xsd:attributeGroup name="JobRecordIdentifier">
        <xsd:attribute name="JobID" type="xsd:string" use="required"/>
        <xsd:attribute name="JobName" type="bdt:String64Length" use="required"/>
        <xsd:attribute name="CompletionTime" type="xsd:dateTime" use="required"/>
      </xsd:attributeGroup>

      <xsd:complexType name="ImportJobRecord">
        <xsd:attributeGroup ref="bdt:ImportJobRecordIdentifier"/>
        <xsd:attributeGroup ref="bdt:JobRecordIdentifier"/>
        <xsd:attribute name="ImportJobStatus" type="bdt:ImportJobStatus" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PartnerLinkJobRecord">
        <xsd:attribute name="JobID" type="xsd:string" use="required"/>
        <xsd:attribute name="DataAdministrator" type="xsd:string" use="required"/>
        <xsd:attribute name="PartnerLinkJobStatus" type="bdt:PartnerLinkJobStatus" use="required"/>
        <xsd:attribute name="StartTime" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="CompletionTime" type="xsd:dateTime" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ExportJobRecord">
        <xsd:attribute name="ExportJobStatus" type="bdt:ExportJobStatus" use="required"/>
        <xsd:attribute name="ExportSetName" type="xsd:string" use="required"/>
        <xsd:attribute name="AnalysisDate" type="xsd:string" use="required"/>
        <xsd:attributeGroup ref="bdt:JobRecordIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CustomReport">
        <xsd:attribute name="CustomReportName" type="xsd:string" use="required"/>
        <xsd:attribute name="CustomReportType" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ImportJobRecords">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImportJobRecord" nillable="true" type="bdt:ImportJobRecord"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PartnerLinkJobRecords">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PartnerLinkJobRecord" nillable="true" type="bdt:PartnerLinkJobRecord"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ExportJobRecords">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ExportJobRecord" nillable="true" type="bdt:ExportJobRecord"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CustomReports">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CustomReport" nillable="true" type="bdt:CustomReport"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AttributeDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EnumeratedAttribute" type="xsd:string"/>
        </xsd:sequence>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute name="AttributeType" type="bdt:AttributeType" use="required"/>
        <xsd:attribute name="AttribAgeType" type="bdt:AttribAgeType" use="required"/>
        <xsd:attribute name="AttribAggregationType" type="bdt:AttribAggregationType" use="required"/>
        <xsd:attribute default="false" name="StrategyTagging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="AdditionalAssociationType" type="bdt:AssociationType" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="AssociationType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DEFAULTEDBOND"/>
          <xsd:enumeration value="TRADINGFLATBOND"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AttributeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PRICE"/>
          <xsd:enumeration value="ASSET_ID"/>
          <xsd:enumeration value="DATE"/>
          <xsd:enumeration value="ENUM"/>
          <xsd:enumeration value="INTEGER"/>
          <xsd:enumeration value="REAL"/>
          <xsd:enumeration value="TEXT"/>
          <xsd:enumeration value="RETURN"/>
          <xsd:enumeration value="SPREAD"/>
          <xsd:enumeration value="SPREAD_CURVE"/>
          <xsd:enumeration value="UPFRONT_CURVE"/>
          <xsd:enumeration value="IMPLIED_VOL"/>
          <xsd:enumeration value="FXRATE"/>
          <xsd:enumeration value="INTERESTRATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="StressTestType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="STRESS_TEST"/>
          <xsd:enumeration value="SIMULATION"/>
          <xsd:enumeration value="MPST_ANALYSIS"/>
          <xsd:enumeration value="HORIZON_ANALYSIS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AttribAgeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ONE_DAY"/>
          <xsd:enumeration value="ONE_WEEK"/>
          <xsd:enumeration value="ONE_MONTH"/>
          <xsd:enumeration value="THREE_MONTHS"/>
          <xsd:enumeration value="ONE_YEAR"/>
          <xsd:enumeration value="NONE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AttribAggregationType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COUNT"/>
          <xsd:enumeration value="EFF_DURATION"/>
          <xsd:enumeration value="EQUAL_WEIGHT"/>
          <xsd:enumeration value="MARKET_VALUE"/>
          <xsd:enumeration value="SPREAD_DURATION"/>
          <xsd:enumeration value="SUM"/>
          <xsd:enumeration value="NONE"/>
          <xsd:enumeration value="MARKET_VALUE_NA_AS_ZERO"/>
          <xsd:enumeration value="WEIGHTED_HARMONIC_MEAN"/>
          <xsd:enumeration value="HARMONIC_MEAN"/>
          <xsd:enumeration value="ACTIVE_SUM"/>
          <xsd:enumeration value="CONSENSUS"/>
          <xsd:enumeration value="ESG_WEIGHT_ENVIRON"/>
          <xsd:enumeration value="ESG_WEIGHT_GOVERNANCE"/>
          <xsd:enumeration value="ESG_WEIGHT_SOCIAL"/>
          <xsd:enumeration value="MARKET_VALUE_NON_NORMALIZED"/>
          <xsd:enumeration value="OWNERSHIP_WEIGHTING"/>
          <xsd:enumeration value="OWNERSHIP_WEIGHTING_NORMALIZED"/>
          <xsd:enumeration value="PICKED_FIRST"/>
          <xsd:enumeration value="ACTIVE_WEIGHT"/>

        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="AttributeCreationStatus">
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute name="StatusValue" type="xsd:int" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="Portfolio">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Locators" type="bdt:Locators"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Positions" type="bdt:Positions"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:PortfolioIdentifier"/>
        <xsd:attributeGroup ref="bdt:StrategyIdentifier"/>
        <xsd:attribute name="AutomaticallyDerivePortfolioFromTransactions" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="RunAssetReconForTran" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioTransactions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Transaction" type="bdt:Transaction"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Transaction">
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
        <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
        <xsd:attribute name="AuditedFlag" type="bdt:AuditedFlag" use="optional"/>
        <xsd:attribute name="TradeDate" type="xsd:date" use="required"/>
        <xsd:attribute name="SettleDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="PostDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="AsOfDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="TransactionID" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioTransactionType" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioSubTransactionType" type="xsd:string" use="optional"/>
        <xsd:attribute name="TransactionTypeID" type="xsd:string" use="optional"/>
        <xsd:attribute name="TransactionDescription" type="xsd:string" use="optional"/>
        <xsd:attribute name="LocalTransactionAmount" type="xsd:double" use="required"/>
        <xsd:attribute name="BaseTransactionAmount" type="xsd:double" use="required"/>
        <xsd:attribute name="LocalISOCurrencyCode" type="xsd:string" use="required"/>
        <xsd:attribute name="BaseISOCurrencyCode" type="xsd:string" use="required"/>
        <xsd:attribute name="ExchangeName" type="xsd:string" use="optional"/>
        <!-- Asset level transaction details-->
        <xsd:attribute name="AssetID" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetIDType" type="xsd:string" use="optional"/>
        <xsd:attribute name="ParentID" type="xsd:string" use="optional"/>
        <xsd:attribute name="ParentIDType" type="xsd:string" use="optional"/>
        <xsd:attribute name="LegType" type="bdt:PortfolioTransactionLegType" use="optional"/>
        <xsd:attribute name="TransactionLinkedID" type="xsd:string" use="optional"/>
        <xsd:attribute name="Units" type="xsd:double" use="optional"/>
        <xsd:attribute name="UnitType" type="bdt:UnitType" use="optional"/>
        <xsd:attribute name="LocalTransactionPrice" type="xsd:double" use="optional"/>
        <xsd:attribute name="BaseTransactionPrice" type="xsd:double" use="optional"/>
        <xsd:attribute name="SettleAmount" type="xsd:double" use="optional"/>
        <xsd:attribute name="LocalTaxFeeAmount" type="xsd:double" use="optional"/>
        <xsd:attribute name="BaseTaxFeeAmount" type="xsd:double" use="optional"/>
        <xsd:attribute name="LocalAccruals" type="xsd:double" use="optional"/>
        <xsd:attribute name="BaseAccruals" type="xsd:double" use="optional"/>
        <xsd:attribute name="CancelDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="TransactionStatus" type="bdt:TransactionStatus" use="optional"/>
        <xsd:attribute name="CancelTransactionID" type="xsd:string" use="optional"/>
        <xsd:attribute name="SettleCurrencyCode" type="xsd:string" use="optional"/>
        <xsd:attribute name="LocalTaxFeeCurrency" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="UnitType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Holdings"/>
          <xsd:enumeration value="Notional"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="DeletePortfolioTransactions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DeleteTransaction" type="bdt:DeleteTransaction"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="DeleteTransaction">
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
        <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
        <xsd:attribute name="StartTradeDate" type="xsd:date" use="required"/>
        <xsd:attribute name="EndTradeDate" type="xsd:date" use="required"/>
        <xsd:attribute name="TransactionID" type="xsd:string" use="optional"/>
      </xsd:complexType>


      <xsd:simpleType name="AuditedFlag">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MA"/>
          <xsd:enumeration value="DA"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TransactionStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Validated"/>
          <xsd:enumeration value="Cancelled"/>
          <xsd:enumeration value="Cancelling"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PortfolioTransactionLegType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PAY"/>
          <xsd:enumeration value="RECEIVE"/>
          <xsd:enumeration value="SWAPLEG"/> <!-- Used for TRS Swap leg  -->
          <xsd:enumeration value="TRS_UNDERLIER"/> <!-- Used for TRS Underlier leg -->
          <xsd:enumeration value="CASH"/>  <!-- Used for Fx Future cash -->
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:complexType name="AssetList">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetListID" type="bdt:AssetListID"/>
        </xsd:sequence>
        <xsd:attribute default="BARRA" name="AssetPriority" type="bdt:AssetPriority" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="AssetListID">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="UserAssets">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Actions" type="bdt:Actions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Tnc" type="bdt:Tnc"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CDSwaps" type="bdt:CDSwaps"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CLNs" type="bdt:CLNs"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CDSBaskets" type="bdt:CDSBaskets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Composites" type="bdt:Composites"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityOptions" type="bdt:EquityOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityFutures" type="bdt:EquityFutures"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityForwards" type="bdt:EquityForwards"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CommodityFutures" type="bdt:CommodityFutures"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FXFutures" type="bdt:FXFutures"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FXForwards" type="bdt:FXForwards"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FXOptions" type="bdt:FXOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FXFutureOptions" type="bdt:FXFutureOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EuroDollarFutures" type="bdt:EuroDollarFutures"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EurodollarFutureOptions" type="bdt:EurodollarFutureOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityIndexFutureOptions" type="bdt:EquityIndexFutureOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BondOptions" type="bdt:BondOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BondFutures" type="bdt:BondFutures"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BondFutureOptions" type="bdt:BondFutureOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Swaptions" type="bdt:Swaptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="HedgeFunds" type="bdt:HedgeFunds"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TotalReturnSwaps" type="bdt:TotalReturnSwaps"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ZeroCouponSwaps" type="bdt:ZeroCouponSwaps"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LinkProxies" type="bdt:LinkProxies"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ContractsForDifference" type="bdt:ContractsForDifference"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CashflowBonds" type="bdt:CashflowBonds"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ForwardRateAgreements" type="bdt:ForwardRateAgreements"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Repos" type="bdt:Repos"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CashFlowAssets" type="bdt:CashFlowAssets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityClaims" type="bdt:EquityClaims"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CapsAndFloors" type="bdt:CapsAndFloors"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Certificates" type="bdt:Certificates"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CommodityFutureOptions" type="bdt:CommodityFutureOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityRuleBasedProxies" type="bdt:EquityRuleBasedProxies"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DurationProxies" type="bdt:DurationProxies"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityVolatilityFutures" type="bdt:EquityVolatilityFutures"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="VolatilityOptions" type="bdt:VolatilityOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="VolatilitySwaps" type="bdt:VolatilitySwaps"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrivateRealEstates" type="bdt:PrivateRealEstates"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CollateralizedSecurities" type="bdt:CollateralizedSecurities"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrivateEquities" type="bdt:PrivateEquities"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CustomExposureAssets" type="bdt:CustomExposureAssets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InflationLinkedLiabilities" type="bdt:InflationLinkedLiabilities"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CDSOptions" type="bdt:CDSOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CDSTranches" type="bdt:CDSTranches"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="NthToDefaults" type="bdt:NthToDefaults"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BondForwards" type="bdt:BondForwards"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="IRFutures" type="bdt:IRFutures"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Funds" type="bdt:Funds"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FLEXAssets" type="bdt:FLEXAssets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RSBondOptions" type="bdt:RSBondOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RSBondFutureOptions" type="bdt:RSBondFutureOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RSCapsAndFloors" type="bdt:RSCapsAndFloors"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BankLoans" type="bdt:BankLoans"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FXDigitalOptions" type="bdt:FXDigitalOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrivateInfraAssets" type="bdt:PrivateInfraAssets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RSTotalReturnSwaps" type="bdt:RSTotalReturnSwaps"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityDigitalOptions" type="bdt:EquityDigitalOptions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FXVarianceSwaps" type="bdt:FXVarianceSwaps"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FXFVAS" type="bdt:FXFVAS"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TOBInverseFloaters" type="bdt:TOBInverseFloaters"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="OISCapsAndFloors" type="bdt:OISCapsAndFloors"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CMSSpreadOptions" type="bdt:CMSSpreadOptions"/>
          <xsd:element minOccurs="0" name="CDSIndexes" type="bdt:CDSIndexes"/>
          <xsd:element minOccurs="0" name="BankLoanWrappers" type="bdt:BankLoanWrappers"/>
          <xsd:element minOccurs="0" name="CMBXs" type="bdt:CMBXs"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrivateCredits" type="bdt:PrivateCredits"/>
          <!-- NEW_ASSET_ENTRY -->
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:DatedDataIdentifier"/>
      </xsd:complexType>

      <xsd:attributeGroup name="DatedDataIdentifier">
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="Tnc">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Bond" type="bdt:Bond"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SyndicatedLoan" type="bdt:SyndicatedLoan"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PreferredEquity" type="bdt:PreferredEquity"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ConvertibleBond" type="bdt:ConvertibleBond"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="IRSwap" type="bdt:IRSwap"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PreferredData" type="bdt:PreferredData"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CallSchedule" type="bdt:CallSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ConvertibleCallSchedule" type="bdt:ConvertibleCallSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PutSchedule" type="bdt:PutSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ConversionSchedule" type="bdt:ConversionSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SinkSchedule" type="bdt:SinkSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AmountOutstandingSchedule" type="bdt:AmountOutstandingSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CouponRateSchedule" type="bdt:CouponRateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RatingSchedule" type="bdt:RatingSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="InflationRateSchedule" type="bdt:InflationRateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SectorSchedule" type="bdt:SectorSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SubSectorSchedule" type="bdt:SubSectorSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="JapanSubTypeSchedule" type="bdt:JapanSubTypeSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SpreadDurationSchedule" type="bdt:SpreadDurationSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="IRSwapLeg" type="bdt:IRSwapLeg"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="IRSLegCouponRateSchedule" type="bdt:IRSLegCouponRateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="IRSwapCancelDateSchedule" type="bdt:IRSwapCancelDateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="IRSwapAmortizationSchedule" type="bdt:IRSwapAmortizationSchedule"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="PrivateInfraAssets">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Assets" type="bdt:PrivateInfraAsset"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetSummary" type="bdt:PrivateInfraAssetAttributes"/>
        </xsd:sequence>
        <xsd:attribute name="EstimationRiskModels" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PrivateInfraAsset">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Sector" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>


      <xsd:complexType name="PrivateInfraAssetAttributes">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attribute name="ExposureDate" type="xsd:date" use="required"/>
        <xsd:attribute name="ModelAssetType" type="bdt:ModelAssetTypes" use="required"/>
        <xsd:attribute name="DevelopmentStage" type="bdt:DevelopmentStageTypes" use="required"/>
        <xsd:attribute name="Regulation" type="bdt:RegulationTypes" use="optional"/>
        <xsd:attribute name="Contracted" type="bdt:ContractedTypes" use="optional"/>
        <xsd:attribute name="EquityBeta" type="xsd:double" use="optional"/>
        <xsd:attribute name="EquityGrowthSensitivity" type="xsd:double" use="optional"/>
        <xsd:attribute name="BondDuration" type="xsd:double" use="optional"/>
        <xsd:attribute name="CreditSpread" type="xsd:double" use="optional"/>
        <xsd:attribute name="InflationHedged" type="bdt:InflationHedgedTypes" use="optional"/>
        <xsd:attribute name="EquitySensitivityRank" type="xsd:string" use="optional"/>
        <xsd:attribute name="DurationSensitivityRank" type="xsd:string" use="optional"/>
        <xsd:attribute name="CreditQuality" type="xsd:string" use="optional"/>
        <xsd:attribute name="PublicEquityProxy" type="xsd:string" use="optional"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="CommonFactorRiskScalar" type="xsd:double" use="optional"/>
        <xsd:attribute name="PrivateFactorRiskScalar" type="xsd:double" use="optional"/>
        <xsd:attribute name="EquityWeight" type="xsd:double" use="optional"/>
        <xsd:attribute name="SpecificRisk" type="xsd:double" use="optional"/>
        <xsd:attribute name="SpecificRiskScalar" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="ModelAssetTypes">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BOND-LIKE"/>
          <xsd:enumeration value="EQUITY-LIKE"/>
          <xsd:enumeration value="HYBRID"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="DevelopmentStageTypes">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GREENFIELD"/>
          <xsd:enumeration value="BROWNFIELD"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="InflationHedgedTypes">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="YES"/>
          <xsd:enumeration value="NO"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ContractedTypes">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CONTRACTED"/>
          <xsd:enumeration value="UNCONTRACTED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RegulationTypes">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="REGULATED"/>
          <xsd:enumeration value="UNREGULATED"/>
          <xsd:enumeration value="PARTIALLY REGULATED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="CDSwaps">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDS" type="bdt:CDSwap"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DealSpreadSchedule" type="bdt:DealSpreadSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSCurrentFactorSchedule" type="bdt:CDSCurrentFactorSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CMBXs">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CMBX" type="bdt:CMBX"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DealSpreadSchedule" type="bdt:DealSpreadSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSCurrentFactorSchedule" type="bdt:CDSCurrentFactorSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CLNs">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CLN" type="bdt:CLN"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CLNCouponRateSchedule" type="bdt:CLNCouponRateSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CDSBaskets">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSBasket" type="bdt:CDSBasket"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSBasketConstituent" type="bdt:CDSBasketConstituent"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSBasketCouponRateSchedule" type="bdt:CDSBasketCouponRateSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="LinkProxies">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="LinkProxy" type="bdt:LinkProxy"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="LinkProxySchedule" type="bdt:LinkProxySchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="LinkProxySchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseUnderlier">
            <xsd:attribute name="Date" type="xsd:date" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ContractsForDifference">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ContractForDifference" type="bdt:ContractForDifference"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="CashflowBonds">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CashflowBond" type="bdt:CashflowBond"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CashflowSchedule" type="bdt:CashflowSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CashFlowAssets">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CashFlowAsset" type="bdt:CashFlowAsset"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CFAssetCashFlowSchedule" type="bdt:CFAssetCashFlowSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="EquityClaims">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityClaim" type="bdt:EquityClaim"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="ForwardRateAgreements">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ForwardRateAgreement" type="bdt:ForwardRateAgreement"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="Repos">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Repo" type="bdt:Repo"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="BondFutures">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BondFuture" type="bdt:BondFuture"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FutUnderlier" type="bdt:FutUnderlier"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BondOptions">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BondOption" type="bdt:BondOption"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="RSBondOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BondOption" type="bdt:BondOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FXDigitalOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FXDigitalOption" type="bdt:FXDigitalOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXDBarriers" type="bdt:FXDBarriers"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXDPricingInputs" type="bdt:FXDPricingInputs"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="FXDigitalOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="OptionExpiryDate" type="xsd:date" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="optional"/>
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="optional"/>
            <xsd:attribute name="ExerciseType" type="bdt:ExerciseType" use="optional"/>
            <xsd:attribute name="SettleCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="OptionCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="SettlementDiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="OptionDiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="CashPayOut" type="xsd:double" use="optional"/>
            <xsd:attribute name="PayoutCurrency" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="FXDBarriers">
        <xsd:attribute name="BarrierType" type="bdt:FXDigitalBarrierType" use="required"/>
        <xsd:attribute name="UpperBarrierLevel" type="xsd:double" use="optional"/>
        <xsd:attribute name="LowerBarrierLevel" type="xsd:double" use="optional"/>
        <xsd:attribute name="BarrierStartDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="HitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="FixedPayment" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>


      <xsd:simpleType name="FXDigitalBarrierType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="KNOCK_IN"/>
          <xsd:enumeration value="KNOCK_OUT"/>
          <xsd:enumeration value="PAY_AT_TOUCH"/>
          <xsd:enumeration value="PAY_AT_EXPIRY"/>
          <xsd:enumeration value="NO_TOUCH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FXDPricingInputs">
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
        <xsd:attribute name="VolatilitySeries" type="xsd:string" use="optional"/>
        <xsd:attribute name="VolatilitySmilePoint" type="bdt:VolSmilePoint" use="optional"/>
        <xsd:attribute name="SkewCorrection" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="VannaVolga" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ATMVol" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="NoArbitragePricing" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="VegaWeight" type="xsd:double" use="optional"/>
        <xsd:attribute name="VannaWeight" type="xsd:double" use="optional"/>
        <xsd:attribute name="VolgaWeight" type="xsd:double" use="optional"/>
        <xsd:attribute name="Symmetric" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="AttenuationBarrier" type="xsd:double" use="optional"/>
        <xsd:attribute name="VegaAttenuationSlope" type="xsd:double" use="optional"/>
        <xsd:attribute name="VegaMinAttenuation" type="xsd:double" use="optional"/>
        <xsd:attribute name="VannaAttenuationSlope" type="xsd:double" use="optional"/>
        <xsd:attribute name="VannaMinAttenuation" type="xsd:double" use="optional"/>
        <xsd:attribute name="VolgaAttenuationSlope" type="xsd:double" use="optional"/>
        <xsd:attribute name="VolgaMinAttenuation" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:simpleType name="VolSmilePoint">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FIXED_STRIKE"/>
          <xsd:enumeration value="FIXED_DELTA"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="EquityDigitalOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityDigitalOption" type="bdt:EquityDigitalOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityDigitalBarriers" type="bdt:EquityDigitalBarriers"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EDOImpliedVolatilitySchedule" type="bdt:ImpliedVolatilityScheduleDigital"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="EquityDigitalOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:LinkProxy">
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="required"/>
            <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="optional"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="optional"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute default="100" name="ContractSize" type="xsd:double" use="optional"/>
            <xsd:attribute name="DividendYield" type="xsd:double" use="optional"/>
            <xsd:attribute default="false" name="IVExposure" type="xsd:boolean" use="optional"/>   <!-- data type: boolean -->
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ImpliedVolatilityScheduleDigital">
        <xsd:complexContent>
          <xsd:extension base="bdt:ImpliedVolatilitySchedule">
            <xsd:attribute name="CreatedBy" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EquityDigitalBarriers">
        <xsd:attribute name="BarrierType" type="bdt:EquityDigitalBarrierType" use="required"/>
        <xsd:attribute name="Direction" type="bdt:DirectionType" use="optional"/>
        <xsd:attribute name="UpperBarrierLevel" type="xsd:double" use="optional"/>
        <xsd:attribute name="LowerBarrierLevel" type="xsd:double" use="optional"/>
        <xsd:attribute name="BarrierStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="BarrierEndDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="UpperBarrierHitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="LowerBarrierHitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="FixedPayment" type="xsd:double" use="optional"/>
        <xsd:attribute name="FixedPaymentAtTouch" type="bdt:FixedPaymentAtTouchType" use="optional"/>
        <xsd:attribute name="Rebate" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:simpleType name="EquityDigitalBarrierType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DKI"/>
          <xsd:enumeration value="DKO"/>
          <xsd:enumeration value="DNT"/>
          <xsd:enumeration value="DOT"/>
          <xsd:enumeration value="KI"/>
          <xsd:enumeration value="KO"/>
          <xsd:enumeration value="KIKO"/>
          <xsd:enumeration value="NT"/>
          <xsd:enumeration value="OT"/>
          <xsd:enumeration value="OTNT"/>
          <xsd:enumeration value="NONE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="DirectionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="UP"/>
          <xsd:enumeration value="DOWN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="FixedPaymentAtTouchType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="YES"/>
          <xsd:enumeration value="NO"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FXVarianceSwaps">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXVarianceSwap" type="bdt:FXVarianceSwap"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Boundaries" type="bdt:Boundaries"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FXVarianceSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="AgingScheme" type="bdt:AgingSchemeVALUES" use="optional"/>
            <xsd:attribute name="CalibrationMethod" type="bdt:CalibrationMethodVALUES" use="optional"/>
            <xsd:attribute name="NotionalType" type="bdt:NotionalTypeVALUES" use="optional"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
            <xsd:attribute name="ZeroMean" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="UnbiasedVolEstimator" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="VolatilityInterpolation" type="bdt:VolatilityInterpolationVALUES" use="optional"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
            <xsd:attribute name="ReturnHorizon" type="bdt:ReturnHorizonVALUES" use="optional"/>
            <xsd:attribute name="BaseCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="TermCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="SwapType" type="bdt:SwapTypeVALUES" use="optional"/>
            <xsd:attribute name="DeliveryVolatilityStrike" type="xsd:double" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="AnnualizationFactor" type="xsd:double" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="AgingSchemeVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BUY AND HOLD"/>
          <xsd:enumeration value="INSTANT ADD"/>
          <xsd:enumeration value="INSTANT ADD WITH GAMMA"/>
          <xsd:enumeration value="STEADY STATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CalibrationMethodVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ADDITIVE VARIANCE ADJUSTMENT"/>
          <xsd:enumeration value="ADDITIVE VOLATILITY ADJUSTMENT"/>
          <xsd:enumeration value="MULTIPLICATIVE VOLATILITY ADJUSTMENT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CalibrationMethod">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ADDITIVE_VARIANCE"/>
          <xsd:enumeration value="ADDITIVE_VOLATILITY"/>
          <xsd:enumeration value="MULTIPLICATIVE_VOLATILITY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="VolatilityInterpolation">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FLAT_SMILE"/>
          <xsd:enumeration value="QUADRATIC_SMILE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ModelAgingScheme">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BUY_AND_HOLD"/>
          <xsd:enumeration value="INSTANT_ADD"/>
          <xsd:enumeration value="INSTANT_ADD_WITH_GAMMA"/>
          <xsd:enumeration value="STEADY_STATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="NotionalTypeVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VEGA"/>
          <xsd:enumeration value="VARIANCE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="VolatilityInterpolationVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FLAT SMILE"/>
          <xsd:enumeration value="QUADRATIC SMILE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ReturnHorizonVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DAILY"/>
          <xsd:enumeration value="WEEKLY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SwapTypeVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VARIANCE"/>
          <xsd:enumeration value="VOLATILITY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="Boundaries">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attribute name="ComputeReturntoBoundary" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="StrictBoundary" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="BoundaryType" type="bdt:BoundaryTypeVALUES" use="optional"/>
        <xsd:attribute name="BoundaryLag" type="bdt:BoundaryLagVALUES" use="optional"/>
        <xsd:attribute name="LowerBoundary" type="xsd:double" use="optional"/>
        <xsd:attribute name="UpperBoundary" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="BoundaryTypeVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="RELATIVE"/>
          <xsd:enumeration value="ABSOLUTE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BoundaryLagVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="0"/>
          <xsd:enumeration value="1"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FXFVAS">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXFVA" type="bdt:FXFVA"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FXFVA">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="OptionExpiryDate" type="xsd:date" use="required"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
            <xsd:attribute name="OptionCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="ForwardMaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute name="NotionalType" type="bdt:FXFVA_NotionalTypeVALUES" use="required"/>
            <xsd:attribute default="AT THE MONEY" name="StrikeType" type="bdt:FXFVA_StrikeTypeVALUES" use="optional"/>
            <xsd:attribute name="VolatilityStrike" type="xsd:double" use="required"/>
            <xsd:attribute name="SettleCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="PremiumPaymentDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ForwardingRate" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="FXFVA_NotionalTypeVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CALL"/>
          <xsd:enumeration value="PUT"/>
          <xsd:enumeration value="STRADDLE"/>
          <xsd:enumeration value="VEGA"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="FXFVA_StrikeTypeVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DELTA NEUTRAL"/>
          <xsd:enumeration value="AT THE MONEY"/>
          <xsd:enumeration value="AT THE MONEY SPOT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="TOBInverseFloaters">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TOBInverseFloater" type="bdt:TOBInverseFloater"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MuniLegs" type="bdt:MuniLegs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FeesLegs" type="bdt:FeesLegs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CashFlowSchedules" type="bdt:CashFlowSchedules"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FinancingLegs" type="bdt:FinancingLegs"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TOBInverseFloater">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute name="RisklessCurve" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="MuniLegs">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attribute name="MuniBondIDType" type="xsd:string" use="required"/>
        <xsd:attribute name="Notional" type="xsd:double" use="required"/>
        <xsd:attribute name="MuniBondID" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="optional"/>
      </xsd:complexType>

      <xsd:attributeGroup name="TenderOptionLegsBase">
        <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="FirstCouponDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="DiscountCurveSpread" type="xsd:double" use="optional"/>
        <xsd:attribute name="CouponFrequency" type="bdt:TenderOptionBondLegs_CouponFrequency" use="optional"/>
        <xsd:attribute name="RisklessCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="CouponAmountMethod" type="bdt:CouponAmountMethod" use="optional"/>
        <xsd:attribute name="DayCount" type="bdt:TenderOptionBondLegs_DayCount" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="FeesLegs">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attributeGroup ref="bdt:TenderOptionLegsBase"/>
      </xsd:complexType>

      <xsd:simpleType name="TenderOptionBondLegs_DayCount">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="30/360"/>
          <xsd:enumeration value="30E/360E"/>
          <xsd:enumeration value="30E/360 ITA"/>
          <xsd:enumeration value="30/365"/>
          <xsd:enumeration value="30/ACT"/>
          <xsd:enumeration value="30E/360"/>
          <xsd:enumeration value="30/360E"/>
          <xsd:enumeration value="30E+/360"/>
          <xsd:enumeration value="ACT/360"/>
          <xsd:enumeration value="ACT/364"/>
          <xsd:enumeration value="ACT/365"/>
          <xsd:enumeration value="ACT/365 CA"/>
          <xsd:enumeration value="ACT/365E"/>
          <xsd:enumeration value="ACT/365L"/>
          <xsd:enumeration value="ACT/ACTE"/>
          <xsd:enumeration value="ACT/ACT"/>
          <xsd:enumeration value="BUS/252"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TenderOptionBondLegs_ResetFrequency">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="1D"/>
          <xsd:enumeration value="1W"/>
          <xsd:enumeration value="1M"/>
          <xsd:enumeration value="2M"/>
          <xsd:enumeration value="3M"/>
          <xsd:enumeration value="6M"/>
          <xsd:enumeration value="1Y"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TenderOptionBondLegs_CouponFrequency">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="1D"/>
          <xsd:enumeration value="1W"/>
          <xsd:enumeration value="1M"/>
          <xsd:enumeration value="2M"/>
          <xsd:enumeration value="3M"/>
          <xsd:enumeration value="6M"/>
          <xsd:enumeration value="1Y"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TenderOptionBondLegs_CouponType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FIXED"/>
          <xsd:enumeration value="FLOATING"/>
          <xsd:enumeration value="GENERIC"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="CashFlowSchedules">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attribute name="Leg" type="bdt:CashFlowSchedules_LegVALUES" use="required"/>
        <xsd:attribute name="CouponAmount" type="xsd:double" use="optional"/>
        <xsd:attribute name="CouponDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="FeeType" type="xsd:string" use="optional"/>
        <xsd:attribute name="FeeBasis" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="CashFlowSchedules_LegVALUES">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FEE"/>
          <xsd:enumeration value="FINANCING"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FinancingLegs">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attributeGroup ref="bdt:TenderOptionLegsBase"/>
        <xsd:attribute name="ResetFrequency" type="bdt:TenderOptionBondLegs_ResetFrequency" use="optional"/>
        <xsd:attribute name="RedemptionValue" type="xsd:double" use="optional"/>
        <xsd:attribute name="ResetSpread" type="xsd:double" use="optional"/>
        <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
        <xsd:attribute name="ReferenceCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="Date" type="xsd:date" use="optional"/>
        <xsd:attribute name="CouponType" type="bdt:TenderOptionBondLegs_CouponType" use="optional"/>
        <xsd:attribute name="BondId" type="xsd:string" use="optional"/>
        <xsd:attribute name="BondIdType" type="xsd:string" use="optional"/>
        <xsd:attribute name="FirstorNextResetDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="Notional" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CMSSpreadOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CMSSpreadOption" type="bdt:CMSSpreadOption"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CMSSpreadOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="OptionExpiryDate" type="xsd:date" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="optional"/>
            <xsd:attribute name="IsDigitalPayment" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ContingencyBarrier" type="xsd:double" use="optional"/>
            <xsd:attribute name="WeightLongLeg" type="xsd:double" use="optional"/>
            <xsd:attribute name="WeightShortLeg" type="xsd:double" use="optional"/>
            <xsd:attribute name="ContingencyLegType" type="bdt:LegType" use="optional"/>
            <xsd:attribute name="ContingencyType" type="bdt:ContingencyType" use="optional"/>
            <xsd:attribute name="LongCMSLegReferenceIndex" type="xsd:string" use="required"/>
            <xsd:attribute name="LongCMSLegReferenceTerm" type="xsd:string" use="required"/>
            <xsd:attribute name="LongCMSLegReferenceDayCountBasis" type="bdt:ReferenceDayCountType" use="optional"/>
            <xsd:attribute name="LongCMSLegReferenceFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute name="ShortCMSLegReferenceIndex" type="xsd:string" use="required"/>
            <xsd:attribute name="ShortCMSLegReferenceTerm" type="xsd:string" use="required"/>
            <xsd:attribute name="ShortCMSLegReferenceDayCountBasis" type="bdt:ReferenceDayCountType" use="optional"/>
            <xsd:attribute name="ShortCMSLegReferenceFrequency" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="ContingencyType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GREATER"/>
          <xsd:enumeration value="LESS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="CDSIndexes">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSIndex" type="bdt:CDSIndex"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CDSIndex">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BankLoanWrappers">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BankLoanWrapper" type="bdt:BankLoanWrapper"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BankLoanWrapper">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <!--  NEW_ASSET_DETAILS-->

      <xsd:complexType name="BankLoans">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="BankLoan" type="bdt:BankLoan"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLCallSchedule" type="bdt:BLCallSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLCurrentRateSchedule" type="bdt:BLCurrentRateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLAmortizationSchedule" type="bdt:BLAmortizationSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLRefinanceFeeSchedule" type="bdt:BLRefinanceFeeSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLRevolvingLoanInputs" type="bdt:BLRevolvingLoanInputs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLPricingInputs" type="bdt:BLPricingInputs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLLiborFallback" type="bdt:BLLiborFallback"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BankLoan">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="CouponType" type="bdt:CouponTypeEnum" use="optional"/>
            <xsd:attribute name="FixedCoupon" type="xsd:double" use="optional"/>
            <xsd:attribute name="RisklessCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="ReferenceCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="SpreadCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="OriginationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute name="FirstPaymentDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute name="CouponSpread" type="xsd:double" use="optional"/>
            <xsd:attribute name="CouponFloor" type="xsd:double" use="optional"/>
            <xsd:attribute name="DayCountBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="LienType" type="xsd:string" use="optional"/>
            <xsd:attribute name="FacilityType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Region" type="xsd:string" use="optional"/>
            <xsd:attribute name="SpreadBeta" type="xsd:double" use="optional"/>
            <xsd:attribute name="SettlementPeriod" type="xsd:string" use="optional"/>
            <xsd:attribute name="Sector" type="bdt:BankLoanSectorEnumType" use="optional"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="CouponTypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Fixed"/>
          <xsd:enumeration value="Floating"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BankLoanSectorEnumType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COND"/>
          <xsd:enumeration value="CONS"/>
          <xsd:enumeration value="ENGY"/>
          <xsd:enumeration value="FIN"/>
          <xsd:enumeration value="HLTH"/>
          <xsd:enumeration value="IND"/>
          <xsd:enumeration value="MAT"/>
          <xsd:enumeration value="TEL"/>
          <xsd:enumeration value="TRANS"/>
          <xsd:enumeration value="UTL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="BLCallSchedule">
        <xsd:attribute name="CallDate" type="xsd:date" use="required"/>
        <xsd:attribute name="CallAmount" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>
      <xsd:complexType name="BLCurrentRateSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="CurrentRate" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>
      <xsd:complexType name="BLAmortizationSchedule">
        <xsd:attribute name="AmortizationDate" type="xsd:date" use="required"/>
        <xsd:attribute name="AmortizationAmount" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>
      <xsd:complexType name="BLRefinanceFeeSchedule">
        <xsd:attribute name="RefinanceFeeDate" type="xsd:date" use="required"/>
        <xsd:attribute name="RefinanceFeeAmount" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>
      <xsd:complexType name="BLRevolvingLoanInputs">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="DrawnAmount" type="xsd:double" use="optional"/>
        <xsd:attribute name="DrawnFee" type="xsd:double" use="optional"/>
        <xsd:attribute name="CommitmentFee" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>
      <xsd:complexType name="BLPricingInputs">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="TotalSpread" type="xsd:double" use="optional"/>
        <xsd:attribute name="DefaultHazardRate" type="xsd:double" use="optional"/>
        <xsd:attribute name="PricingRecoveryRate" type="xsd:double" use="optional"/>
        <xsd:attribute name="DisablePrepayment" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="AssumedPrepaymentDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="BasePrepaymentRate" type="xsd:double" use="optional"/>
        <xsd:attribute name="PrepayExponent" type="xsd:double" use="optional"/>
        <xsd:attribute name="RefinanceBeta" type="xsd:double" use="optional"/>
        <xsd:attribute name="ExchangeBeta" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>
      <xsd:complexType name="BLLiborFallback">
        <xsd:attribute name="FallbackDate" type="xsd:date" use="optional"/>
        <xsd:attribute default="ISDA" name="FallbackMethodology" type="bdt:FallbackMethodologyEnum" use="optional"/>
        <xsd:attribute name="FallbackReferenceCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="HistoricalRateSeries" type="xsd:string" use="optional"/>
        <xsd:attribute name="FallbackDayCountBasis" type="bdt:FallbackDayCountBasisEnum" use="optional"/>
        <xsd:attribute name="FallbackSpreadCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="FallbackSpread" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>
      <xsd:simpleType name="FallbackMethodologyEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ISDA"/>
          <xsd:enumeration value="TERM_RATE"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="FallbackDayCountBasisEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="30/360"/>
          <xsd:enumeration value="30E/360"/>
          <xsd:enumeration value="30E/360E"/>
          <xsd:enumeration value="ACT/360"/>
          <xsd:enumeration value="ACT/365"/>
          <xsd:enumeration value="ACT/ACT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="Swaptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Swaption" type="bdt:Swaption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SwaptionPricingInputs" type="bdt:SwaptionPricingInputs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SwaptionExerciseSchedule" type="bdt:SwaptionExerciseSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FXOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXOption" type="bdt:FXOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXOptionExerciseSchedule" type="bdt:FXOptionExerciseSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXBarrierOptionAttributes" type="bdt:FXBarrierOptionAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionAttributes" type="bdt:AsianOptionAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionPricePool" type="bdt:AsianOptionPricePool"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FXFutureOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXFutureOption" type="bdt:FXFutureOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="EquityOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityOption" type="bdt:EquityOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ExerciseSchedule" type="bdt:ExerciseSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityBarrierOptionAttributes" type="bdt:EquityBarrierOptionAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionAttributes" type="bdt:AsianOptionAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionPricePool" type="bdt:AsianOptionPricePool"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CommodityFutures">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CommodityFuture" type="bdt:CommodityFuture"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="EquityFutures">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityFuture" type="bdt:EquityFuture"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="EquityForwards">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityForward" type="bdt:EquityForward"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="FXFutures">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXFuture" type="bdt:FXFuture"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="FXForwards">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FXForward" type="bdt:FXForward"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="EuroDollarFutures">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EuroDollarFuture" type="bdt:EuroDollarFuture"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="EquityIndexFutureOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityIndexFutureOption" type="bdt:EquityIndexFutureOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionAttributes" type="bdt:AsianOptionAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionPricePool" type="bdt:AsianOptionPricePool"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CommodityFutureOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CommodityFutureOption" type="bdt:CommodityFutureOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionAttributes" type="bdt:AsianOptionAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AsianOptionPricePool" type="bdt:AsianOptionPricePool"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="EurodollarFutureOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EurodollarFutureOption" type="bdt:EurodollarFutureOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BondFutureOptions">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BondFutureOption" type="bdt:BondFutureOption"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="RSBondFutureOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BondFutureOption" type="bdt:BondFutureOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Composites">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Composite" type="bdt:Composite"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="HedgeFunds">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="HedgeFund" type="bdt:HedgeFund"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="HedgeFundAttribute" type="bdt:HedgeFundAttribute"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="HedgeFundReturn" type="bdt:HedgeFundReturn"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TotalReturnSwaps">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TotalReturnSwap" type="bdt:TotalReturnSwap"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TotalReturnSwapCouponRateSchedule" type="bdt:TotalReturnSwapCouponRateSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RSTotalReturnSwaps">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RSTotalReturnSwap" type="bdt:RSTotalReturnSwap"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TRSFinancingLeg" type="bdt:TRSFinancingLeg"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PricingInputs" type="bdt:PricingInputs"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ZeroCouponSwaps">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ZeroCouponSwap" type="bdt:ZeroCouponSwap"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ZeroCouponSwapLeg" type="bdt:ZeroCouponSwapLeg"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ZeroCouponSwapCouponRateSchedule" type="bdt:ZeroCouponSwapCouponRateSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CapsAndFloors">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CapAndFloor" type="bdt:CapAndFloor"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="RSCapsAndFloors">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CapAndFloor" type="bdt:CapAndFloor"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CAFVolatilitySchedules" type="bdt:CAFVolatilitySchedules"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="OISCapsAndFloors">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="OISCapAndFloor" type="bdt:OISCapAndFloor"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CAFVolatilitySchedules" type="bdt:CAFVolatilitySchedules"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CAFVolatilitySchedules">
        <xsd:attribute name="FromDate" type="xsd:date" use="required"/>
        <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="Certificates">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Certificate" type="bdt:Certificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CertificateUnderlyingInstruments" type="bdt:CertificateUnderliers"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReverseCertificate" type="bdt:ReverseCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BonusCertificate" type="bdt:BonusCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReverseBonusCertificate" type="bdt:ReverseBonusCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TwinWinCertificate" type="bdt:TwinWinCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="OutperformanceCertificate" type="bdt:OutperformanceCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AirbagCertificate" type="bdt:AirbagCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DiscountCertificate" type="bdt:DiscountCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CapitalProtectedCertificate" type="bdt:CapitalProtectedCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReverseConvertibleCertificate" type="bdt:ReverseConvertibleCertificate"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BarrierRangeReverseConvertibleCertificate" type="bdt:BarrierRangeReverseConvertibleCertificate"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="EquityRuleBasedProxies">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityRuleBasedProxy" type="bdt:EquityRuleBasedProxy"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityProxyModelIndustry" type="bdt:EquityProxyModelIndustry"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityProxyMarketDataSchedule" type="bdt:EquityProxyMarketDataSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="FLEXExportType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FULL"/> <!-- TNC and valuation FLEX -->
          <xsd:enumeration value="TNC"/> <!-- TNC FLEX -->
          <xsd:enumeration value="NONE"/> <!-- No FLEX -->
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FailedFLEXAssets">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FailedFLEXAsset" type="bdt:FailedFLEXAsset"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FailedFLEXAsset">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetId" type="bdt:AssetIdentifier"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Error" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FLEXAssets">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FLEXAsset" type="bdt:FLEXAsset"/>
        </xsd:sequence>
      </xsd:complexType>
      <!-- based on template v 2.12 -->
      <xsd:complexType name="FLEXAsset">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument"> <!-- FLEX Asset static TnC Info -->
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="0" name="AssetSpecificRisk" type="bdt:FLEXSpecificRisk"/>
              <!-- FLEX Asset valuation data -->
              <xsd:element maxOccurs="unbounded" minOccurs="1" name="Valuation" type="bdt:FLEXValuation"/>
            </xsd:sequence>
            <xsd:attribute name="FLEXAssetType" type="bdt:FLEXAssetType" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="optional"/> <!-- non-exposure field -->
            <xsd:attribute name="ParValue" type="xsd:double" use="required"/>
            <xsd:attribute name="PoolType" type="xsd:string" use="optional"/> <!-- MBS: required -->
            <xsd:attribute name="OriginalTerm" type="xsd:int" use="optional"/>
            <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FLEXSpecificRisk">
        <xsd:sequence>
          <!-- If Issuer curve id missing, use market id to resolve curve id -->
          <xsd:element maxOccurs="1" minOccurs="0" name="MarketId" type="bdt:AssetIdentifier"/>
        </xsd:sequence>
        <xsd:attribute name="IssuerCurveName" type="xsd:string" use="optional"/> <!-- Issuer curve name for specific risk -->
        <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/> <!-- Issuer short name for linked specific risk -->
      </xsd:complexType>

      <xsd:complexType name="FLEXValuation"> <!-- time-dimensional data -->
        <xsd:sequence>
          <xsd:choice> <!-- Underlying instrument info, required for Convertible Bond, Equity derivatives, Commodity derivatives -->
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="UnderlyingEquity" type="bdt:FLEXUnderlyingAsset"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="UnderlyingAsset" type="bdt:FLEXUnderlyingAsset"/>
          </xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="UnderlyingCurrency" type="bdt:FLEXUnderlyingCurrency"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EffectiveAnalytics" type="bdt:FLEXEffectiveAnalytics"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SpreadAnalytics" type="bdt:FLEXSpreadAnalytics"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FlexAttribute" type="bdt:FLEXAttribute"/>
        </xsd:sequence>
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="AccruedInterest" type="xsd:double" use="optional"/>
        <xsd:attribute name="EffectiveConvexity" type="xsd:double" use="optional"/>
        <xsd:attribute name="SpreadConvexity" type="xsd:double" use="optional"/>
        <xsd:attribute name="YieldToMaturity" type="xsd:double" use="optional"/>
        <xsd:attribute name="YieldToNext" type="xsd:double" use="optional"/>
        <xsd:attribute name="YieldToBest" type="xsd:double" use="optional"/>
        <xsd:attribute name="YieldToWorst" type="xsd:double" use="optional"/>
        <xsd:attribute name="OnTheRun" type="xsd:boolean" use="optional"/> <!-- for some Government Bonds only -->
        <xsd:attribute name="CouponType" type="xsd:string" use="optional"/> <!-- MBS only -->
        <xsd:attribute name="Price" type="xsd:double" use="optional"/>
        <xsd:attribute name="PriceCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute name="MuniTaxable" type="xsd:boolean" use="optional"/> <!-- Muni only -->
        <xsd:attribute name="MuniTobacco" type="xsd:boolean" use="optional"/> <!-- Muni only -->
        <xsd:attribute name="MuniType" type="xsd:string" use="optional"/> <!-- Muni only -->
        <xsd:attribute name="MuniState" type="xsd:string" use="optional"/> <!-- Muni only -->
        <xsd:attribute name="MuniUse" type="xsd:string" use="optional"/> <!-- Muni only -->
        <xsd:attribute name="ReferenceCurve" type="xsd:string" use="optional"/> <!-- ARR/LIBOR -->
      </xsd:complexType>

      <xsd:complexType name="FLEXUnderlyingAsset">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="MarketId" type="bdt:AssetIdentifier"/>
        </xsd:sequence>
        <xsd:attribute name="Elasticity" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="FLEXUnderlyingCurrency">
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="Elasticity" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="FLEXEffectiveAnalytics">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EffectiveDuration" type="bdt:FLEXEffectiveDuration"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EffectiveDurationData" type="bdt:FLEXDurationData"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="VolatilitySensitivities" type="bdt:FLEXVolatilitySensitivities"/>
        </xsd:sequence>

        <xsd:attribute name="ExposureCurrency" type="xsd:string" use="optional"/> <!-- part of unique key, defaulted to asset currency -->
        <xsd:attribute name="IRVolatilityDuration" type="xsd:double" use="optional"/>
        <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
        <xsd:attribute name="LegPresentValue" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FLEXVolatilitySensitivities">
        <xsd:sequence>
          <xsd:element maxOccurs="3" minOccurs="0" name="Shape" type="bdt:FLEXShape"/>
        </xsd:sequence>
        <xsd:attribute name="TimeToMaturity" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FLEXShape">
        <xsd:attribute name="Type" type="bdt:FlexShapeType" use="required"/>
        <xsd:attribute name="Value" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="FlexShapeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VX_Shift"/>
          <xsd:enumeration value="VX_Spot"/>
          <xsd:enumeration value="VX_Twist"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FLEXEffectiveDuration">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Krd" type="bdt:Krd"/>
        </xsd:sequence>
        <xsd:attribute name="DurationType" type="bdt:FLEXDurationType" use="optional"/>
        <xsd:attribute name="Duration" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FLEXSpreadAnalytics">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ElementSpecificRisk" type="bdt:FLEXSpecificRisk"/> <!-- CDS only -->
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Krd" type="bdt:Krd"/> <!-- optional for CDS only -->
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SpreadDurationData" type="bdt:FLEXDurationData"/>
        </xsd:sequence>
        <xsd:attribute name="SpreadDurationType" type="bdt:FLEXDurationType" use="optional"/> <!-- if not specified, set to SPREAD -->
        <xsd:attribute name="ElementIssuerName" type="xsd:string" use="optional"/> <!-- part of unique key, required for CDS Basket -->
        <xsd:attribute name="ExposureCountry" type="xsd:string" use="optional"/> <!-- used by CDS only -->
        <xsd:attribute name="ExposureCurrency" type="xsd:string" use="optional"/> <!-- part of unique key, defaulted to asset currency -->
        <xsd:attribute name="SpreadDuration" type="xsd:double" use="optional"/>
        <xsd:attribute name="OasToGovt" type="xsd:double" use="optional"/>
        <xsd:attribute name="OasToSwap" type="xsd:double" use="optional"/>
        <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
        <xsd:attribute name="Subsector" type="xsd:string" use="optional"/>
        <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
        <xsd:attribute name="Weight" type="xsd:double" use="optional"/> <!-- optional, CDS Basket constituents only -->
      </xsd:complexType>

      <xsd:complexType name="FLEXDurationData">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Krd" type="bdt:Krd"/>
        </xsd:sequence>
        <xsd:attribute name="DurationType" type="bdt:FLEXDurationDataType" use="required"/> <!-- part of unique key -->
        <xsd:attribute name="Duration" type="xsd:double" use="optional"/>
        <xsd:attribute name="Convexity" type="xsd:double" use="optional"/>
        <xsd:attribute name="Oas" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FLEXAttribute">
        <xsd:attribute name="AttrName" type="xsd:string" use="required"/>
        <xsd:attribute name="AttrValue" type="xsd:string" use="required"/>
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="Krd">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="KeyRate" type="bdt:KeyRate"/>
        </xsd:sequence>
        <xsd:attribute name="Tag" type="bdt:KrdSetType" use="required"/> <!-- Tag identifies KRD set -->
      </xsd:complexType>

      <xsd:complexType name="KeyRate">
        <xsd:attribute name="Term" type="bdt:KrdTerm" use="required"/>
        <xsd:attribute name="Value" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="FLEXDurationType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="EFFECTIVE"/>
          <xsd:enumeration value="BEI"/>
          <xsd:enumeration value="SPREAD"/>
          <xsd:enumeration value="PREPAYMENT"/>
          <xsd:enumeration value="CCSPREAD"/>
          <xsd:enumeration value="MORTGAGE_RATE"/>
          <xsd:enumeration value="TURNOVER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="FLEXDurationDataType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GOVT"/>
          <xsd:enumeration value="BEI"/>
          <xsd:enumeration value="SWAP"/>
          <xsd:enumeration value="MUNI"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="FLEXAssetType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BOND"/> <!-- CORPORATE_BOND, GOVERNMENT_BOND, IPB -->
          <xsd:enumeration value="BOND_DERIVATIVE"/> <!-- bond option, bond future option -->
          <xsd:enumeration value="BOND_FUTURE"/>
          <xsd:enumeration value="CDS"/>
          <xsd:enumeration value="CONVERTIBLE_BOND"/>
          <xsd:enumeration value="CONVERTIBLE_FRN"/>
          <xsd:enumeration value="DERIVATIVE"/> <!-- FX Forward -->
          <xsd:enumeration value="FRN"/>
          <xsd:enumeration value="FUTURE"/> <!-- FX Future, IR Future -->
          <xsd:enumeration value="MBS"/> <!-- MBS, US_MBS -->
          <xsd:enumeration value="MUNI_BOND"/> <!-- MUNI_BOND, US_MUNI_BOND -->
          <xsd:enumeration value="SECURITIZED_PRODUCT"/><!-- US_CMBS, CMBS, ABS, CMO -->
          <xsd:enumeration value="CASH"/>
          <xsd:enumeration value="EQUITY"/>
          <xsd:enumeration value="EQUITY_VARIANCE_SWAP"/>
          <xsd:enumeration value="EQUITY_VOLATILITY_SWAP"/>
          <xsd:enumeration value="VOLATILITY_INDEX_FUTURE"/>
          <xsd:enumeration value="BANK_LOAN"/>
          <xsd:enumeration value="CDO"/>
          <xsd:enumeration value="MUNI_FRN"/>
          <xsd:enumeration value="USER_BOND_FORWARDS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="KrdSetType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="KRDSET_12"/> <!-- KRD_1Y, KRD_2Y, KRD_3Y, KRD_5Y, KRD_7Y, KRD_10Y, KRD_15Y, KRD_20Y, KRD_25Y, KRD_30Y, KRD_40Y, KRD_50Y -->
          <xsd:enumeration value="KRDSET_10"/> <!-- KRD_1M, KRD_6M, KRD_1Y, KRD_2Y, KRD_5Y, KRD_7Y, KRD_10Y, KRD_20Y, KRD_30Y, KRD_50Y -->
          <xsd:enumeration value="KRDSET_14"/> <!-- KRD_1M, KRD_6M, KRD_1Y, KRD_2Y, KRD_5Y, KRD_7Y, KRD_10Y, KRD_20Y, KRD_30Y, KRD_50Y -->
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="KrdTerm">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="KRD_1M"/>
          <xsd:enumeration value="KRD_3M"/>
          <xsd:enumeration value="KRD_6M"/>
          <xsd:enumeration value="KRD_1Y"/>
          <xsd:enumeration value="KRD_2Y"/>
          <xsd:enumeration value="KRD_3Y"/>
          <xsd:enumeration value="KRD_5Y"/>
          <xsd:enumeration value="KRD_7Y"/>
          <xsd:enumeration value="KRD_10Y"/>
          <xsd:enumeration value="KRD_15Y"/>
          <xsd:enumeration value="KRD_20Y"/>
          <xsd:enumeration value="KRD_25Y"/>
          <xsd:enumeration value="KRD_30Y"/>
          <xsd:enumeration value="KRD_40Y"/>
          <xsd:enumeration value="KRD_50Y"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="DurationProxies">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DurationProxy" type="bdt:DurationProxy"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DurationProxyMarketDataSchedule" type="bdt:DurationProxyMarketDataSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="EquityVolatilityFutures">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityVolatilityFuture" type="bdt:EquityVolatilityFuture"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="VolatilityOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="VolatilityOption" type="bdt:VolatilityOption"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="VolatilitySwaps">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="VolatilitySwap" type="bdt:VolatilitySwap"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PrivateRealEstates">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PrivateRealEstate" type="bdt:PrivateRealEstate"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CollateralizedSecurities">
        <xsd:sequence>
          <!--<xsd:element name="CollateralizedSecurity" type="bdt:CollateralizedSecurity" minOccurs="0" maxOccurs="unbounded" />-->
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CashFlowAssumptionSchedule" type="bdt:CashFlowAssumptionSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PrivateEquities">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PrivateEquity" type="bdt:PrivateEquity"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PrivateEquityIndustryMapping" type="bdt:PrivateEquityIndustryMapping"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CustomExposureAssets">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CustomExposureAsset" type="bdt:CustomExposureAsset"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FactorExposuresSchedule" type="bdt:FactorExposuresSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="LeverageSchedule" type="bdt:LeverageSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="InflationLinkedLiabilities">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="InflationLinkedLiability" type="bdt:InflationLinkedLiability"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DiscountSpreadSchedule" type="bdt:DiscountSpreadSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="InflationToDateSchedule" type="bdt:InflationToDateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MultiplierToCurrentPeriodSchedule" type="bdt:MultiplierToCurrentPeriodSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CDSOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSOption" type="bdt:CDSOption"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolatilitySchedule" type="bdt:ImpliedVolatilitySchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DefaultAdjustmentHistory" type="bdt:DefaultAdjustmentHistory"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CDSTranches">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CDSTranche" type="bdt:CDSTranche"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TrancheCorrelationSchedule" type="bdt:TrancheCorrelationSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="NthToDefaults">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="NthToDefault" type="bdt:NthToDefault"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CorrelationSchedule" type="bdt:CorrelationSchedule"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BondForwards">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BondForward" type="bdt:BondForward"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BondForward">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute default="Bond Forward" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ForwardPrice" type="xsd:double" use="required"/>
            <xsd:attribute name="UnderlierID" type="bdt:AssetId" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="DeliveryDate" type="xsd:date" use="required"/>
            <xsd:attribute default="1" name="ContractSize" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:attributeGroup name="BaseInstrumentIdentifier">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetSource" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:attributeGroup name="BaseFundId">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
      </xsd:attributeGroup>

      <xsd:complexType name="FundId">
        <xsd:attributeGroup ref="bdt:BaseFundId"/>
        <xsd:attribute default="BARRA" name="AssetPriority" type="bdt:AssetPriority" use="optional"/>
        <xsd:attribute name="AssetSource" type="xsd:string" use="optional"/>
      </xsd:complexType>



      <xsd:complexType name="BaseInstrument">
        <xsd:attributeGroup ref="bdt:InstrumentIdentifier"/>
        <xsd:attributeGroup ref="bdt:MarketIDsIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="IRFutures">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="IRFuture" type="bdt:IRFuture"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Funds">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Fund" type="bdt:Fund"/>   <!-- this is equivalent to Fund Master in excel template -->
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FundReturn" type="bdt:FundReturn"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AssetAllocation" type="bdt:AssetAllocation"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="EquityBreakdown" type="bdt:TypedBreakdown"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FixedIncomeBreakdown" type="bdt:TypedBreakdown"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CashBreakdown" type="bdt:Breakdown"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CommodityBreakdown" type="bdt:Breakdown"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RealEstateBreakdown" type="bdt:TypedBreakdown"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Fund">   <!-- this is equivalent to Fund Master in excel template -->
        <xsd:complexContent>
          <xsd:extension base="bdt:FundId">
            <xsd:attribute default="Style Fund" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Name" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="ReturnsFrequency" type="xsd:string" use="required"/>
            <xsd:attribute name="InvestmentStyle" type="bdt:InvestmentStyleType" use="required"/>
            <xsd:attribute name="InvestmentSubStyle" type="bdt:InvestmentSubStyleType" use="required"/>
            <xsd:attribute name="PortfolioName" type="xsd:string" use="optional"/>
            <xsd:attribute default="SYSTEM" name="PortfolioOwner" type="xsd:string" use="optional"/>
            <xsd:attribute default="Low" name="RiskProxyConfidence" type="xsd:string" use="optional"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="FromDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ToDate" type="xsd:date" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="InvestmentStyleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="EQUITY"/>
          <xsd:enumeration value="BOND"/>
          <xsd:enumeration value="MIXED"/>
          <xsd:enumeration value="TARGET_MATURITY"/>
          <xsd:enumeration value="MONEY_MARKET_AND_CASH"/>
          <xsd:enumeration value="COMMODITIES"/>
          <xsd:enumeration value="HEDGE_FUND"/>
          <xsd:enumeration value="REAL_ESTATE"/>
          <xsd:enumeration value="PRIVATE_EQUITY"/>
          <xsd:enumeration value="ALTERNATIVE_MUTUAL"/>
          <xsd:enumeration value="ABSOLUTE_MUTUAL"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:simpleType name="InvestmentSubStyleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ACTIVE_LONG_ONLY"/>
          <xsd:enumeration value="ACTIVE_LONG_SHORT_DERIVATIVE"/>
          <xsd:enumeration value="PASSIVE_LONG_ONLY"/>
          <xsd:enumeration value="CONVERTIBLE"/>
          <xsd:enumeration value="INFLATION_LINKED"/>
          <xsd:enumeration value="STABLE_FUND"/>
          <xsd:enumeration value="CONSERVATIVE"/>
          <xsd:enumeration value="BALANCED"/>
          <xsd:enumeration value="AGGRESSIVE"/>
          <xsd:enumeration value="FLEXIBLE"/>
          <xsd:enumeration value="BOND_2010"/>
          <xsd:enumeration value="BOND_2015"/>
          <xsd:enumeration value="BOND_2020_PLUS"/>
          <xsd:enumeration value="MIXED_2010"/>
          <xsd:enumeration value="MIXED_2015"/>
          <xsd:enumeration value="MIXED_2020"/>
          <xsd:enumeration value="MIXED_2025"/>
          <xsd:enumeration value="MIXED_2030"/>
          <xsd:enumeration value="MIXED_2035"/>
          <xsd:enumeration value="MIXED_2040"/>
          <xsd:enumeration value="MIXED_2045"/>
          <xsd:enumeration value="MIXED_2050"/>
          <xsd:enumeration value="MIXED_2050_PLUS"/>
          <xsd:enumeration value="MIXED_2055"/>
          <xsd:enumeration value="MIXED_2060"/>
          <xsd:enumeration value="MIXED_2060_PLUS"/>
          <xsd:enumeration value="OTHER"/>
          <xsd:enumeration value="LONG_ONLY"/>
          <xsd:enumeration value="LEVERAGE"/>
          <xsd:enumeration value="LONG_SHORT"/>
          <xsd:enumeration value="GLOBAL_MACRO"/>
          <xsd:enumeration value="LONG_SHORT_EQUITY"/>
          <xsd:enumeration value="EQUITY_MARKET_NEUTRAL"/>
          <xsd:enumeration value="EQUITY_SHORT_BIAS"/>
          <xsd:enumeration value="MERGER_ARBITRAGE"/>
          <xsd:enumeration value="DISTRESSED_SECURITIES"/>
          <xsd:enumeration value="EVENT_DRIVEN"/>
          <xsd:enumeration value="FIXED_INCOME_ARBITRAGE"/>
          <xsd:enumeration value="CONVERTIBLE_ARBITRAGE"/>
          <xsd:enumeration value="MANAGED_FUTURES"/>
          <xsd:enumeration value="LONG_SHORT_CREDIT"/>
          <xsd:enumeration value="FUND_OF_FUNDS"/>
          <xsd:enumeration value="OPTIONS_STRATEGY"/>
          <xsd:enumeration value="EMERGING_MARKETS"/>
          <xsd:enumeration value="MULTI_STRATEGY"/>
          <xsd:enumeration value="CURRENCY"/>
          <xsd:enumeration value="RELATIVE_VALUE"/>
          <xsd:enumeration value="PUBLIC"/>
          <xsd:enumeration value="PRIVATE_CORE"/>
          <xsd:enumeration value="PRIVATE_OPPORTUNISTIC"/>
          <xsd:enumeration value="PRIVATE_VALUE_ADD"/>
          <xsd:enumeration value="EARLY_VENTURE"/>
          <xsd:enumeration value="LATE_VENTURE"/>
          <xsd:enumeration value="MEZZANINE"/>
          <xsd:enumeration value="SMALL_BUYOUT"/>
          <xsd:enumeration value="LARGE_BUYOUT"/>
          <xsd:enumeration value="DISTRESSED_DEBT"/>
          <xsd:enumeration value="NATURAL_RESOURCES"/>
          <xsd:enumeration value="HIGH"/>
          <xsd:enumeration value="MEDIUM"/>
          <xsd:enumeration value="LOW"/>
          <xsd:enumeration value="BOND"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FundReturn">
        <xsd:attributeGroup ref="bdt:BaseFundId"/>
        <xsd:attribute name="ReturnDate" type="xsd:date" use="required"/>              <!-- show 'return date' in UI -->
        <xsd:attribute name="ReturnValuePercentage" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="AssetAllocation">
        <xsd:attributeGroup ref="bdt:BaseFundId"/>
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="EquityAllocationPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute default="Low" name="EquityAllocationConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="EquityRegion" type="xsd:string" use="optional"/>
        <xsd:attribute default="Low" name="EquityRegionConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="EquitySizeTilt" type="bdt:EquitySizeTiltType" use="optional"/>
        <xsd:attribute default="Low" name="EquitySizeTiltConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="EquityStyleTilt" type="bdt:EquityStyleTiltType" use="optional"/>
        <xsd:attribute default="Low" name="EquityStyleTiltConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="FixedIncomeAllocationPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute default="Low" name="FixedIncomeAllocationConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="FixedIncomeRegion" type="xsd:string" use="optional"/>
        <xsd:attribute default="Low" name="FixedIncomeRegionConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="Duration" type="xsd:double" use="optional"/>
        <xsd:attribute default="Low" name="DurationConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="CashAllocationPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute default="Low" name="CashAllocationConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="CashRegion" type="xsd:string" use="optional"/>
        <xsd:attribute default="Low" name="CashRegionConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="CommodityAllocationPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute default="Low" name="CommodityAllocationConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="RealEstateAllocationPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute default="Low" name="RealEstateAllocationConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="RealEstateRegion" type="xsd:string" use="optional"/>
        <xsd:attribute default="Low" name="RealEstateRegionConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="EquityVega" type="xsd:double" use="optional"/>
        <xsd:attribute default="Low" name="EquityVegaConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="HedgedToBaseCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute default="Low" name="HedgedToBaseCurrencyConfidence" type="xsd:string" use="optional"/>
        <xsd:attribute name="FeesPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute name="HedgeFundDynamicBeta" type="xsd:string" use="optional"/>
      </xsd:complexType>


      <xsd:simpleType name="EquitySizeTiltType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SMALL"/>
          <xsd:enumeration value="MID"/>
          <xsd:enumeration value="LARGE"/>
          <xsd:enumeration value="NONE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="EquityStyleTiltType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VALUE"/>
          <xsd:enumeration value="CORE"/>
          <xsd:enumeration value="GROWTH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="Breakdown">
        <xsd:attributeGroup ref="bdt:BaseFundId"/>
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="BreakdownValue" type="xsd:string" use="required"/>
        <xsd:attribute name="BreakdownWeightPercentage" type="xsd:double" use="required"/>
        <xsd:attribute default="Low" name="Confidence" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="TypedBreakdown">
        <xsd:complexContent>
          <xsd:extension base="bdt:Breakdown">
            <xsd:attribute name="BreakdownType" type="bdt:BreakdownTypes" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="BreakdownTypes">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="EQUITY_COUNTRY"/>
          <xsd:enumeration value="EQUITY_SECTOR"/>
          <xsd:enumeration value="BOND_DENOMINATION_COUNTRY"/>
          <xsd:enumeration value="BOND_SECTOR"/>
          <xsd:enumeration value="BOND_DURATION"/>
          <xsd:enumeration value="BOND_QUALITY"/>
          <xsd:enumeration value="BOND_ISSUER"/>
          <xsd:enumeration value="RE_COUNTRY"/>
        </xsd:restriction>
      </xsd:simpleType>



      <xsd:complexType name="IRFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute default="IR Future" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ReferenceRate" type="bdt:IRFutureReferenceRate" use="required"/>
            <xsd:attribute name="RateTerm" type="bdt:RateTerm" use="optional"/>
            <xsd:attribute name="RMReferenceRate" type="xsd:string" use="optional"/>
            <xsd:attribute name="RMRateTerm" type="xsd:string" use="optional"/>
            <xsd:attribute name="ContractPeriod" type="xsd:double" use="optional"/>
            <xsd:attribute name="YieldBasedQuote" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="DayCountBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="AveragingStartDate" type="xsd:date" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="IRFutureReferenceRate">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="RIBA_REPO"/>
          <xsd:enumeration value="OIS"/>
          <xsd:enumeration value="CMS"/>
          <xsd:enumeration value="EURIBOR"/>
          <xsd:enumeration value="LIBOR"/>
          <xsd:enumeration value="MMD"/>
          <xsd:enumeration value="US_COF"/>
          <xsd:enumeration value="SWAP"/>
          <xsd:enumeration value="INFLATION"/>
          <xsd:enumeration value="US_FED_FUNDS"/>
          <xsd:enumeration value="US_PRIME"/>
          <xsd:enumeration value="30_YR_MTG"/>
          <xsd:enumeration value="1M_CP"/>
          <xsd:enumeration value="GOVT"/>
          <xsd:enumeration value="CORRA_OIS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RateTerm">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="1D"/>
          <xsd:enumeration value="7D"/>
          <xsd:enumeration value="1M"/>
          <xsd:enumeration value="2M"/>
          <xsd:enumeration value="3M"/>
          <xsd:enumeration value="4M"/>
          <xsd:enumeration value="6M"/>
          <xsd:enumeration value="9M"/>
          <xsd:enumeration value="10M"/>
          <xsd:enumeration value="1Y"/>
          <xsd:enumeration value="2Y"/>
          <xsd:enumeration value="3Y"/>
          <xsd:enumeration value="5Y"/>
          <xsd:enumeration value="7Y"/>
          <xsd:enumeration value="10Y"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="Actions">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AssetAction" type="bdt:AssetAction"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:attributeGroup name="InstrumentIdentifier">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute default="BARRA" name="AssetPriority" type="bdt:AssetPriority" use="optional"/>
        <xsd:attribute name="AssetSource" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="AssetAction">
        <xsd:attribute name="ActionType" type="bdt:ActionType" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="BaseBond">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="JapanSubType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/>
            <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
            <xsd:attribute name="RatingSource" type="bdt:RatingSource" use="optional"/>
            <xsd:attribute name="ParValue" type="xsd:double" use="required"/>
            <xsd:attribute name="Coupon" type="xsd:double" use="required"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute default="2099-12-31" name="MaturityDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="Callable" type="xsd:boolean" use="required"/>
            <xsd:attribute name="Putable" type="xsd:boolean" use="required"/>
            <xsd:attribute name="MandatorySinker" type="xsd:boolean" use="required"/>
            <xsd:attribute name="AmountIssued" type="xsd:double" use="optional"/>
            <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssueDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FirstAccrualDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FirstCouponDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="LastCouponDate" type="xsd:date" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CashflowBond">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerType" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
            <xsd:attribute name="RatingSource" type="bdt:RatingSource" use="optional"/>
            <xsd:attribute name="ParValue" type="xsd:double" use="optional"/>
            <xsd:attribute default="2099-12-31" name="MaturityDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssueDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FirstAccrualDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FirstCouponDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="LastCouponDate" type="xsd:date" use="optional"/>
            <xsd:attribute default="6M" name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute name="SettlementDays" type="xsd:int" use="optional"/>
            <xsd:attribute default="false" name="MUNIIsTaxable" type="xsd:boolean" use="optional"/>
            <xsd:attribute default="false" name="MUNIIsTobacco" type="xsd:boolean" use="optional"/>
            <xsd:attribute default="GO" name="MUNIType" type="xsd:string" use="optional"/>
            <xsd:attribute name="MUNIState" type="xsd:string" use="optional"/>
            <xsd:attribute name="MUNIUse" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CashFlowAsset">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerType" type="bdt:CashFlowAssetIssuerType" use="optional"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="DiscountingCurve" type="bdt:DiscountingCurve" use="optional"/>
            <xsd:attribute name="RSDiscountingCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EquityClaim">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="RedemptionDate" type="xsd:date" use="required"/>
            <xsd:attribute name="RedemptionPrice" type="xsd:double" use="required"/>
            <xsd:attribute name="ExRightDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ConversionRatio" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CapAndFloor">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="EndDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="OrderType" type="bdt:OrderType" use="required"/>
            <xsd:attribute name="RateTerm" type="xsd:string" use="required"/>
            <xsd:attribute name="ReferenceRate" type="bdt:ReferenceRate" use="required"/>
            <xsd:attribute name="RMReferenceRate" type="xsd:string" use="optional"/>
            <xsd:attribute name="CapOrFloorRate" type="xsd:double" use="required"/>
            <xsd:attribute name="Margin" type="xsd:double" use="optional"/>
            <xsd:attribute name="Multiplier" type="xsd:double" use="optional"/>
            <xsd:attribute name="ResetFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute default="false" name="ConvexityCorrection" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute name="FirstPaymentDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ResetInArrears" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="PricingModel" type="xsd:string" use="optional"/>
            <xsd:attribute default="false" name="IsCMS" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="CurrentRate" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="OISCapAndFloor">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="EndDate" type="xsd:date" use="required"/>
            <xsd:attribute name="CapRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="FloorRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="ReferenceIndex" type="xsd:string" use="optional"/>
            <xsd:attribute name="RateAveragingType" type="bdt:RSRateAveragingType" use="optional"/>
            <xsd:attribute name="FirstPaymentDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="required"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="BusinessDayRule" type="bdt:RSBusinessDayRule" use="optional"/>
            <xsd:attribute name="PaymentDelay" type="xsd:int" use="optional"/>
            <xsd:attribute name="LookbackPeriod" type="xsd:int" use="optional"/>
            <xsd:attribute name="LookbackPeriodType" type="bdt:RSLookbackPeriodType" use="optional"/>
            <xsd:attribute name="LookbackShiftType" type="bdt:RSLookbackShiftType" use="optional"/>
            <xsd:attribute name="InAdvance" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="FixedPeriodLength" type="xsd:int" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="RSRateAveragingType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COMPOUNDED_RATE"/>
          <xsd:enumeration value="ARITHMETIC_AVERAGE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RSBusinessDayRule">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FOLLOWING"/>
          <xsd:enumeration value="MODIFIED_FOLLOWING"/>
          <xsd:enumeration value="NO_ADJUSTMENT"/>
          <xsd:enumeration value="PRECEDING"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RSLookbackPeriodType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BUSINESS_DAYS"/>
          <xsd:enumeration value="CALENDAR_DAYS"/>
          <xsd:enumeration value="FIRST_BUSINESS_DAY_IN_CALENDAR_MONTH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RSLookbackShiftType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="INTEREST_PERIOD_WEIGHTED_OBSERVATION_SHIFT"/>
          <xsd:enumeration value="OBSERVATION_SHIFT"/>
          <xsd:enumeration value="NO_OBSERVATION_SHIFT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:attributeGroup name="FRNGroup">
        <xsd:attribute name="ReferenceRate" type="bdt:ReferenceRate" use="optional"/>
        <xsd:attribute name="RateTerm" type="xsd:string" use="optional"/>
        <xsd:attribute name="ResetFrequency" type="xsd:string" use="optional"/>
        <xsd:attribute name="NoticeDays" type="xsd:int" use="optional"/>
        <xsd:attribute name="Margin" type="xsd:double" use="optional"/>
        <xsd:attribute name="Multiplier" type="xsd:double" use="optional"/>
        <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
        <xsd:attribute name="Floor" type="xsd:double" use="optional"/>
        <xsd:attribute name="PeriodicCap" type="xsd:double" use="optional"/>
        <xsd:attribute name="PeriodicFloor" type="xsd:double" use="optional"/>
        <xsd:attribute name="LockOutPeriod" type="xsd:int" use="optional"/>
        <xsd:attribute name="RSReferenceRate" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="Bond">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="JapanSubType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/>
            <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
            <xsd:attribute name="RatingSource" type="bdt:RatingSource" use="optional"/>
            <xsd:attribute name="ParValue" type="xsd:double" use="required"/>
            <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute default="2099-12-31" name="MaturityDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="Callable" type="xsd:boolean" use="required"/>
            <xsd:attribute name="Putable" type="xsd:boolean" use="required"/>
            <xsd:attribute name="IsZeroCoupon" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="MandatorySinker" type="xsd:boolean" use="required"/>
            <xsd:attribute name="AmountIssued" type="xsd:double" use="optional"/>
            <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssueDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FirstAccrualDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FirstCouponDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="LastCouponDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="CouponType" type="bdt:CouponType" use="required"/>
            <xsd:attribute name="IssuerType" type="bdt:IssuerType" use="required"/>
            <xsd:attribute name="RefundDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="SettlementDays" type="xsd:int" use="optional"/>
            <xsd:attribute name="AssumedRedemptionDate" type="bdt:AssumedRedemptionDate" use="optional"/>
            <xsd:attribute name="Prerefundable" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="PrerefundedDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="CouponConversionDate" type="xsd:date" use="optional"/>
            <xsd:attribute default="false" name="MUNIIsTaxable" type="xsd:string" use="optional"/>
            <xsd:attribute default="false" name="MUNIIsTobacco" type="xsd:string" use="optional"/>
            <xsd:attribute default="GO" name="MUNIType" type="xsd:string" use="optional"/>
            <xsd:attribute name="MUNIState" type="xsd:string" use="optional"/>
            <xsd:attribute name="MUNIUse" type="xsd:string" use="optional"/>
            <xsd:attribute default="EQUAL_AMOUNTS" name="CouponAmountMethod" type="bdt:CouponAmountMethod" use="optional"/>
            <xsd:attribute default="COMPOUNDED" name="RateAveragingType" type="bdt:ARateAveragingType" use="optional"/>
            <xsd:attribute default="BUSINESS_DAYS" name="LookbackPeriodType" type="bdt:LookbackPeriodType" use="optional"/>
            <xsd:attribute name="LookbackPeriod" type="xsd:int" use="optional"/>
            <xsd:attribute default="INTEREST_PERIOD_WEIGHTED_SHIFT" name="LookbackShiftType" type="bdt:LookbackShiftType" use="optional"/>
            <xsd:attribute default="0" name="PaymentDelay" type="xsd:int" use="optional"/>
            <xsd:attribute name="RiskfreeCurveType" type="xsd:string" use="optional"/>
            <xsd:attribute name="DiscountCurveType" type="xsd:string" use="optional"/>
            <xsd:attribute name="ExDividendDays" type="xsd:string" use="optional"/>
            <xsd:attributeGroup ref="bdt:FRNGroup"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="CouponAmountMethod">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="EQUAL_AMOUNTS"/>
          <xsd:enumeration value="ACCRUAL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ARateAveragingType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COMPOUNDED"/>
          <xsd:enumeration value="ARITHMETIC"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="LookbackPeriodType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BUSINESS_DAYS"/>
          <xsd:enumeration value="CALENDAR_DAYS"/>
          <xsd:enumeration value="FIRST_BUSINESS_DAY_IN_MONTH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="LookbackShiftType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="INTEREST_PERIOD_WEIGHTED_SHIFT"/>
          <xsd:enumeration value="OBSERVATION_SHIFT"/>
          <xsd:enumeration value="NO_OBSERVATION_SHIFT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssumedRedemptionDate">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MATURITY_DATE"/>
          <xsd:enumeration value="NEXT_CALL_DATE"/>
          <xsd:enumeration value="NEXT_CALL_DATE_UNTIL_RESET"/>
          <xsd:enumeration value="NEXT_PUT_DATE"/>
          <xsd:enumeration value="NEXT_RESET_DATE"/>
          <xsd:enumeration value="YIELD_TO_WORST_DATE"/>
          <xsd:enumeration value="YIELD_TO_WORST_DATE_UNTIL_RESET"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="SyndicatedLoan">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <!-- Bond like attributes. Refer to the same attribute name in Bond TYPE for its data type -->
            <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="AmountIssued" type="xsd:double" use="optional"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
            <xsd:attribute name="CouponFrequency" type="bdt:FrequencyTYPE" use="optional"/>
            <xsd:attribute name="CouponType" type="bdt:SyndicatedLoanCouponType" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="FirstAccrualDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FirstCouponDate" type="xsd:date" use="optional"/>
            <xsd:attribute default="Syndicated Loan" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssueDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/>
            <xsd:attribute default="CORPORATE" name="IssuerType" type="bdt:SyndicatedLoanIssuerType" use="optional"/>
            <xsd:attribute name="LastCouponDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ParValue" type="xsd:double" use="required"/>
            <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
            <xsd:attribute name="RatingSource" type="bdt:RatingSource" use="optional"/>
            <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute name="SettlementDays" type="xsd:int" use="optional"/>
            <xsd:attribute default="false" name="Callable" type="xsd:boolean" use="optional"/>
            <xsd:attribute default="false" name="Putable" type="xsd:boolean" use="optional"/>
            <xsd:attribute default="false" name="MandatorySinker" type="xsd:boolean" use="optional"/>

            <!-- FRN like attributes. Refer to the same attribute name in Bond TYPE for its data type -->
            <xsd:attribute name="RateTerm" type="bdt:FrequencyTYPE" use="optional"/>
            <xsd:attribute name="ReferenceRate" type="bdt:ReferenceRate" use="optional"/>
            <xsd:attribute name="ResetFrequency" type="bdt:FrequencyTYPE" use="optional"/>
            <xsd:attribute default="0" name="Margin" type="xsd:double" use="optional"/>
            <xsd:attribute default="1" name="Multiplier" type="xsd:double" use="optional"/>
            <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
            <xsd:attribute name="Floor" type="xsd:double" use="optional"/>

            <!-- Syndicated Loan, a.k.a Bank Loan, attributes -->
            <xsd:attribute name="Collateral" type="xsd:string" use="optional"/>
            <xsd:attribute name="Lien" type="xsd:string" use="optional"/>
            <xsd:attribute name="LoanPurpose" type="xsd:string" use="optional"/>
            <xsd:attribute name="LoanType" type="bdt:LoanTypeTYPE" use="required"/>
            <xsd:attribute default="false" name="PaymentInKind" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="SICDivision" type="xsd:string" use="optional"/>
            <xsd:attribute name="SICCode" type="xsd:int" use="optional"/>
            <xsd:attribute name="SICCodeDescription" type="xsd:string" use="optional"/>
            <xsd:attribute name="Sponsor" type="xsd:string" use="optional"/>
            <xsd:attribute name="Tranche" type="xsd:string" use="optional"/>
            <xsd:attribute default="CLEAN" name="PriceFormat" type="bdt:PriceFormatTYPE" use="optional"/>
            <xsd:attribute name="RMReferenceRate" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>


      <xsd:complexType name="PreferredEquity">
        <xsd:complexContent>
          <xsd:extension base="bdt:Bond">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="PreferredData">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseUnderlier">
            <xsd:attribute name="EffectiveDate" type="xsd:date" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ConvertibleBond">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseBond">
            <xsd:attribute name="IssuerType" type="bdt:IssuerType" use="required"/>
            <xsd:attribute default="FIXED" name="CouponType" type="bdt:CouponType" use="optional"/>
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
            <xsd:attribute default="REGULAR" name="ConvertibleType" type="bdt:ConvertibleType" use="optional"/>
            <xsd:attribute default="DATE" name="ConversionScheduleType" type="bdt:ConversionScheduleType" use="optional"/>
            <xsd:attribute name="InitialSharePrice" type="xsd:double" use="optional"/>
            <xsd:attribute default="1" name="MaxConversionRatio" type="xsd:double" use="optional"/>
            <xsd:attribute name="ConversionStyle" type="bdt:ConversionStyle" use="required"/>
            <xsd:attribute name="PERCSCapYield" type="xsd:double" use="optional"/>
            <xsd:attribute name="CashAmountPaid" type="xsd:double" use="optional"/>
            <xsd:attribute name="FixedExchangeRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="ScrewClause" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="Calibration" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="CouponConversionDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="IsPerpetual" type="xsd:boolean" use="optional"/>
            <xsd:attributeGroup ref="bdt:FRNGroup"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="ConversionScheduleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PRICE"/>
          <xsd:enumeration value="DATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="HedgeFund">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="PrimaryStyle" type="bdt:HedgeFundStyle" use="required"/>
            <xsd:attribute default="Hedge Fund" name="InstrumentType" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="HedgeFundAttribute">
        <xsd:attribute name="Style" type="bdt:HedgeFundStyle" use="optional"/>
        <xsd:attribute name="Weight" type="xsd:double" use="optional"/>
        <xsd:attribute name="AssetClassFocus" type="xsd:string" use="required"/>
        <xsd:attribute name="GeoFocus" type="xsd:string" use="required"/>
        <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
        <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="EndDate" type="xsd:date" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="HedgeFundReturn">
        <xsd:attribute name="Year" type="xsd:int" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
        <xsd:attributeGroup ref="bdt:HFReturnsGroup"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:attributeGroup name="HFReturnsGroup">
        <xsd:attribute name="R1" type="xsd:double" use="optional"/>
        <xsd:attribute name="R2" type="xsd:double" use="optional"/>
        <xsd:attribute name="R3" type="xsd:double" use="optional"/>
        <xsd:attribute name="R4" type="xsd:double" use="optional"/>
        <xsd:attribute name="R5" type="xsd:double" use="optional"/>
        <xsd:attribute name="R6" type="xsd:double" use="optional"/>
        <xsd:attribute name="R7" type="xsd:double" use="optional"/>
        <xsd:attribute name="R8" type="xsd:double" use="optional"/>
        <xsd:attribute name="R9" type="xsd:double" use="optional"/>
        <xsd:attribute name="R10" type="xsd:double" use="optional"/>
        <xsd:attribute name="R11" type="xsd:double" use="optional"/>
        <xsd:attribute name="R12" type="xsd:double" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="CallSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Price" type="xsd:double" use="required"/>
        <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ConvertibleCallSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:CallSchedule">
            <xsd:attribute name="TriggerLevel" type="xsd:double" use="optional"/>
            <xsd:attribute name="SoftCallDays" type="xsd:int" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ConversionSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="ConversionRatio" type="xsd:double" use="required"/>
        <xsd:attribute name="StockPrice" type="xsd:double" use="optional"/>
        <xsd:attribute name="TriggerPrice" type="xsd:double" use="optional"/>
        <xsd:attribute name="TriggerConvRatio" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="PutSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Price" type="xsd:double" use="required"/>
        <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="SinkSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute default="100" name="Price" type="xsd:double" use="optional"/>
        <xsd:attribute name="Amount" type="xsd:string" use="required"/>
        <xsd:attribute name="SinkType" type="bdt:SinkType" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="AmountOutstandingSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="AmountOutstanding" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="DealSpreadSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="DealSpread" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CDSCurrentFactorSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="CurrentFactor" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CouponRateSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Coupon" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CLNCouponRateSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:CouponRateSchedule"/>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CDSBasketCouponRateSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:CouponRateSchedule"/>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="IRSLegCouponRateSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:CouponRateSchedule">
            <xsd:attribute name="LegType" type="bdt:LegType" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BaseExerciseSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="SwaptionExerciseSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseExerciseSchedule"/>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FXOptionExerciseSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseExerciseSchedule">
            <xsd:attribute name="Price" type="xsd:double" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ExerciseSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Price" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ImpliedVolatilitySchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="RatingSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Rating" type="xsd:string" use="required"/>
        <xsd:attribute name="RatingSource" type="bdt:RatingSource" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="InflationRateSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="IRFactor" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="SectorSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Sector" type="xsd:string" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="SubSectorSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="SubSector" type="xsd:string" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="SpreadDurationSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="SpreadDuration" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CashflowSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Interest" type="xsd:double" use="required"/>
        <xsd:attribute name="Principal" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ForwardRateAgreement">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="SettlementDate" type="xsd:date" use="required"/>
            <xsd:attribute name="EndDate" type="xsd:date" use="required"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
            <xsd:attribute default="30/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="FRARate" type="xsd:double" use="required"/>
            <xsd:attribute name="RateTerm" type="xsd:string" use="required"/>
            <xsd:attribute name="ReferenceRate" type="bdt:ReferenceRate" use="required"/>
            <xsd:attribute name="RMReferenceRate" type="xsd:string" use="optional"/>
            <xsd:attribute default="1" name="Multiplier" type="xsd:double" use="optional"/>
            <xsd:attribute default="0" name="Margin" type="xsd:double" use="optional"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="FixingDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="FixingRate" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="Repo">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="RepoType" type="bdt:RepoType" use="required"/>
            <xsd:attribute name="RepoRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="CollateralType" type="bdt:CollateralType" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="SalePrice" type="xsd:double" use="optional"/>
            <xsd:attribute name="SaleDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="RepurchasePrice" type="xsd:double" use="optional"/>
            <xsd:attribute name="RepurchaseDate" type="xsd:date" use="required"/>
            <xsd:attribute name="Haircut" type="xsd:double" use="optional"/>
            <xsd:attribute default="30/360" name="AccrualBasis" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CFAssetCashFlowSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="CashFlow" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="JapanSubTypeSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="JapanSubType" type="xsd:string" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="LinkProxy">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="PriceCurrency" type="xsd:string" use="optional"/>
            <xsd:attribute default="APPEND" name="ImportAs" type="bdt:ImportAs" use="optional"/> <!-- this is only used by LinkProxy Import -->
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="ImportAs">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="APPEND"/>
          <xsd:enumeration value="OVERWRITE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="BaseSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BaseCDSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseSwap">
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute default="3M" name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute default="30/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute default="40" name="RecoveryRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="PriceCurrency" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CMBX">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="RecoveryRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="PriceCurrency" type="xsd:string" use="optional"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="UnderlierID" type="xsd:string" use="optional"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="optional"/>
            <xsd:attribute name="FixedRecovery" type="xsd:double" use="optional"/>
            <xsd:attribute name="DealSpread" type="xsd:double" use="required"/>
            <xsd:attribute name="SpreadInAdvance" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ProtectionSideType" type="xsd:string" use="optional"/>
            <xsd:attribute name="AmortizationRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="NotionalIsInArrears" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="AmortizeDuringAging" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="CDSCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="PriceIsDirty" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="IssuerType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="LastCouponDateBeforeMaturity" type="xsd:date" use="optional"/>
            <xsd:attribute default="true" name="IsCMBX" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ProtectionLegID" type="xsd:string" use="optional"/>
            <xsd:attribute name="PremiumLegID" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CDSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseCDSwap">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="optional"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="optional"/>
            <xsd:attribute name="FixedRecovery" type="xsd:double" use="optional"/>
            <xsd:attribute name="DealSpread" type="xsd:double" use="required"/>
            <xsd:attribute name="SpreadInAdvance" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ProtectionSideType" type="xsd:string" use="optional"/>
            <xsd:attribute name="AmortizationRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="NotionalIsInArrears" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="AmortizeDuringAging" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="CDSCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="PriceIsDirty" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="IssuerType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="LastCouponDateBeforeMaturity" type="xsd:date" use="optional"/>
            <xsd:attribute name="IsCMBX" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ProtectionLegID" type="xsd:string" use="optional"/>
            <xsd:attribute name="PremiumLegID" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CLN">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute default="0" name="PrincipalProtection" type="xsd:double" use="optional"/>
            <xsd:attribute name="CouponType" type="bdt:CouponType" use="required"/>
            <xsd:attribute name="Coupon" type="xsd:double" use="required"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="required"/>
            <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attribute name="RateIndex" type="bdt:RateIndex" use="optional"/>
            <xsd:attribute name="Margin" type="xsd:double" use="optional"/>
            <xsd:attribute default="40" name="RecoveryRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="PriceCurrency" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CDSBasket">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseCDSwap">
            <xsd:attribute default="false" name="Funded" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="CouponType" type="bdt:CouponType" use="optional"/>
            <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
            <xsd:attribute name="RateIndex" type="bdt:RateIndex" use="optional"/>
            <xsd:attribute name="Margin" type="xsd:double" use="optional"/>
            <xsd:attribute default="0" name="PrincipalProtection" type="xsd:double" use="optional"/>
            <xsd:attribute name="DealSpread" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BaseUnderlier">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
        <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
        <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetSource" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="CDSBasketConstituent">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseUnderlier">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="IRSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseSwap">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="optional"/>
            <xsd:attribute name="ExchangeNotionalType" type="xsd:string" use="optional"/>
            <xsd:attribute name="DiscountingCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="IRCalibration" type="xsd:string" use="optional"/>
            <xsd:attribute name="ResettableLeg" type="xsd:string" use="optional"/>
            <xsd:attribute name="AmortizingDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="AmortizingRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="UsePre-DIConvention" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="IRSwapLeg">
        <xsd:attribute name="ContractSize" type="xsd:double" use="optional"/>
        <xsd:attribute name="LegType" type="bdt:LegType" use="required"/>
        <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
        <xsd:attribute name="CouponType" type="bdt:CouponType" use="required"/>
        <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
        <xsd:attribute name="InArrears" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DateRollConvention" type="bdt:DateRollConvention" use="optional"/>
        <xsd:attribute default="PERIODIC_PAYMENT" name="AccrualType" type="bdt:AccrualType" use="optional"/>
        <xsd:attribute name="IRDiscountCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="DiscountCurveSpread" type="xsd:double" use="optional"/>
        <xsd:attribute name="IRFirstCouponDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="InflationOffset" type="xsd:double" use="optional"/>
        <xsd:attribute name="ReferenceRateIsRisky" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="InflationIndex" type="xsd:string" use="optional"/>
        <xsd:attribute name="InflationLag" type="xsd:integer" use="optional"/>
        <xsd:attribute name="ReferenceFrequency" type="xsd:string" use="optional"/>
        <xsd:attribute name="BreakEvenInflationCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="RMReferenceRate" type="xsd:string" use="optional"/>
        <xsd:attribute name="RateAveragingType" type="bdt:IRSwapLegRateAveragingType" use="optional"/>
        <xsd:attribute name="LookbackPeriodType" type="bdt:IRSwapLegLookbackPeriodType" use="optional"/>
        <xsd:attribute name="LookbackShiftType" type="bdt:IRSwapLegLookbackShiftType" use="optional"/>
        <xsd:attribute name="LookbackPeriod" type="xsd:integer" use="optional"/>
        <xsd:attribute name="PaymentDelay" type="xsd:integer" use="optional"/>
        <xsd:attribute default="false" name="IsCouponBlank" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LegID" type="xsd:string" use="optional"/>
        <xsd:attributeGroup ref="bdt:FRNGroup"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="IRSwapCancelDateSchedule">
        <xsd:attribute name="CancelDate" type="xsd:date" use="required"/>
        <xsd:attribute name="CancellationFee" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="IRSwapAmortizationSchedule">
        <xsd:attribute name="PaymentDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="PrincipalAmount" type="xsd:double" use="optional"/>
        <xsd:attribute name="Leg" type="bdt:Leg" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="BaseBarrierOptionAttributes">
        <xsd:attribute name="BarrierType" type="bdt:BarrierType" use="required"/>
        <xsd:attribute name="BarrierLevel" type="xsd:double" use="required"/>
        <xsd:attribute name="BarrierStartDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="BarrierEndDate" type="xsd:date" use="required"/>
        <xsd:attribute name="HitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="Rebate" type="xsd:double" use="required"/>
        <xsd:attribute name="RebateAtEnd" type="xsd:boolean" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>


      <xsd:complexType name="EquityBarrierOptionAttributes">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseBarrierOptionAttributes">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FXBarrierOptionAttributes">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseBarrierOptionAttributes">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="AsianOptionAttributes">
        <xsd:attribute name="AverageType" type="bdt:AverageType" use="required"/>
        <xsd:attribute name="AverageStart" type="xsd:date" use="optional"/>
        <xsd:attribute name="AverageEnd" type="xsd:date" use="optional"/>
        <xsd:attribute name="NumberOfSamplingPoints" type="xsd:int" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="AsianOptionPricePool">
        <xsd:attribute name="PriceDate" type="xsd:date" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="TotalReturnSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:LinkProxy">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="EffectiveDate" type="xsd:date" use="required"/>
            <xsd:attribute name="TerminationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
            <xsd:attribute name="PaymentFrequency" type="xsd:string" use="required"/>
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="FixedRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="PaymentType" type="xsd:string" use="required"/>
            <xsd:attribute name="TotalReturnPaymentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="AccrualBasis" type="xsd:string" use="optional"/>
            <xsd:attributeGroup ref="bdt:FRNGroup"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="TotalReturnSwapCouponRateSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:CouponRateSchedule">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="RSTotalReturnSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:LinkProxy">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="optional"/>
            <xsd:attribute name="NumberOfShares" type="xsd:double" use="optional"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute name="TRSType" type="bdt:TRSInstSubType" use="required"/>
            <xsd:attribute default="RECEIVE" name="LegType" type="bdt:TRSLegType" use="optional"/>
            <xsd:attribute name="Beta" type="xsd:double" use="optional"/>
            <xsd:attribute default="6M" name="PaymentFrequency" type="bdt:ReferenceFrequencyTYPE" use="optional"/>
            <xsd:attribute name="FirstPaymentDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="DiscountCurveSpread" type="xsd:double" use="optional"/>
            <xsd:attribute name="LegID" type="xsd:string" use="optional"/>
            <xsd:attribute default="false" name="SinglePeriodConvention" type="xsd:boolean" use="optional"/>
            <xsd:attribute default="false" name="IsQuanto" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="TRSFinancingLeg">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attribute name="NotionalAmount" type="xsd:double" use="optional"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
        <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="DiscountCurveSpread" type="xsd:double" use="optional"/>
        <xsd:attribute name="CouponFrequency" type="bdt:ReferenceFrequencyTYPE" use="optional"/>
        <xsd:attribute name="FirstCouponDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="LastCouponDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="DayCountBasis" type="bdt:DayCountBasisType" use="optional"/>
        <xsd:attribute name="FixedCoupon" type="xsd:double" use="optional"/>
        <xsd:attribute default="ACCRUAL" name="FixedCouponType" type="bdt:FixedCouponType" use="optional"/>
        <xsd:attribute name="ReferenceRate" type="xsd:string" use="optional"/>
        <xsd:attribute name="RateTerm" type="bdt:TRSRateTermTYPE" use="optional"/>
        <xsd:attribute name="ReferenceFrequency" type="bdt:ReferenceFrequencyTYPE" use="optional"/>
        <xsd:attribute name="ResetFrequency" type="bdt:ReferenceFrequencyTYPE" use="optional"/>
        <xsd:attribute name="Margin" type="xsd:double" use="optional"/>
        <xsd:attribute name="Multiplier" type="xsd:double" use="optional"/>
        <xsd:attribute name="ReferenceDayCount" type="bdt:ReferenceDayCountType" use="optional"/>
        <xsd:attribute name="InArrears" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="GEOMETRIC" name="RateAveragingType" type="bdt:RateAveragingType" use="optional"/>
        <xsd:attribute name="LegID" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PricingInputs">
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
        <xsd:attribute name="AssetFixingLevel" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:simpleType name="Leg">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PAY"/>
          <xsd:enumeration value="RECEIVE"/>
          <xsd:enumeration value="BOTH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TRSInstSubType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="EQUITY TRS"/>
          <xsd:enumeration value="BOND TRS"/>
          <xsd:enumeration value="COMMODITY TRS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TRSLegType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PAY"/>
          <xsd:enumeration value="RECEIVE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="DayCountBasisType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="30/360"/>
          <xsd:enumeration value="30E/360"/>
          <xsd:enumeration value="30E/360E"/>
          <xsd:enumeration value="ACT/360"/>
          <xsd:enumeration value="ACT/365"/>
          <xsd:enumeration value="ACT/ACT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="FixedCouponType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ACCRUAL"/>
          <xsd:enumeration value="EQUAL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TRSRateTermTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="1D"/>
          <xsd:enumeration value="1M"/>
          <xsd:enumeration value="2M"/>
          <xsd:enumeration value="3M"/>
          <xsd:enumeration value="4M"/>
          <xsd:enumeration value="6M"/>
          <xsd:enumeration value="9M"/>
          <xsd:enumeration value="10M"/>
          <xsd:enumeration value="1Y"/>
          <xsd:enumeration value="2Y"/>
          <xsd:enumeration value="3Y"/>
          <xsd:enumeration value="5Y"/>
          <xsd:enumeration value="7Y"/>
          <xsd:enumeration value="10Y"/>
          <xsd:enumeration value="15Y"/>
          <xsd:enumeration value="20Y"/>
          <xsd:enumeration value="25Y"/>
          <xsd:enumeration value="30Y"/>
          <xsd:enumeration value="40Y"/>
          <xsd:enumeration value="50Y"/>
          <xsd:enumeration value="1W"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ReferenceFrequencyTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="1M"/>
          <xsd:enumeration value="3M"/>
          <xsd:enumeration value="6M"/>
          <xsd:enumeration value="1Y"/>
          <xsd:enumeration value="1W"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ReferenceDayCountType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="30/360"/>
          <xsd:enumeration value="30E/360 ITA"/>
          <xsd:enumeration value="30/365"/>
          <xsd:enumeration value="30/ACT"/>
          <xsd:enumeration value="30/360E"/>
          <xsd:enumeration value="30E+/360"/>
          <xsd:enumeration value="30E/360"/>
          <xsd:enumeration value="30E/360E"/>
          <xsd:enumeration value="ACT/360"/>
          <xsd:enumeration value="ACT/364"/>
          <xsd:enumeration value="ACT/365 CA"/>
          <xsd:enumeration value="ACT/365E"/>
          <xsd:enumeration value="ACT/365L"/>
          <xsd:enumeration value="ACT/ACTe"/>
          <xsd:enumeration value="ACT/365"/>
          <xsd:enumeration value="ACT/ACT"/>
          <xsd:enumeration value="BUS/252"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RateAveragingType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GEOMETRIC"/>
          <xsd:enumeration value="ARITHMETIC"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="ZeroCouponSwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ZeroCouponSwapLeg">
        <xsd:attribute name="ContractSize" type="xsd:double" use="optional"/>
        <xsd:attribute name="LegType" type="bdt:LegType" use="required"/>
        <xsd:attribute name="Coupon" type="xsd:double" use="required"/>
        <xsd:attribute name="CouponType" type="bdt:CouponType" use="required"/>
        <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
        <xsd:attribute default="ACT/360" name="AccrualBasis" type="xsd:string" use="optional"/>
        <xsd:attribute name="DateRollConvention" type="bdt:DateRollConvention" use="optional"/>
        <xsd:attribute name="InArrears" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="PERIODIC_PAYMENT" name="AccrualType" type="bdt:AccrualType" use="optional"/>
        <xsd:attributeGroup ref="bdt:FRNGroup"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ZeroCouponSwapCouponRateSchedule">
        <xsd:complexContent>
          <xsd:extension base="bdt:IRSLegCouponRateSchedule">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BaseFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="DeliveryDate" type="xsd:date" use="required"/>
            <xsd:attribute default="100" name="ContractSize" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FXFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseFuture">
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="QuoteCurrency" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FXForward">
        <xsd:complexContent>
          <xsd:extension base="bdt:FXFuture">
            <xsd:attribute name="ExchangeRate" type="xsd:double" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EuroDollarFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseFuture">
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="ReferenceRate" type="xsd:string" use="required"/>
            <xsd:attribute name="RateTerm" type="xsd:string" use="optional"/>
            <xsd:attribute name="InstrumentType" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BondFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseFuture">
            <xsd:attribute name="BondFutureType" type="bdt:BondFutureType" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FutUnderlier">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseUnderlier">
            <xsd:attribute name="ConversionFactor" type="xsd:double" use="required"/>
            <xsd:attribute name="FromDate" type="xsd:date" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BaseOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:LinkProxy">
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="required"/>
            <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute default="100" name="ContractSize" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BaseOptionExt">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="required"/>
            <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute default="100" name="ContractSize" type="xsd:double" use="optional"/>
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BondOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOption"/>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="Swaption">
        <xsd:complexContent>
          <xsd:extension base="bdt:LinkProxy">
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
            <xsd:attribute default="1" name="ContractSize" type="xsd:double" use="optional"/>
            <xsd:attribute name="PricingModel" type="bdt:OptionModelType" use="optional"/>
            <xsd:attribute name="ModelForGreeks" type="bdt:OptionModelType" use="optional"/>
            <xsd:attribute name="DiscountingCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="ExpirationDate" type="xsd:string" use="optional"/>
            <xsd:attribute name="Strike" type="xsd:string" use="optional"/>
            <xsd:attribute name="SwapTerm" type="xsd:string" use="optional"/>
            <xsd:attribute name="SwapType" type="bdt:SwapType" use="optional"/>
            <xsd:attribute name="ForwardStrikeDate" type="xsd:string" use="optional"/>
            <xsd:attribute name="ForwardStrikeSpread" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="SwaptionPricingInputs">
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attribute name="Date" type="xsd:date" use="optional"/>
        <xsd:attribute name="SwaptionVolatility" type="xsd:double" use="optional"/>
        <xsd:attribute name="MeanReversionRate" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="SwapType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CONSTANT MATURITY"/>
          <xsd:enumeration value="VARIABLE MATURITY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="OptionModelType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BLACK"/>
          <xsd:enumeration value="HW"/>
          <xsd:enumeration value="YIELD"/>
          <xsd:enumeration value="NORMAL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="FXOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="QuoteCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FXFutureOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="QuoteCurrency" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="optional"/>
            <xsd:attribute name="DeliveryDate" type="xsd:date" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BondFutureOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOption"/>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EquityIndexFutureOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOptionExt">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CommodityFutureOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOptionExt">
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EurodollarFutureOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOptionExt">
            <xsd:attribute default="BLACK" name="Model" type="bdt:IRFutureOptionModelType" use="optional"/>
            <xsd:attribute name="Kappa" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="IRFutureOptionModelType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BLACK"/>
          <xsd:enumeration value="HW"/>
          <xsd:enumeration value="NORMAL"/>
          <xsd:enumeration value="YIELD"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="EquityOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOption">
            <xsd:attribute name="DividendYield" type="xsd:double" use="optional"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
            <xsd:attribute default="false" name="IVExposure" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="VolatilityBeta" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BaseFutureWithUnderlier">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseFuture">
            <xsd:attribute name="UnderlierID" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="PriceCurrency" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="Certificate">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="CertificateType" type="bdt:CertificateType" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="ConversionRatio" type="xsd:double" use="optional"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="ReturnType" type="bdt:ReturnType" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CertificateUnderliers">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseUnderlier">
            <xsd:attribute name="Weight" type="xsd:double" use="required"/>
            <xsd:attribute name="InitialSharePrice" type="xsd:double" use="optional"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="ReverseCertificate">
        <xsd:attribute name="StrikePrice" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="OutperformanceCertificate">
        <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
        <xsd:attribute name="Participation" type="xsd:double" use="required"/>
        <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="DiscountCertificate">
        <xsd:attribute name="BarrierLevel" type="xsd:double" use="optional"/>
        <xsd:attribute name="BarrierStartDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="BarrierEndDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="HitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="Cap" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="TwinWinCertificate">
        <xsd:attribute name="BarrierLevel" type="xsd:double" use="required"/>
        <xsd:attribute name="HitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
        <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
        <xsd:attribute name="ParticipationUp" type="xsd:double" use="optional"/>
        <xsd:attribute name="ParticipationDown" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="BonusCertificate">
        <xsd:attribute name="BarrierLevel" type="xsd:double" use="required"/>
        <xsd:attribute name="HitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="BonusLevel" type="xsd:double" use="required"/>
        <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
        <xsd:attribute name="ParticipationUp" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ReverseBonusCertificate">
        <xsd:attribute name="BarrierLevel" type="xsd:double" use="required"/>
        <xsd:attribute name="HitDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="BonusLevel" type="xsd:double" use="required"/>
        <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="AirbagCertificate">
        <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
        <xsd:attribute name="Protection" type="xsd:double" use="required"/>
        <xsd:attribute name="Participation" type="xsd:double" use="optional"/>
        <xsd:attribute name="StrikePrice" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CapitalProtectedCertificate">
        <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
        <xsd:attribute name="Participation" type="xsd:double" use="optional"/>
        <xsd:attribute name="Protection" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ReverseConvertibleBase">
        <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
        <xsd:attribute name="FirstPaymentDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="PaymentFrequency" type="xsd:string" use="optional"/>
        <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
        <xsd:attribute name="HitDate" type="xsd:date" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ReverseConvertibleCertificate">
        <xsd:complexContent>
          <xsd:extension base="bdt:ReverseConvertibleBase">
            <xsd:attribute name="BarrierLevel" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="BarrierRangeReverseConvertibleCertificate">
        <xsd:complexContent>
          <xsd:extension base="bdt:ReverseConvertibleBase">
            <xsd:attribute name="BarrierUp" type="xsd:double" use="required"/>
            <xsd:attribute name="BarrierDown" type="xsd:double" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <!-- Equity Rule-based Proxy -->
      <xsd:complexType name="EquityRuleBasedProxy">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="GICSCode" type="xsd:string" use="optional"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Industry" type="xsd:string" use="optional"/>
            <xsd:attribute name="Traded" type="xsd:boolean" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EquityProxyMarketDataSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="MarketCapitalization" type="xsd:double" use="required"/>
        <xsd:attribute name="SpecificRiskMultiplier" type="xsd:double" use="optional"/>
        <xsd:attribute name="SpecificRiskLevel" type="xsd:double" use="optional"/>
        <xsd:attribute name="ExposureScalar" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="EquityProxyModelIndustry">
        <xsd:attribute name="ModelClass" type="xsd:string" use="required"/>
        <xsd:attribute name="Industry" type="xsd:string" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="EquityFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseFutureWithUnderlier">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EquityForward">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseFutureWithUnderlier">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CommodityFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseFutureWithUnderlier">
            <xsd:attribute fixed="Commodity Future" name="InstrumentType" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="Composite">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
            <xsd:attribute name="Owner" type="xsd:string" use="required"/>
            <xsd:attribute default="USD" name="DefaultPriceCurrency" type="xsd:string" use="optional"/>
            <xsd:attribute default="100" name="DefaultPrice" type="xsd:double" use="optional"/>
            <xsd:attribute default="1" name="DefaultContractSize" type="xsd:double" use="optional"/>
            <xsd:attribute default="false" name="Hedge" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="HedgeCurrency" type="xsd:string" use="optional"/>
            <xsd:attribute name="HedgePercentage" type="xsd:double" use="optional"/>
            <xsd:attribute default="IMPORTED/DEFAULTED" name="PriceType" type="bdt:CompositePriceType" use="optional"/>
            <xsd:attribute name="ApplyBarraCapitalAdjustment" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="CompositePriceType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="IMPORTED/DEFAULTED"/>
          <xsd:enumeration value="PORTFOLIO_VALUE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="ContractForDifference">
        <xsd:complexContent>
          <xsd:extension base="bdt:LinkProxy">
            <xsd:attribute name="StartDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="EndDate" type="xsd:date" use="optional"/>
            <xsd:attribute default="1" name="ContractSize" type="xsd:double" use="optional"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="DurationProxy">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
            <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/>
            <xsd:attribute name="AssetType" type="bdt:AssetType" use="required"/>
            <xsd:attribute name="Sector" type="xsd:string" use="required"/>
            <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
            <xsd:attribute name="JapanSubType" type="xsd:string" use="optional"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ParValue" type="xsd:double" use="required"/>
            <xsd:attribute name="CouponType" type="bdt:CouponType" use="optional"/>
            <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute default="false" name="MUNIIsTaxable" type="xsd:string" use="optional"/>
            <xsd:attribute default="false" name="MUNIIsTobacco" type="xsd:string" use="optional"/>
            <xsd:attribute default="GO" name="MUNIType" type="xsd:string" use="optional"/>
            <xsd:attribute name="MUNIState" type="xsd:string" use="optional"/>
            <xsd:attribute name="MUNIUse" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="DurationProxyMarketDataSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="AccruedInterest" type="xsd:double" use="optional"/>
        <xsd:attribute name="RatingSource" type="bdt:RatingSource" use="optional"/>
        <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
        <xsd:attribute name="Duration" type="xsd:string" use="optional"/>
        <xsd:attribute name="Convexity" type="xsd:double" use="optional"/>
        <xsd:attribute name="OAS" type="xsd:double" use="optional"/>
        <xsd:attribute name="SpreadDuration" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD1M" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD3M" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD6M" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD1Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD2Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD3Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD5Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD7Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD10Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD15Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD20Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD25Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD30Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="KRD50Y" type="xsd:double" use="optional"/>
        <xsd:attribute name="MacaulayDuration" type="xsd:double" use="optional"/>
        <xsd:attribute name="ModifiedDuration" type="xsd:double" use="optional"/>
        <xsd:attribute name="Coupon" type="xsd:double" use="optional"/>
        <xsd:attribute name="YieldToMaturity" type="xsd:double" use="optional"/>
        <xsd:attribute name="YieldToBest" type="xsd:double" use="optional"/>
        <xsd:attribute name="YieldToWorst" type="xsd:double" use="optional"/>
        <xsd:attribute name="AverageLife" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="EquityVolatilityFuture">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="UnderlierName" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="VolatilityOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Country" type="xsd:string" use="optional"/>
            <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="OptionStyle" type="bdt:OptionStyle" use="required"/>
            <xsd:attribute name="OptionType" type="bdt:OptionType" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="UnderlierName" type="xsd:string" use="required"/>
            <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="optional"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="VolatilitySwap">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="IsVegaNotional" type="xsd:boolean" use="required"/>
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
            <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="UnderlierName" type="xsd:string" use="optional"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="optional"/>
            <xsd:attribute name="ProxyIndexName" type="xsd:string" use="optional"/>
            <xsd:attribute name="UnderlierID" type="xsd:string" use="optional"/>
            <xsd:attribute default="1D" name="VolatilityFrequency" type="xsd:string" use="optional"/>
            <xsd:attribute name="Cap" type="xsd:double" use="optional"/>
            <xsd:attribute name="ModelAgingScheme" type="bdt:ModelAgingScheme" use="optional"/>
            <xsd:attribute name="CalibrationMethod" type="bdt:CalibrationMethod" use="optional"/>
            <xsd:attribute name="VolatilityInterpolation" type="bdt:VolatilityInterpolation" use="optional"/>
            <xsd:attribute name="AnnualizationFactor" type="xsd:double" use="optional"/>
            <xsd:attribute name="UseZeroMean" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="UseUnbiasedVolEstimator" type="xsd:boolean" use="optional"/>
            <xsd:attribute default="0" name="BoundaryLag" type="bdt:BoundaryLagVALUES" use="optional"/>
            <xsd:attribute name="LowerBoundary" type="xsd:double" use="optional"/>
            <xsd:attribute name="UpperBoundary" type="xsd:double" use="optional"/>
            <xsd:attribute default="RELATIVE" name="BoundaryType" type="bdt:BoundaryTypeVALUES" use="optional"/>
            <xsd:attribute default="false" name="StrictBoundary" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ComputeReturntoBoundary" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="PrivateRealEstate">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="PropertyTypeAndRegion" type="xsd:string" use="required"/>
            <xsd:attribute default="1" name="SpecificRiskMultiplier" type="xsd:double" use="optional"/>
            <xsd:attribute name="SpecificRiskLevel" type="xsd:double" use="optional"/>
            <xsd:attribute default="1" name="ExposureScalar" type="xsd:double" use="optional"/>
            <xsd:attribute name="PropertySubtype" type="xsd:string" use="optional"/>
            <xsd:attribute name="MetroArea" type="xsd:string" use="optional"/>
            <xsd:attribute name="IncomeRiskExposureScalar" type="xsd:double" use="optional"/>
            <xsd:attribute name="QualityFactorExposure" type="xsd:double" use="optional"/>
            <xsd:attribute name="Leverage" type="xsd:double" use="optional"/>
            <xsd:attribute name="NumberOfAssets" type="xsd:int" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="PrivateEquity">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="GICSCode" type="xsd:string" use="optional"/>
            <xsd:attribute default="PRIVATE EQUITY" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="PrivateEquityModel" type="bdt:PrivateEquityModelType" use="optional"/>
            <xsd:attribute name="InvestmentType" type="bdt:PrivateEquityInvestmentType" use="required"/>
            <xsd:attribute default="1" name="SpecificRiskMultiplier" type="xsd:double" use="optional"/>
            <xsd:attribute name="SpecificRiskLevel" type="xsd:double" use="optional"/>
            <xsd:attribute default="1" name="CommonFactorRiskScalar" type="xsd:double" use="optional"/>
            <xsd:attribute default="1" name="PrivateFactorRiskScalar" type="xsd:double" use="optional"/>
            <xsd:attribute name="PortfolioName" type="xsd:string" use="optional"/>
            <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="PrivateEquityInvestmentType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ASIA_LARGE_BUYOUTS"/>
          <xsd:enumeration value="ASIA_SMALL_BUYOUTS"/>
          <xsd:enumeration value="ASIA_DISTRESSED"/>
          <xsd:enumeration value="ASIA_EARLY_STAGE_VENTURES"/>
          <xsd:enumeration value="ASIA_LATE_STAGE_VENTURES"/>
          <xsd:enumeration value="EUROPE_LARGE_BUYOUTS"/>
          <xsd:enumeration value="EUROPE_SMALL_BUYOUTS"/>
          <xsd:enumeration value="EUROPE_DISTRESSED"/>
          <xsd:enumeration value="EUROPE_MEZZANINE"/>
          <xsd:enumeration value="EUROPE_EARLY_STAGE_VENTURES"/>
          <xsd:enumeration value="EUROPE_LATE_STAGE_VENTURES"/>
          <xsd:enumeration value="US_LARGE_BUYOUTS"/>
          <xsd:enumeration value="US_SMALL_BUYOUTS"/>
          <xsd:enumeration value="US_DISTRESSED"/>
          <xsd:enumeration value="US_MEZZANINE"/>
          <xsd:enumeration value="US_EARLY_STAGE_VENTURES"/>
          <xsd:enumeration value="US_LATE_STAGE_VENTURES"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PrivateEquityModelType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PEQ1"/>
          <xsd:enumeration value="PEQ2"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="PrivateEquityIndustryMapping">
        <xsd:attribute name="ModelClass" type="xsd:string" use="required"/>
        <xsd:attribute name="Industry" type="xsd:string" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CustomExposureAsset">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute default="CUSTOM EXPOSURE ASSET" name="InstrumentType" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="FactorExposuresSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="ModelClass" type="xsd:string" use="required"/>
        <xsd:attribute name="FactorName" type="xsd:string" use="required"/>
        <xsd:attribute name="FactorExposure" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="LeverageSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="ExposureScalar" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="InflationLinkedLiability">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute default="INFLATION LINKED LIABILITY" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
            <xsd:attribute name="AmortizePayment" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ReferenceIndex" type="xsd:string" use="required"/>
            <xsd:attribute name="BreakEvenInflationCurve" type="xsd:string" use="optional"/>
            <xsd:attribute name="IndexationBaseDate" type="xsd:date" use="required"/>
            <xsd:attribute name="IndexationEndDate" type="xsd:date" use="required"/>
            <xsd:attribute name="SwitchingDate" type="xsd:date" use="optional"/>
            <xsd:attribute name="ApplyWholePeriod" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="InflationSpreadBeforeSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="InflationSpreadAfterSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="InflationMultiplierBeforeSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="InflationMultiplierAfterSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="InflationCapBeforeSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="InflationCapAfterSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="InflationFloorBeforeSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="InflationFloorAfterSwitching" type="xsd:double" use="optional"/>
            <xsd:attribute name="AnnualFlatCapFloorVolatility" type="xsd:double" use="optional"/>
            <xsd:attribute name="IgnoreConvexityCorrection" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="CreditFactorExposure" type="xsd:string" use="required"/>
            <xsd:attribute name="DiscountCurve" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="DiscountSpreadSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="DiscountSpreadBasisPoint" type="xsd:int" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="InflationToDateSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="InflationToDate" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="MultiplierToCurrentPeriodSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="MultiplierToCurrentPeriod" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CDSOption">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute default="CDS OPTION" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
            <xsd:attribute name="ExpirationDate" type="xsd:date" use="required"/>
            <xsd:attribute default="SPREAD" name="StrikeType" type="bdt:StrikeType" use="optional"/>
            <xsd:attribute default="PAYER" name="SwaptionType" type="bdt:SwaptionType" use="optional"/>
            <xsd:attribute name="FrontEndProtectionType" type="bdt:FrontEndProtectionType" use="optional"/>
            <xsd:attribute name="UpfrontStrikeSpread" type="xsd:double" use="optional"/>
            <xsd:attribute name="Und_ID" type="xsd:string" use="required"/>
            <xsd:attribute name="Und_IDType" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="StrikeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SPREAD"/>
          <xsd:enumeration value="UPFRONT PRICE"/>
          <xsd:enumeration value="MARKET PRICE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SwaptionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PAYER"/>
          <xsd:enumeration value="RECEIVER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="FrontEndProtectionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NONE"/>
          <xsd:enumeration value="FULL"/>
          <xsd:enumeration value="CONTINGENT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="DefaultAdjustmentHistory">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="NumberOfCredits" type="xsd:int" use="required"/>
        <xsd:attribute name="NumberOfDefaults" type="xsd:int" use="required"/>
        <xsd:attribute name="CumulativeLoss" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CDSTranche">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute default="CDS Tranche" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="UnderlierID" type="bdt:AssetId" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="AttachmentPointPercentage" type="xsd:double" use="required"/>
            <xsd:attribute name="DetachmentPointPercentage" type="xsd:double" use="required"/>
            <xsd:attribute name="UpfrontAmountPercentage" type="xsd:double" use="optional"/>
            <xsd:attribute name="DealSpread" type="xsd:double" use="required"/>
            <xsd:attribute default="40" name="RecoveryRate" type="xsd:double" use="optional"/>
            <xsd:attribute name="DiscountingCurve" type="bdt:DiscountingCurveType" use="optional"/>
            <xsd:attribute name="RSDiscountingCurve" type="xsd:string" use="optional"/>
            <xsd:attribute default="0" name="CumulativeLoss" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="DiscountingCurveType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LIBOR"/>
          <xsd:enumeration value="OIS"/>
          <xsd:enumeration value="TREASURY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssetId">
        <xsd:restriction base="xsd:string">
          <xsd:maxLength value="200"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="TrancheCorrelationSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="CorrelationType" type="bdt:CorrelationTypeType" use="required"/>
        <xsd:attribute name="LowerCorrelationPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute name="UpperCorrelationPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute name="CompoundCorrelationPercentage" type="xsd:double" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:simpleType name="CorrelationTypeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COMPOUND"/>
          <xsd:enumeration value="BASE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="NthToDefault">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute default="Nth-to-Default" name="InstrumentType" type="xsd:string" use="optional"/>
            <xsd:attribute name="UnderlierID" type="bdt:AssetId" use="required"/>
            <xsd:attribute name="UnderlierIDType" type="xsd:string" use="required"/>
            <xsd:attribute name="ContractSize" type="xsd:double" use="required"/>
            <xsd:attribute name="ProtectionStart" type="xsd:int" use="required"/>
            <xsd:attribute name="ProtectionEnd" type="xsd:int" use="required"/>
            <xsd:attribute name="UpfrontAmountPercentage" type="xsd:double" use="optional"/>
            <xsd:attribute name="DealSpread" type="xsd:double" use="required"/>
            <xsd:attribute default="40" name="RecoveryRate" type="xsd:double" use="optional"/>
            <xsd:attribute default="LIBOR" name="DiscountingCurve" type="bdt:DiscountingCurveType" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="CorrelationSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="CompoundCorrelationPercentage" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <!--<xsd:complexType name="CollateralizedSecurity">-->
      <!--<xsd:complexContent>-->
      <!--<xsd:extension base="bdt:BaseInstrument">-->
      <!--</xsd:extension>-->
      <!--</xsd:complexContent>-->

      <!--</xsd:complexType>-->

      <xsd:complexType name="CashFlowAssumptionSchedule">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="PrepayType" type="bdt:AbsoluteRelativeType" use="required"/>
        <xsd:attribute name="Prepay" type="xsd:double" use="required"/>
        <xsd:attribute name="DefaultType" type="bdt:AbsoluteRelativeType" use="required"/>
        <xsd:attribute name="DefaultValue" type="xsd:double" use="required"/>
        <xsd:attribute name="Severity" type="xsd:double" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioTree">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="PortfolioNodes" type="bdt:PortfolioNodes"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:PortfolioTreeIdentifier"/>
        <xsd:attributeGroup ref="bdt:StrategyIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioNodes">
        <xsd:choice maxOccurs="unbounded" minOccurs="0">
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PortfolioNode" type="bdt:PortfolioNode"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="PortfolioNode">
        <xsd:complexContent>
          <xsd:extension base="bdt:Locator">
            <xsd:attribute name="PortfolioName" type="xsd:string" use="optional"/>
            <xsd:attribute name="InheritBenchmark" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="MarketValue" type="xsd:string" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="PortfolioAttribute">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="PortfolioAttributeProperties" type="bdt:PortfolioAttributeProperties"/>      <!-- old version deprecated as of 3.6 -->

          <xsd:element maxOccurs="unbounded" minOccurs="1" name="TextPortfolioTimeSeries" type="bdt:TextPortfolioTimeSeries"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="NumericPortfolioTimeSeries" type="bdt:NumericPortfolioTimeSeries"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReferencePortfolioTimeSeries" type="bdt:ReferencePortfolioTimeSeries"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="CurrencyPortfolioTimeSeries" type="bdt:CurrencyPortfolioTimeSeries"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="NumericWithCurrencyPortfolioTimeSeries" type="bdt:NumericWithCurrencyPortfolioTimeSeries"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReferenceRiskModelTimeSeries" type="bdt:ReferenceRiskModelTimeSeries"/>
        </xsd:choice>
        <xsd:attributeGroup ref="bdt:AttributeIdentifier"/>
        <xsd:attribute default="-1" name="MaxAge" type="xsd:int" use="optional"/>
        <xsd:attribute name="Association" type="bdt:PortfolioAttributeType" use="required"/>
        <xsd:attribute name="Type" type="bdt:PfTimeSeriesType" use="required"/>
        <xsd:attribute name="Description" type="xsd:string" use="optional"/>
      </xsd:complexType>


      <xsd:complexType name="ReferenceRiskModelTimeSeries">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="RiskReferenceTimeSeries">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1" name="RiskReferenceTimeSeriesData" type="bdt:ReferenceRiskModelTimeSeriesData"/>
              </xsd:sequence>
              <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
              <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReferenceRiskModelTimeSeriesData">  <!--  The attributes are intentionally kept optional. PdM wants to ignore rows with incomplete data, instead of reject the entire record  -->
        <xsd:attribute name="Effective_Start_Date" type="xsd:date" use="required"/>
        <xsd:attribute name="ReferenceRiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="ReferenceRiskModelOwner" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:simpleType name="PfTimeSeriesType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TEXT"/>
          <xsd:enumeration value="REAL_NUMBER"/>
          <xsd:enumeration value="PORTFOLIO_REFERENCE"/>
          <xsd:enumeration value="CURRENCY"/>
          <xsd:enumeration value="RISK_MODEL_REFERENCE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="AssetAttribute">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="AttrValues" type="bdt:AttrValues"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:AttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="RMLOverrideAttribute">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="RMLOverrideAttrValues" type="bdt:RMLOverrideAttrValues"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:RMLOverrideAttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="CurveAttribute">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="CurveValues" type="bdt:CurveValues"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:AttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="BarraOneOverrides">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="CreditFactorOverrides" type="bdt:CreditFactorOverrides"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PEElasticityOverrides" type="bdt:PEElasticityOverrides"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="VolatilityOverrides" type="bdt:VolatilityOverrides"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrepaymentModelOverrides" type="bdt:PrepaymentModelOverrides"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MarketValueOverrides" type="bdt:MarketValueOverrides"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RatingScheduleOverrides" type="bdt:RatingScheduleOverrides"/>
        </xsd:sequence>
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MarketValueOverrides">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="MarketValueOverride" type="bdt:MarketValueOverride"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MarketValueOverride">
        <xsd:sequence>
          <!-- MinOccur value is 0 just incase client wants to override market value at Root Aggregate level only -->
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PfAggregateNode" type="bdt:PfAggregateNode"/>
        </xsd:sequence>
        <xsd:attribute name="PfRootName" type="xsd:string" use="required"/>
        <xsd:attribute name="PfRootOwner" type="xsd:string" use="required"/>
        <!-- Giving this option here will not require to specify the rootName again in PfAggregateNode to override root's market value.-->
        <xsd:attribute name="PfRootMarketValue" type="xsd:double" use="optional"/>
        <!-- Will make sure in code that if PfRootMarketValue is specified date should also be specified else will handle it by proper error msg -->
        <xsd:attribute name="PfRootMarketValueDate" type="xsd:date" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PfAggregateNode">
        <xsd:attribute name="AggregateNodeName" type="xsd:string" use="required"/>
        <xsd:attribute name="MarketValue" type="xsd:double" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
      </xsd:complexType>


      <xsd:complexType name="BarraOneCases">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="BarraOneMPCCase" type="bdt:BarraOneMPCCase"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BarraOneMPCCaseDelete" type="bdt:BarraOneMPCCaseDeleteTYPE"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:DatedDataIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ImpliedVolAttribute">
        <xsd:sequence>
          <xsd:element minOccurs="0" name="ImpliedVolValues" type="bdt:ImpliedVolValues"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:AttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="SwaptionImpliedVolAttribute">
        <xsd:all>
          <xsd:element minOccurs="1" name="SwaptionImpliedVolValues" type="bdt:SwaptionImpliedVolValues"/>
        </xsd:all>
        <xsd:attributeGroup ref="bdt:AttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="MarketScenario">
        <xsd:sequence>
          <xsd:element minOccurs="1" name="ScenarioDefinition" type="bdt:ScenarioDefinition"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:AttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="MarketConditions">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ForeignExchangeRates" type="bdt:ForeignExchangeRates"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InterestRateCurveDefinitions" type="bdt:InterestRateCurveDefinitions"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InterestRateCurves" type="bdt:InterestRateCurves"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CurveAndAssetAssociations" type="bdt:CurveAndAssetAssociations"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:AttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="ScenarioDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="EquityShocks" type="bdt:EquityShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InterestRateShocks" type="bdt:InterestRateShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ForeignExchangeShocks" type="bdt:ForeignExchangeShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CreditSpreadShocks" type="bdt:CreditSpreadShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CommodityShocks" type="bdt:CommodityShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DetailSpreadShocks" type="bdt:DetailedSpreadShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FactorSpreadShocks" type="bdt:FactorSpreadShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrivateEquityShocks" type="bdt:PrivateEquityShocks"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrivateRealEstateShocks" type="bdt:PrivateRealEstateShocks"/>
        </xsd:sequence>
        <xsd:attribute default="false" name="AreShocksCorrelated" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="RevaluateStructuredAssets" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="UseRelativeIRShock" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="UseRelativeSpreadShock" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="FloorInterestRateShocksAtZero" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="PropagateInterestRateShocksAcrossAllVerticesWhenShocksAreCorrelated" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="UseAbsoluteVolEqShock" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="UseAbsoluteVolIRShock" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="UseAbsoluteVolFXShock" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="UseAbsoluteVolComShock" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="EquityShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="EquityShock" type="bdt:EquityShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="EquityShock">
        <xsd:attribute name="ShockType" type="bdt:ShockType" use="required"/>
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
        <xsd:attribute name="Country" type="xsd:string" use="required"/>
        <xsd:attribute default="Est Universe" name="IndexPortfolioName" type="xsd:string" use="optional"/>
        <xsd:attribute name="IndexPortfolioOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PrivateEquityShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrivateEquityShock" type="bdt:PrivateEquityShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PrivateEquityShock">
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
        <xsd:attribute name="Country" type="xsd:string" use="required"/>
        <xsd:attribute name="Region" type="xsd:string" use="required"/>
        <xsd:attribute name="InvestmentType" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PrivateRealEstateShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrivateRealEstateShock" type="bdt:PrivateRealEstateShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PrivateRealEstateShock">
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
        <xsd:attribute name="Country" type="xsd:string" use="required"/>
        <xsd:attribute name="FactorType" type="xsd:string" use="required"/>
        <xsd:attribute name="FactorDescription" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="InterestRateShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="InterestRateShock" type="bdt:InterestRateShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="InterestRateShock">
        <xsd:choice maxOccurs="1">
          <xsd:element name="IRShapeShock" type="bdt:IRShapeShock"/>
          <xsd:element name="SingleShock" type="bdt:SingleShock"/>
        </xsd:choice>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="CurveType" type="bdt:CurveType" use="required"/>
      </xsd:complexType>


      <xsd:complexType name="SingleShock">
        <xsd:attribute name="ShockType" type="bdt:ShockType" use="required"/>
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ForeignExchangeShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ForeignExchangeShock" type="bdt:ForeignExchangeShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ForeignExchangeShock">
        <xsd:attribute name="ShockType" type="bdt:ShockType" use="required"/>
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="DomesticCurrency" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CreditSpreadShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="CreditSpreadShock" type="bdt:CreditSpreadShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CreditSpreadShock">
        <xsd:attribute name="ShockType" type="bdt:ShockType" use="required"/>
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="IssuerType" type="bdt:IssuerType" use="required"/>
        <xsd:attribute name="Rating" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="DetailedSpreadShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="DetailedSpreadShock" type="bdt:DetailedSpreadShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="DetailedSpreadShock">
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
        <xsd:attribute name="AttributeName" type="xsd:string" use="required"/>
        <xsd:attribute name="Group" type="xsd:string" use="optional"/>
        <xsd:attribute name="Filter" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="FactorSpreadShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FactorSpreadShock" type="bdt:FactorSpreadShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FactorSpreadShock">
        <xsd:attribute name="ShockMagnitude" type="xsd:double" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="Sector" type="xsd:string" use="required"/>
        <xsd:attribute name="SubSector" type="xsd:string" use="required"/>
        <xsd:attribute name="Rating" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CommodityShocks">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="CommodityShock" type="bdt:CommodityShock"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CommodityShock">
        <xsd:choice maxOccurs="1">
          <xsd:element name="SingleShock" type="bdt:SingleShock"/>
        </xsd:choice>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ForeignExchangeRates">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ForeignExchangeRate" type="bdt:ForeignExchangeRate"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ForeignExchangeRate">
        <xsd:attribute name="ForeignCurrency" type="xsd:string" use="required"/>
        <xsd:attribute name="DomesticCurrency" type="xsd:string" use="required"/>
        <xsd:attribute name="FXRate" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="InterestRateCurveDefinitions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="InterestRateCurveDefinition" type="bdt:InterestRateCurveDefinition"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="InterestRateCurveDefinition">
        <xsd:attribute name="CurveID" type="xsd:string" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="CurveType" type="bdt:IRCurveType" use="required"/>
        <xsd:attribute name="PayFrequency" type="xsd:int" use="required"/>
        <xsd:attribute name="Description" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="IRCurveType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TREASURY"/>
          <xsd:enumeration value="LIBOR_AND_SWAP"/>
          <xsd:enumeration value="MUNI"/>
          <xsd:enumeration value="OIS"/>
          <xsd:enumeration value="REAL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="InterestRateCurves">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="InterestRateCurve" type="bdt:InterestRateCurve"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="InterestRateCurve">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Vertex" type="bdt:Vertex"/>
        </xsd:sequence>
        <xsd:attribute name="CurveID" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CurveAndAssetAssociations">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="CurveAndAssetAssociation" type="bdt:CurveAndAssetAssociation"/>
        </xsd:sequence>
        <xsd:attribute name="CurveID" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CurveAndAssetAssociation">
        <xsd:attribute name="AssetID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
        <xsd:attribute name="Usage" type="xsd:string" use="optional"/>  <!-- For now, possible values are either NOMINAL or DISCOUNT -->
      </xsd:complexType>

      <xsd:complexType name="IRShapeShock">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Vertex" type="bdt:Vertex"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="CurveType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TREASURY"/>
          <xsd:enumeration value="LIBOR"/>
          <xsd:enumeration value="REAL"/>
          <xsd:enumeration value="MUNI"/>
          <xsd:enumeration value="OIS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ShockType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PRICE"/>
          <xsd:enumeration value="VOLATILITY"/>
          <xsd:enumeration value="RATES"/>
          <xsd:enumeration value="SHIFT"/>
          <xsd:enumeration value="BOND_SPREAD"/>
          <xsd:enumeration value="CDS_SPREAD"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="Locators">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Locator" type="bdt:Locator"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Locator">
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
        <xsd:attribute name="Path" type="xsd:string" use="required"/>
        <xsd:attribute default="NONE" name="AggregationType" type="bdt:AggregationType" use="optional"/>
        <xsd:attribute name="AggregationValue" type="xsd:double" use="optional"/>
        <xsd:attribute name="BenchmarkWeight" type="xsd:double" use="optional"/>
        <xsd:attribute name="TacticalWeight" type="xsd:double" use="optional"/>
        <xsd:attribute name="Hidden" type="xsd:boolean" use="optional"/>
        <xsd:attributeGroup ref="bdt:StrategyIdentifier"/>
      </xsd:complexType>

      <xsd:attributeGroup name="PortfolioTreeIdentifier">
        <xsd:attribute name="TreeName" type="xsd:string" use="required"/>
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute default="false" name="BottomUpAggregation" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="InheritBenchmark" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="MarketValue" type="xsd:string" use="optional"/>
        <xsd:attribute name="Action" type="bdt:TreeActionType" use="optional"/>
      </xsd:attributeGroup>

      <xsd:attributeGroup name="BaseAssetIdentifier">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
      </xsd:attributeGroup>

      <xsd:complexType name="AssetIdentifier">
        <xsd:attributeGroup ref="bdt:BaseAssetIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="RejectedAsset">
        <xsd:attribute name="RejectionReason" type="xsd:string" use="required"/>
        <xsd:attributeGroup ref="bdt:BaseAssetIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="AssetProfile">
        <xsd:sequence><xsd:element maxOccurs="unbounded" minOccurs="0" name="AssetID" type="bdt:AssetIdentifier"/></xsd:sequence>
        <xsd:attribute name="RejectionReason" type="xsd:string" use="optional"/>
        <xsd:attributeGroup ref="bdt:BaseInstrumentIdentifier"/>
        <xsd:attribute name="InstrumentType" type="xsd:string" use="optional"/>
        <xsd:attribute name="InstrumentSubType" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetName" type="xsd:string" use="optional"/>
        <xsd:attribute name="LastUpdatedDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="AssetPriority" type="bdt:AssetPriority" use="optional"/>
        <xsd:attribute name="Country" type="xsd:string" use="optional"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
        <xsd:attribute name="ParValue" type="xsd:double" use="optional"/>
        <xsd:attribute name="Price" type="xsd:double" use="optional"/>
        <xsd:attribute name="PriceCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute name="PriceSource" type="xsd:string" use="optional"/>
        <xsd:attribute name="UnderlierPrice" type="xsd:double" use="optional"/>
        <xsd:attribute name="RejectionDetails" type="xsd:string" use="optional"/>
        <xsd:attribute name="MaturityDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="IssueDate" type="xsd:date" use="optional"/>
      </xsd:complexType>

      <xsd:attributeGroup name="PortfolioIdentifier">
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioImportType" type="bdt:PortfolioImportType" use="required"/>
        <xsd:attribute name="PortfolioValue" type="xsd:double" use="optional"/>
        <xsd:attribute name="PortfolioCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute default="true" name="Validate" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ValidationModel" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="StoreByValue" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="Is_As_Is_Weighting" type="xsd:boolean" use="optional"/>
      </xsd:attributeGroup>


      <xsd:attributeGroup name="AttributeIdentifier">
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
        <xsd:attribute name="ClearData" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:attributeGroup name="RMLOverrideAttributeIdentifier">
        <xsd:attribute default="AssetRMLOverrideAttribute" name="Name" type="xsd:string" use="optional"/>
        <xsd:attribute name="OverrideDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ClearData" type="xsd:boolean" use="optional"/>
      </xsd:attributeGroup>

      <xsd:attributeGroup name="StrategyIdentifier">
        <xsd:attribute name="Strategy" type="xsd:string" use="optional"/>
        <xsd:attribute name="StrategyOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="MatchedBenchmarkTreeStructure" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="BenchmarkMode" type="bdt:BenchmarkMode" use="optional"/>
        <xsd:attribute name="Benchmark" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="Market" type="xsd:string" use="optional"/>
        <xsd:attribute name="MarketOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="Universe" type="xsd:string" use="optional"/>
        <xsd:attribute name="UniverseOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="Description" type="xsd:string" use="optional"/>
        <xsd:attribute name="BaseCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute name="BaseValueType" type="bdt:BaseValueType" use="optional"/>
        <xsd:attribute name="AssignedBaseValue" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkHedging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="BenchmarkHedgingCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkHedgingPercent" type="xsd:double" use="optional"/>
        <xsd:attribute name="BenchmarkMonthlyHedgingForPA" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="PortfolioHedging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="PortfolioHedgingCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute name="PortfolioHedgingPercent" type="xsd:double" use="optional"/>
        <xsd:attribute name="NetLeverageHedgingCutOff" type="xsd:double" use="optional"/>
        <xsd:attribute name="BalanceCurrency" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="RebalanceProfile" type="xsd:string" use="optional"/>
        <xsd:attribute name="ParametricVaRHorizon" type="xsd:double" use="optional"/>
        <xsd:attribute name="ParametricVaRConfidenceLevelPercent" type="xsd:double" use="optional"/>
        <xsd:attribute name="SimulationVaRLimitAsCurrencyUnit" type="xsd:double" use="optional"/>
        <xsd:attribute name="SimulationVaRLimitAsBenchmarkMultiple" type="xsd:double" use="optional"/>
        <xsd:attribute name="BelowTargetProbabilityPercent" type="xsd:double" use="optional"/>
        <xsd:attribute name="PortfolioPriceSource" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkPriceSource" type="xsd:string" use="optional"/>
        <xsd:attribute name="FXRateSource" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:attributeGroup name="MarketIDsIdentifier">
        <xsd:attribute name="ISIN" type="xsd:string" use="optional"/>
        <xsd:attribute name="LOCALID" type="xsd:string" use="optional"/>
        <xsd:attribute name="CUSIP" type="xsd:string" use="optional"/>
        <xsd:attribute name="CINS" type="xsd:string" use="optional"/>
        <xsd:attribute name="EUROCLEAR" type="xsd:string" use="optional"/>
        <xsd:attribute name="SEDOL" type="xsd:string" use="optional"/>
        <xsd:attribute name="COMMON_CODE" type="xsd:string" use="optional"/>
        <xsd:attribute name="CEDEL" type="xsd:string" use="optional"/>
        <xsd:attribute name="SSB" type="xsd:string" use="optional"/>
        <xsd:attribute name="JPM" type="xsd:string" use="optional"/>
        <xsd:attribute name="GERMAN" type="xsd:string" use="optional"/>
        <xsd:attribute name="JAPAN" type="xsd:string" use="optional"/>
        <xsd:attribute name="RSA" type="xsd:string" use="optional"/>
        <xsd:attribute name="SWISS" type="xsd:string" use="optional"/>
        <xsd:attribute name="AUSTRALIAN" type="xsd:string" use="optional"/>
        <xsd:attribute name="BELGIAN" type="xsd:string" use="optional"/>
        <xsd:attribute name="BARRAID" type="xsd:string" use="optional"/>
        <xsd:attribute name="CBOT" type="xsd:string" use="optional"/>
        <xsd:attribute name="MGCUSIP" type="xsd:string" use="optional"/>
        <xsd:attribute name="MTBCUSIP" type="xsd:string" use="optional"/>
        <xsd:attribute name="RIC" type="xsd:string" use="optional"/>
        <xsd:attribute name="BRIDGE" type="xsd:string" use="optional"/>
        <xsd:attribute name="EXTEL" type="xsd:string" use="optional"/>
        <xsd:attribute name="COMPOSITEID" type="xsd:string" use="optional"/>
        <xsd:attribute name="FONDSKODE" type="xsd:string" use="optional"/>
        <xsd:attribute name="JAPAN_SICC" type="xsd:string" use="optional"/>
        <xsd:attribute name="ASX" type="xsd:string" use="optional"/>
        <xsd:attribute name="HKSE" type="xsd:string" use="optional"/>
        <xsd:attribute name="CODE" type="xsd:string" use="optional"/>
        <xsd:attribute name="CODE_CN" type="xsd:string" use="optional"/>
        <xsd:attribute name="CODE_GB" type="xsd:string" use="optional"/>
        <xsd:attribute name="CODE_HK" type="xsd:string" use="optional"/>
        <xsd:attribute name="CODE_JP" type="xsd:string" use="optional"/>
        <xsd:attribute name="CODE_KR" type="xsd:string" use="optional"/>
        <xsd:attribute name="CODE_TW" type="xsd:string" use="optional"/>
        <xsd:attribute name="NZSE" type="xsd:string" use="optional"/>
        <xsd:attribute name="ALP_CODE" type="xsd:string" use="optional"/>
        <xsd:attribute name="CIDEID" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_AT" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_BE" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_BR" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_CA" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_DE" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_ES" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_EU" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_FI" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_FR" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_GR" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_ID" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_IE" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_IT" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_LU" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_MX" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_NL" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_NZ" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_PT" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_SG" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_SI" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_SK" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_TH" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_US" type="xsd:string" use="optional"/>
        <xsd:attribute name="LIN" type="xsd:string" use="optional"/>
        <xsd:attribute name="LOANXID" type="xsd:string" use="optional"/>
        <xsd:attribute name="BloombergID" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER_H" type="xsd:string" use="optional"/>
        <xsd:attribute name="CUSIP_H" type="xsd:string" use="optional"/>
        <xsd:attribute name="ISIN_H" type="xsd:string" use="optional"/>
        <xsd:attribute name="SEDOL_H" type="xsd:string" use="optional"/>
        <xsd:attribute name="MDS_UID" type="xsd:string" use="optional"/>
        <xsd:attribute name="TICKER" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="PortfolioAttributeProperties">             <!-- maps to NumericCurrencyProperty -->
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioAttributeProperty">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="0" name="TimeSeriesData" type="bdt:TimeSeriesData"/>
              </xsd:sequence>
              <xsd:attribute name="PortfolioAttributeType" type="bdt:PortfolioAttributeType" use="required"/>
              <xsd:attribute name="PortfolioName" type="xsd:string" use="optional"/>
              <xsd:attribute name="PortfolioOwner" type="xsd:string" use="optional"/>
              <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="PortfolioAttributeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ASSIGNED_BASE_VALUE"/>                <!-- maps to AgingRule = rolling -->
          <xsd:enumeration value="PORTFOLIO_RETURN"/>                   <!-- maps to AgingRule = 1 day -->
          <xsd:enumeration value="CASH_IN_OUTFLOW"/>
          <xsd:enumeration value="MISCELLANEOUS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TreeActionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Replace"/>
          <xsd:enumeration value="Merge"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="TimeSeriesData">
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="Value" type="xsd:double" use="optional"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="NumericPortfolioTimeSeries">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="NumericTimeSeries">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1" name="NumericTimeSeriesData" type="bdt:NumericTimeSeriesData"/>
              </xsd:sequence>
              <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
              <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="NumericTimeSeriesData">
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Value" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="TextPortfolioTimeSeries">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="TextTimeSeries">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1" name="TextTimeSeriesData" type="bdt:TextTimeSeriesData"/>
              </xsd:sequence>
              <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
              <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TextTimeSeriesData">
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Value" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ReferencePortfolioTimeSeries">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReferenceTimeSeries">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReferenceTimeSeriesData" type="bdt:ReferenceTimeSeriesData"/>
              </xsd:sequence>
              <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
              <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReferenceTimeSeriesData">
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="ReferencePortfolio" type="xsd:string" use="required"/>
        <xsd:attribute name="ReferencePortfolioOwner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CurrencyPortfolioTimeSeries">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="CurrencyTimeSeries">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1" name="CurrencyTimeSeriesData" type="bdt:CurrencyTimeSeriesData"/>
              </xsd:sequence>
              <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
              <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CurrencyTimeSeriesData">
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="NumericWithCurrencyPortfolioTimeSeries">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="NumericWithCurrencyTimeSeries">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element maxOccurs="unbounded" minOccurs="1" name="NumericWithCurrencyTimeSeriesData" type="bdt:NumericWithCurrencyTimeSeriesData"/>
              </xsd:sequence>
              <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
              <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="NumericWithCurrencyTimeSeriesData">
        <xsd:attribute name="EffectiveStartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Value" type="xsd:double" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="AttrValues">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AttrValue" type="bdt:AttrValue">
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RMLOverrideAttrValues">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RMLOverrideAttrValue" type="bdt:RMLOverrideAttrValue">
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CurveValues">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CurveValue" type="bdt:CurveValue">
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ImpliedVolValues">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ImpliedVolValue" type="bdt:ImpliedVolValue">
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SwaptionImpliedVolValues">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="SwaptionImpliedVolValue" type="bdt:SwaptionImpliedVolValue"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SwaptionImpliedVolValue">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="CubeDataPoint" type="bdt:CubeDataPoint"/>
        </xsd:sequence>
        <xsd:attribute name="UnderlyingCurrency" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CubeDataPoint">
        <xsd:attribute name="SwapTerm" type="xsd:string" use="required"/>
        <xsd:attribute name="SwaptionTimeToMaturity" type="xsd:string" use="required"/>
        <xsd:attribute name="StrikeRelativeToATM" type="xsd:double" use="required"/>
        <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="AttrValue">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="MID" type="bdt:MID"/>
        </xsd:sequence>
        <xsd:attribute name="Value" type="xsd:string" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
        <xsd:attribute name="PriceFormat" type="bdt:PriceFormat" use="optional"/>
        <xsd:attribute default="GROSS" name="ReturnType" type="bdt:AssetReturnType" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="RMLOverrideAttrValue">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="MID" type="bdt:MID"/>
        </xsd:sequence>
        <xsd:attribute name="Value" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="PriceFormat">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PP"/>
          <xsd:enumeration value="CU"/>
          <xsd:enumeration value="RL"/>
          <xsd:enumeration value="DP"/>
          <xsd:enumeration value="CUD"/>
          <xsd:enumeration value="PPD"/>
          <xsd:enumeration value="RLCU"/>
          <xsd:enumeration value="RLCUD"/>
          <xsd:enumeration value="RLD"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssetReturnType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NET"/>
          <xsd:enumeration value="GROSS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="CurveValue">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Vertex" type="bdt:Vertex"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="MID" type="bdt:MID"/>
        </xsd:sequence>
        <!-- This attribute exists only in BDT and is handled in the xslt transformation to the import server format. -->
        <xsd:attribute default="false" name="DeleteVertices" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="Vertex">
        <xsd:attribute name="TimePeriod" type="xsd:string" use="required"/>
        <xsd:attribute name="Value" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PEElasticityOverrides">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PEElasticityOverride" type="bdt:PEElasticityOverride"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="VolatilityOverrides">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="VolatilityOverride" type="bdt:VolatilityOverride"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RatingScheduleOverrides">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RatingScheduleOverride" type="bdt:RatingScheduleOverride"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PEElasticityOverride">
        <xsd:attribute name="AssetData" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Elasticity" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="VolatilityOverride">
        <xsd:attribute name="AssetData" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Volatility" type="xsd:double" use="required"/>
        <xsd:attribute name="VolatilityType" type="bdt:VolatilityType" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="Delete" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="RatingScheduleOverride">
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="RatingSource" type="xsd:string" use="required"/>
        <xsd:attribute name="Rating" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PrepaymentModelOverrides">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PrepaymentModelOverrideDelete" type="bdt:PrepaymentModelOverridesDelete"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ABSCollateralModelOverride" type="bdt:ABSCollateralModelOverride"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ADCOAgencyPrepaymentModelOverride" type="bdt:ADCOAgencyPrepaymentModelOverride"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ADCONonAgencyRMBSModelOverride" type="bdt:ADCONonAgencyRMBSModelOverride"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MSCIAgencyPrepaymentModelOverride" type="bdt:MSCIAgencyPrepaymentModelOverride"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MSCIAgencyPrepaymentModelOverride">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="Scale" type="xsd:string" use="optional"/>
        <xsd:attribute name="Turnover" type="xsd:string" use="optional"/>
        <xsd:attribute name="Refi" type="xsd:string" use="optional"/>
        <xsd:attribute name="DefaultMultiplier" type="xsd:string" use="optional"/>
        <xsd:attribute name="CurtailmentShift" type="xsd:string" use="optional"/>
        <xsd:attribute name="RateIncentiveShift" type="xsd:string" use="optional"/>
        <xsd:attribute name="HPIGrowthSlide" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOverride" type="xsd:string" use="optional"/>
        <xsd:attribute name="Cashout" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PrepaymentModelOverridesDelete">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ADCOAgencyPrepaymentModelOverride">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="Scale" type="xsd:double" use="optional"/>
        <xsd:attribute name="Refi" type="xsd:double" use="optional"/>
        <xsd:attribute name="Turnover" type="xsd:double" use="optional"/>
        <xsd:attribute name="Cashout" type="xsd:double" use="optional"/>
        <xsd:attribute name="CreditCure" type="xsd:double" use="optional"/>
        <xsd:attribute name="Age" type="xsd:double" use="optional"/>
        <xsd:attribute name="Slide" type="xsd:double" use="optional"/>
        <xsd:attribute name="SATO" type="xsd:double" use="optional"/>
        <xsd:attribute name="CATO" type="xsd:double" use="optional"/>
        <xsd:attribute name="Burnout" type="xsd:double" use="optional"/>
        <xsd:attribute name="Lag" type="xsd:double" use="optional"/>
        <xsd:attribute name="StartYear" type="xsd:int" use="optional"/>
        <xsd:attribute name="StartMonth" type="xsd:int" use="optional"/>
        <xsd:attribute name="EndYear" type="xsd:int" use="optional"/>
        <xsd:attribute name="EndMonth" type="xsd:int" use="optional"/>
        <xsd:attribute name="RampMonths" type="xsd:int" use="optional"/>
        <xsd:attribute name="FadeMonths" type="xsd:int" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ADCONonAgencyRMBSModelOverride">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="Scale" type="xsd:double" use="optional"/>
        <xsd:attribute name="MDRScaling" type="xsd:double" use="optional"/>
        <xsd:attribute name="SeverityScaling" type="xsd:double" use="optional"/>
        <xsd:attribute name="Refi" type="xsd:double" use="optional"/>
        <xsd:attribute name="Turnover" type="xsd:double" use="optional"/>
        <xsd:attribute name="Cashout" type="xsd:double" use="optional"/>
        <xsd:attribute name="CreditCure" type="xsd:double" use="optional"/>
        <xsd:attribute name="Age" type="xsd:double" use="optional"/>
        <xsd:attribute name="Slide" type="xsd:double" use="optional"/>
        <xsd:attribute name="SATO" type="xsd:double" use="optional"/>
        <xsd:attribute name="CATO" type="xsd:double" use="optional"/>
        <xsd:attribute name="Burnout" type="xsd:double" use="optional"/>
        <xsd:attribute name="SATOResidual" type="xsd:double" use="optional"/>
        <xsd:attribute name="WAOLTVSlide" type="xsd:double" use="optional"/>
        <xsd:attribute name="WAOLTVStretch" type="xsd:double" use="optional"/>
        <xsd:attribute name="FICOSlide" type="xsd:double" use="optional"/>
        <xsd:attribute name="FICOStretch" type="xsd:double" use="optional"/>
        <xsd:attribute name="HPISlide" type="xsd:double" use="optional"/>
        <xsd:attribute name="HPIStretch" type="xsd:double" use="optional"/>
        <xsd:attribute name="Lag" type="xsd:double" use="optional"/>
        <xsd:attribute name="StartYear" type="xsd:int" use="optional"/>
        <xsd:attribute name="StartMonth" type="xsd:int" use="optional"/>
        <xsd:attribute name="EndYear" type="xsd:int" use="optional"/>
        <xsd:attribute name="EndMonth" type="xsd:int" use="optional"/>
        <xsd:attribute name="RampMonths" type="xsd:int" use="optional"/>
        <xsd:attribute name="FadeMonths" type="xsd:int" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ABSCollateralModelOverride">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="CPRForecast" type="xsd:string" use="optional"/>
        <xsd:attribute name="CDRForecast" type="xsd:string" use="optional"/>
        <xsd:attribute name="SeverityForecast" type="xsd:string" use="optional"/>
        <xsd:attribute name="RecoveryLag" type="xsd:string" use="optional"/>
        <xsd:attribute name="CleanupCall" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="PrepayForecast" type="xsd:string" use="optional"/>
        <xsd:attribute name="DefaultForecast" type="xsd:string" use="optional"/>
        <xsd:attribute name="PrepayForecastUnits" type="xsd:string" use="optional"/>
        <xsd:attribute name="DefaultForecastUnits" type="xsd:string" use="optional"/>
        <xsd:attribute name="OptionalRedemptionType" type="xsd:string" use="optional"/>
        <xsd:attribute name="OptionalRedemptionDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="OptionalRedemptionMonths" type="xsd:int" use="optional"/>
        <xsd:attribute name="CreditTriggersFailing" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="CreditFactorOverrides">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CreditFactorOverride" type="bdt:CreditFactorOverride"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CreditFactorOverrideDelete" type="bdt:CreditFactorOverrideDelete"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="CreditFactorOverride">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Factor" type="xsd:string" use="required"/>
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="ValidFrom" type="xsd:date" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CreditFactorOverrideDelete">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="IdType" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="BarraOneMPCCase">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MPCCaseValues" type="bdt:MPCCaseValues"/>
        </xsd:sequence>
        <xsd:attribute name="MPCCaseName" type="xsd:string" use="required"/>
        <xsd:attribute name="Market" type="xsd:string" use="optional"/>
        <xsd:attribute name="MarketOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="BarraOneMPCCaseDeleteTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MPCCaseDelete" type="bdt:MPCCaseNamesDeleteTYPE"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MPCCaseValues">
        <xsd:attribute name="Portfolio" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="BenchMark" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchMarkOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ExpandTree" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MPCCaseNamesDeleteTYPE">
        <xsd:attribute name="MPCCaseName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ImpliedVolValue">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DataPoint" type="bdt:DataPoint"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="MID" type="bdt:MID"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="DataPoint">
        <xsd:attribute name="TimeToMaturity" type="xsd:string" use="required"/>
        <xsd:attribute name="StrikePrice" type="xsd:double" use="required"/>
        <xsd:attribute name="ImpliedVolatility" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="Positions">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Position" type="bdt:Position">
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Position">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="MID" type="bdt:MID"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PosAttribute" type="bdt:PositionAttributeTYPE"/>
        </xsd:sequence>
        <xsd:attribute name="Holdings" type="xsd:double" use="optional"/>
        <xsd:attribute name="Weight" type="xsd:double" use="optional"/>
        <xsd:attribute name="Value" type="xsd:double" use="optional"/>
        <xsd:attribute name="Currency" type="xsd:string" use="optional"/>
        <xsd:attribute name="Notional" type="xsd:double" use="optional"/>
      </xsd:complexType>
      <xsd:complexType name="MID">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="optional"/>
        <xsd:attribute default="1" name="Priority" type="xsd:int" use="optional"/>
      </xsd:complexType>
      <xsd:complexType name="PositionAttributeTYPE">
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="value" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="VolatilityType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Black"/>
          <xsd:enumeration value="Hull-White"/>
          <xsd:enumeration value="Empty"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PortfolioImportType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BY_HOLDINGS"/>
          <xsd:enumeration value="BY_NOTIONAL"/>
          <xsd:enumeration value="BY_WEIGHT"/>
          <xsd:enumeration value="BY_VALUE"/>
          <xsd:enumeration value="BY_VALUE_AND_HOLDINGS"/>
          <xsd:enumeration value="BY_HOLDINGS_UPDATE_ABSOLUTE"/>
          <xsd:enumeration value="BY_HOLDINGS_UPDATE_DELTA"/>
          <xsd:enumeration value="DELETE"/>
          <xsd:enumeration value="BY_NOTIONAL_AND_HOLDINGS"/>
          <xsd:enumeration value="BY_VALUE_HOLDINGS_AND_NOTIONAL"/>
          <xsd:enumeration value="BY_NOTIONAL_UPDATE_ABSOLUTE"/>
          <xsd:enumeration value="BY_NOTIONAL_UPDATE_DELTA"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AggregationType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ASSIGNED_WEIGHT"/>
          <xsd:enumeration value="NONE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="IssuerType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GOVERNMENT"/>
          <xsd:enumeration value="SUPRANATIONAL"/>
          <xsd:enumeration value="CORPORATE"/>
          <xsd:enumeration value="AGENCY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CashFlowAssetIssuerType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GOVERNMENT"/>
          <xsd:enumeration value="CORPORATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SyndicatedLoanIssuerType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CORPORATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="LoanTypeTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PAR"/>
          <xsd:enumeration value="DISTRESSED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <!-- Should we try and define various other frequencies that can be unioned
	  		to compose various enum combinations? -->
      <xsd:simpleType name="FrequencyTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="1M"/>
          <xsd:enumeration value="3M"/>
          <xsd:enumeration value="6M"/>
          <xsd:enumeration value="1Y"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PriceFormatTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CLEAN"/>
          <xsd:enumeration value="DIRTY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ReferenceRate">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LIBOR"/>
          <xsd:enumeration value="SWAP"/>
          <xsd:enumeration value="GOVT"/>
          <xsd:enumeration value="30_YR_MTG"/>
          <xsd:enumeration value="1M_CP"/>
          <xsd:enumeration value="US_FED_FUNDS"/>
          <xsd:enumeration value="US_PRIME"/>
          <xsd:enumeration value="US_COF"/>
          <xsd:enumeration value="EURIBOR"/>
          <xsd:enumeration value="CMS"/>
          <xsd:enumeration value="CMT"/>
          <xsd:enumeration value="INFLATION"/>
          <xsd:enumeration value="MMD"/>
          <xsd:enumeration value="OIS"/>
          <xsd:enumeration value="USD_SWAP_LIBOR"/>
          <xsd:enumeration value="SOFR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CouponType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FIXED"/>
          <xsd:enumeration value="FLOATING"/>
          <xsd:enumeration value="STEPPED"/>
          <xsd:enumeration value="FIXED_TO_FLOAT"/>
          <xsd:enumeration value="FLOAT_TO_FIXED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SyndicatedLoanCouponType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FIXED"/>
          <xsd:enumeration value="FLOATING"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ConvertibleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="REGULAR"/>
          <xsd:enumeration value="PRIDES"/>
          <xsd:enumeration value="PERCS"/>
          <xsd:enumeration value="REVERSE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ConversionStyle">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="AMERICAN"/>
          <xsd:enumeration value="EUROPEAN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="OptionStyle">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="A"/>
          <xsd:enumeration value="E"/>
          <xsd:enumeration value="B"/>
          <xsd:enumeration value="AMERICAN"/>
          <xsd:enumeration value="EUROPEAN"/>
          <xsd:enumeration value="BERMUDAN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BenchmarkMode">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="None"/> <!-- When passing "None" option, it will select the "Top" option in setting screen of the tree on UI -->
          <xsd:enumeration value="Matched Benchmark tree structure"/>
          <xsd:enumeration value="Benchmark misfit"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ExerciseType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="AMERICAN"/>
          <xsd:enumeration value="EUROPEAN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SinkType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MANDATORY"/>
          <xsd:enumeration value="OPTIONAL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="OptionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CALL"/>
          <xsd:enumeration value="PUT"/>
          <xsd:enumeration value="P"/>
          <xsd:enumeration value="C"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BondFutureType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="YB"/>
          <xsd:enumeration value="XB"/>
          <xsd:enumeration value="FG"/>
          <xsd:enumeration value="CN"/>
          <xsd:enumeration value="DU"/>
          <xsd:enumeration value="OE"/>
          <xsd:enumeration value="RX"/>
          <xsd:enumeration value="UB"/>
          <xsd:enumeration value="JJ"/>
          <xsd:enumeration value="BT"/>
          <xsd:enumeration value="KE"/>
          <xsd:enumeration value="RU"/>
          <xsd:enumeration value="RF"/>
          <xsd:enumeration value="NT"/>
          <xsd:enumeration value="SL"/>
          <xsd:enumeration value="SK"/>
          <xsd:enumeration value="ST"/>
          <xsd:enumeration value="SW"/>
          <xsd:enumeration value="0G"/>
          <xsd:enumeration value="TU"/>
          <xsd:enumeration value="FV"/>
          <xsd:enumeration value="TY"/>
          <xsd:enumeration value="US"/>
          <xsd:enumeration value="TP"/>
          <xsd:enumeration value="UL"/>
          <xsd:enumeration value="YR"/>
          <xsd:enumeration value="ZH"/>
          <xsd:enumeration value="ZI"/>
          <xsd:enumeration value="ZJ"/>
          <xsd:enumeration value="ZK"/>
          <xsd:enumeration value="AT"/>
          <xsd:enumeration value="CL"/>
          <xsd:enumeration value="JM"/>
          <xsd:enumeration value="KV"/>
          <xsd:enumeration value="KT"/>
          <xsd:enumeration value="TM"/>
          <xsd:enumeration value="ZL"/>
          <xsd:enumeration value="ZM"/>
          <xsd:enumeration value="ZN"/>
          <xsd:enumeration value="ZO"/>
          <xsd:enumeration value="BV"/>
          <xsd:enumeration value="CG"/>
          <xsd:enumeration value="LG"/>
          <xsd:enumeration value="LH"/>
          <xsd:enumeration value="NU"/>
          <xsd:enumeration value="NV"/>
          <xsd:enumeration value="PU"/>
          <xsd:enumeration value="PV"/>
          <xsd:enumeration value="SU"/>
          <xsd:enumeration value="SV"/>
          <xsd:enumeration value="AM"/>
          <xsd:enumeration value="TS"/>
          <xsd:enumeration value="TF"/>
          <xsd:enumeration value="JL"/>
          <xsd:enumeration value="UG"/>
          <xsd:enumeration value="TG"/>
          <xsd:enumeration value="ZA"/>
          <xsd:enumeration value="ZB"/>
          <xsd:enumeration value="ZP"/>
          <xsd:enumeration value="ZQ"/>
          <xsd:enumeration value="ZR"/>
          <xsd:enumeration value="ZS"/>
          <xsd:enumeration value="ZT"/>
          <xsd:enumeration value="ZU"/>
          <xsd:enumeration value="ZV"/>
          <xsd:enumeration value="ZW"/>
          <xsd:enumeration value="ZX"/>
          <xsd:enumeration value="ZY"/>
          <xsd:enumeration value="ZZ"/>
          <xsd:enumeration value="NY"/>
          <xsd:enumeration value="NZ"/>
          <xsd:enumeration value="SB"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssetPriority">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BARRA"/>
          <xsd:enumeration value="USER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="LegType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LONG"/>
          <xsd:enumeration value="SHORT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="OrderType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CAP"/>
          <xsd:enumeration value="FLOOR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ImportJobStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PENDING"/>
          <xsd:enumeration value="COMPLETED"/>
          <xsd:enumeration value="FAILED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PartnerLinkJobStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PENDING"/>
          <xsd:enumeration value="COMPLETED"/>
          <xsd:enumeration value="FAILED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ExportJobStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PENDING"/>
          <xsd:enumeration value="COMPLETED"/>
          <xsd:enumeration value="SCHEDULED"/>
          <xsd:enumeration value="FAILED"/>
          <xsd:enumeration value="CANCELLING"/>
          <xsd:enumeration value="CANCELLED"/>
          <xsd:enumeration value="QUEUED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="OptimizationJobStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PENDING"/>
          <xsd:enumeration value="COMPLETED"/>
          <xsd:enumeration value="FAILED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RatingSource">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MOODYS"/>
          <xsd:enumeration value="S_AND_P"/>
          <xsd:enumeration value="JCR"/>
          <xsd:enumeration value="R_AND_I"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="DateRollConvention">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="EOM_NGBD"/>
          <xsd:enumeration value="EOM_NO_ADJ"/>
          <xsd:enumeration value="EOM_PGBD"/>
          <xsd:enumeration value="MFBD"/>
          <xsd:enumeration value="MPBD"/>
          <xsd:enumeration value="NGBD"/>
          <xsd:enumeration value="NO_DATE_ADJ"/>
          <xsd:enumeration value="PGB"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="IRSwapLegRateAveragingType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COMPOUNDED"/>
          <xsd:enumeration value="ARITHMETIC"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="IRSwapLegLookbackPeriodType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FIRST_BUSINESS_DAYS"/>
          <xsd:enumeration value="CALENDAR_DAYS"/>
          <xsd:enumeration value="FIRST_BUSINESS_DAY_IN_MONTH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="IRSwapLegLookbackShiftType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="INTEREST_PERIOD_WEIGHTED_SHIFT"/>
          <xsd:enumeration value="OBSERVATION_SHIFT"/>
          <xsd:enumeration value="NO_OBSERVATION_SHIFT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ActionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DELETE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="HedgeFundStyle">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DISCRETION_GMAC"/>
          <xsd:enumeration value="LONGVAR_BIAS_EQ"/>
          <xsd:enumeration value="NOBIAS_STATARB_EQ"/>
          <xsd:enumeration value="SHORT_BIAS_EQ"/>
          <xsd:enumeration value="MERGER_ARB"/>
          <xsd:enumeration value="DISTRESSED"/>
          <xsd:enumeration value="MULTIPROC_EVENT"/>
          <xsd:enumeration value="FIXEDINC_ARB"/>
          <xsd:enumeration value="CONVERT_ARB"/>
          <xsd:enumeration value="SYSTRADE_MFUT"/>
          <xsd:enumeration value="LS_CREDIT"/>
          <xsd:enumeration value="FUND_OF_HF"/>
          <xsd:enumeration value="OTHER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BarrierType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="UP_AND_IN"/>
          <xsd:enumeration value="DOWN_AND_IN"/>
          <xsd:enumeration value="UP_AND_OUT"/>
          <xsd:enumeration value="DOWN_AND_OUT"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:simpleType name="DiscountingCurve">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LIBOR"/>
          <xsd:enumeration value="REAL"/>
          <xsd:enumeration value="TREASURY"/>
          <xsd:enumeration value="MUNI"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RepoType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CLASSIC"/>
          <xsd:enumeration value="BUYSELL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CollateralType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BOND"/>
          <xsd:enumeration value="EQUITY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AverageType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PRICE"/>
          <xsd:enumeration value="STRIKE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CertificateType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="STANDARD"/>
          <xsd:enumeration value="REVERSE"/>
          <xsd:enumeration value="OUTPERFORMANCE"/>
          <xsd:enumeration value="DISCOUNT"/>
          <xsd:enumeration value="BONUS"/>
          <xsd:enumeration value="TWIN_WIN"/>
          <xsd:enumeration value="AIRBAG"/>
          <xsd:enumeration value="CAPITAL_PROTECTION"/>
          <xsd:enumeration value="REVERSE_CONVERT"/>
          <xsd:enumeration value="BARRIER_RANGE_REVERSE_CONVERT"/>
          <xsd:enumeration value="REVERSE_BONUS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ReturnType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NO_RETURN"/>
          <xsd:enumeration value="WEIGHTED_RETURN"/>
          <xsd:enumeration value="BASKET_RETURN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssetType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GOVERNMENT"/>
          <xsd:enumeration value="SUPRANATIONAL"/>
          <xsd:enumeration value="CORPORATE"/>
          <xsd:enumeration value="AGENCY"/>
          <xsd:enumeration value="MUNI"/>
          <xsd:enumeration value="IPB"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssetPrecomputingType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FUND"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssetPrecomputingFrequency">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="QUARTERLY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RateIndex">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LIBOR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BaseValueType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ASSIGNED"/>
          <xsd:enumeration value="LONG"/>
          <xsd:enumeration value="LONG_SHORT"/>
          <xsd:enumeration value="NET"/>
          <xsd:enumeration value="ASSIGNED_SERIES"/>
          <xsd:enumeration value="NET_NOTIONAL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AbsoluteRelativeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ABSOLUTE"/>
          <xsd:enumeration value="RELATIVE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <!-- export related stuff-->


      <xsd:simpleType name="AnalysisDatePref">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LATEST"/>
          <xsd:enumeration value="LATEST_FINALIZED"/>
          <xsd:enumeration value="LAST_ANALYSIS_DATE"/>
          <xsd:enumeration value="LAST_CALENDAR_DATE"/>
          <xsd:enumeration value="1"/>
          <xsd:enumeration value="2"/>
          <xsd:enumeration value="3"/>
          <xsd:enumeration value="4"/>
          <xsd:enumeration value="5"/>
          <xsd:enumeration value="6"/>
          <xsd:enumeration value="7"/>
          <xsd:enumeration value="8"/>
          <xsd:enumeration value="9"/>
          <xsd:enumeration value="10"/>
          <xsd:enumeration value="11"/>
          <xsd:enumeration value="12"/>
          <xsd:enumeration value="13"/>
          <xsd:enumeration value="14"/>
          <xsd:enumeration value="15"/>
          <xsd:enumeration value="16"/>
          <xsd:enumeration value="17"/>
          <xsd:enumeration value="18"/>
          <xsd:enumeration value="19"/>
          <xsd:enumeration value="20"/>
          <xsd:enumeration value="21"/>
          <xsd:enumeration value="22"/>
          <xsd:enumeration value="23"/>
          <xsd:enumeration value="24"/>
          <xsd:enumeration value="25"/>
          <xsd:enumeration value="26"/>
          <xsd:enumeration value="27"/>
          <xsd:enumeration value="28"/>
          <xsd:enumeration value="29"/>
          <xsd:enumeration value="30"/>
          <xsd:enumeration value="31"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PrecomputedContentMode">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LOAD"/>
          <xsd:enumeration value="REGENERATE"/>
          <xsd:enumeration value="REGENERATE_AND_REPORT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="SubmitExportJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="JobName" type="bdt:String64Length"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="OnlyUseUpdatedPortfolios" type="xsd:boolean"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitExportJobRequestV2">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Payload" type="bdt:SubmitExportJobPayload"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="SubmitExportJobPayload">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="JobName" type="bdt:String64Length"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="OnlyUseUpdatedPortfolios" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrecomputedContent" type="bdt:PrecomputedContentMode"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SubmitDynamicExportJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="JobName" type="bdt:String64Length"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="OnlyUseUpdatedPortfolios" type="xsd:boolean"/>
            <xsd:choice maxOccurs="1" minOccurs="1">
              <xsd:element maxOccurs="1" minOccurs="0" name="ExportSetName" type="xsd:string"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="DynamicExportSetupArgs" type="bdt:DynamicExportSetupArgs"/>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DynamicExportSetupArgs">
        <xsd:sequence>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioAnalysis" type="bdt:DynamicPortfolioAnalysis"/>
          </xsd:choice>
          <xsd:element maxOccurs="1" minOccurs="0" name="ExportSetOutputSettings" type="bdt:ExportSetOutputSettings"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="DynamicPortfolioAnalysis">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:DynamicPortfolioSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportSelection" type="bdt:DynamicReportSelection"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:PortfolioAnalysisAttributes"/>
      </xsd:complexType>

      <xsd:attributeGroup name="PortfolioAnalysisAttributes">
        <xsd:attribute name="RecognizedAssets" type="xsd:int" use="optional"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="CovarianceDate" type="xsd:date" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="DynamicPortfolioSelection">
        <xsd:sequence>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="Portfolio" type="bdt:NameOwner"/>
          </xsd:choice>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="Benchmark" type="bdt:NameOwner"/>
          </xsd:choice>
          <xsd:element maxOccurs="1" minOccurs="0" name="IncludeAggregate" type="xsd:boolean"/>
          <xsd:element default="NONE" maxOccurs="1" minOccurs="0" name="AggregationType" type="bdt:NodeSelectionInfo"/>
          <xsd:element default="1" maxOccurs="1" minOccurs="0" name="SpecificLevel" type="xsd:int"/>
          <!--xsd:element name="StorageEnabled" type="xsd:boolean" minOccurs="0" maxOccurs="1"/-->
          <xsd:element maxOccurs="1" minOccurs="0" name="Currency" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="NameOwner">
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ExportSetOutputSettings">
        <xsd:attribute name="OutputFormat" type="bdt:OutputFormat" use="optional"/>
        <xsd:attribute name="OutputToSingleFile" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="MinAcceptedPositions" type="xsd:int" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="DynamicReportSelection">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="ReportView" type="bdt:NameOwner"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReportViewDefinition" type="bdt:ReportViewDefinition"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="ReportViewDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ViewName" type="xsd:string"/>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="PositionReportDefinition" type="bdt:PositionReportDefinition"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="RiskDecompositionReportDefinition" type="bdt:RiskDecompositionReportDefinition"/>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PositionReportDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Columns" type="bdt:Columns"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Grouping" type="bdt:Grouping"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Sorting" type="bdt:Sorting"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughDetails" type="bdt:LookThroughDetails"/>
        </xsd:sequence>
        <xsd:attribute name="BANH" type="bdt:BANH" use="optional"/>
        <xsd:attribute name="BANHDisplay" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="BondFutures" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="BondFutureOptions" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ResidualReturnContribution" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ShowBenchmarkStatistics" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="Columns">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Column" type="bdt:NameOwner"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Grouping">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingEntry" type="bdt:GroupingEntry"/>
        </xsd:sequence>
        <xsd:attribute default="true" name="GlobalGrouping" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="GroupingEntry">
        <xsd:sequence>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="GroupingScheme" type="bdt:GroupingScheme"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="GroupingFilter" type="bdt:GroupingFilter"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="TreeLevelGrouping" type="xsd:nonNegativeInteger"/>
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="Expand" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="Hide" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="GroupingScheme">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Column" type="bdt:NameOwner"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="GroupingSchemeValue" type="bdt:GroupingSchemeValue"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GroupingSchemeValue">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element fixed="distinct" maxOccurs="1" minOccurs="0" name="DistinctGrouping" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="UserGroupScheme" type="bdt:NameOwner"/>
          <!-- Following option is not supported for Position Report. Will be included later.-->
          <!--xsd:element name="AttributeGroupingSchemeDefinition" type="bdt:AttributeGroupingSchemeDefinition" minOccurs="0" maxOccurs="1"/-->
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="AttributeGroupingSchemeDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributeGroups" type="bdt:AttributeGroups"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AttributeGroups">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AttributeGroup" type="bdt:AttributeGroup"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AttributeGroup">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="GroupName" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AttributeEnumerators" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GroupingFilter">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Column" type="bdt:NameOwner"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="GroupingFilterType" type="bdt:GroupingFilterType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="FilterValue" type="xsd:nonNegativeInteger"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="GroupingFilterType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TOP"/>
          <xsd:enumeration value="BOTTOM"/>
          <xsd:enumeration value="TOP_AND_BOTTOM"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="Sorting">
        <xsd:sequence>
          <xsd:element maxOccurs="3" minOccurs="1" name="SortEntry" type="bdt:SortEntry"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SortEntry">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Column" type="bdt:NameOwner"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SortingOrder" type="bdt:SortingOrder"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="SortingOrder">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Ascending"/>
          <xsd:enumeration value="Descending"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BANH">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="KEEP_ORIGINAL_GROUPING"/>
          <xsd:enumeration value="EQUAL_WEIGHTED"/>
          <xsd:enumeration value="MARKET_VALUE_WEIGHTED"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="LookThroughDetails">
        <xsd:attribute name="Composites" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ETFs" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="EIFs" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="FXForwardsAndFutures" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="EquityOptions" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="HedgeFunds" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="TotalReturnSwap" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughStyle" type="bdt:LookThroughStyle" use="optional"/>
        <xsd:attribute name="SelectiveComposites" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SelectiveLTConfig" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="LookThroughStyle">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COLLAPSE_ASSETS"/>
          <xsd:enumeration value="PRESERVE_TREE_STRUCTURE"/>
          <xsd:enumeration value="PRESERVE_TREE_STRUCTURE_AND_INSTRUMENT_SOURCE"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_1"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_2"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_3"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_4"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_5"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_6"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_7"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_8"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_9"/>
          <xsd:enumeration value="COLLAPSE_LEVEL_10"/>
          <xsd:enumeration value="PRESERVE_TREE_STRUCTURE_AND_SRC_PATH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="RiskDecompositionReportDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Columns" type="bdt:Columns"/>
          <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:element maxOccurs="1" minOccurs="0" name="FactorTree" type="bdt:NameOwner"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="FactorTreeDefinition" type="bdt:FactorTreeDefinition"/>
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="ResidualReturnContribution" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ShowGroupFactorInteractionTerms" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="HideNullRows" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ShowSubCategories" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="HideCorrelationForZeroFactorExposure" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ShowFactorLevelDetails" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DisplayFactorUnits" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FactorTreeDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FactorTreeNode" type="bdt:FactorTreeNode"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FactorTreeNode">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="NodeName" type="xsd:string"/>
          <xsd:choice maxOccurs="unbounded" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="FactorTreeNode" type="bdt:FactorTreeNode"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="FactorGroup" type="bdt:FactorGroup"/>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FactorGroup">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="GroupName" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Factor" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SubmitExportJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitDynamicExportJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitExportJobResponseV2">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetVisualizationJobInput">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="VisualizationJobParams" type="bdt:VisualizationJobParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetVisualizationJobInput2ADB">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleName"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RecurrenceName"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPAAllocSelReportsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPAAllocSelReportsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="Reports" type="bdt:ReportIdData"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPAAssetSelReportsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPAAssetSelReportsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="Reports" type="bdt:ReportIdData"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ReportIdData">
        <xsd:attribute name="ReportId" type="xsd:int" use="required"/>
        <xsd:attribute name="DisplayName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="SubmitPAVizInvalidationResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="Response" type="bdt:PAVizResponse"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PAVizResponse">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Status" type="xsd:string"/>

        </xsd:sequence>
        <xsd:attribute name="PortfolioGroupName" type="xsd:string" use="optional"/>
        <xsd:attribute name="AnalysisSettingName" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:element name="SubmitOnDemandPAVizReportRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupNameOwner" type="bdt:PortfolioGroupNameOwner"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleName" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:element name="SubmitOnDemandPAVizReportResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>



      <xsd:element name="SubmitPAVizInvalidationRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="InvalidationRequestParams" type="bdt:InvalidationRequestParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="InvalidationRequestParams">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="InvalidateAllAnalysisSettingForPortfolioGroup" type="bdt:InvalidateAllAnalysisSettingForPortfolioGroup"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InvalidateAnalysisSettings" type="bdt:InvalidateAnalysisSettings"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="InvalidateAllAnalysisSettingForPortfolioGroup">
        <xsd:attribute name="PortfolioGroupName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioGroupOwner" type="xsd:string" use="optional"/>
        <xsd:attributeGroup ref="bdt:InvalidationParameters"/>
      </xsd:complexType>

      <xsd:attributeGroup name="InvalidationParameters">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:date" use="required"/>
        <xsd:attribute name="RunReturnsCalculator" type="xsd:boolean" use="required"/>
        <xsd:attribute name="TransactionReturns" type="xsd:boolean" use="required"/>
      </xsd:attributeGroup>

      <xsd:complexType name="InvalidateAnalysisSettings">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AnalysisSettingsParameters" type="bdt:AnalysisSettingsParameters"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AnalysisSettingsParameters">
        <xsd:attribute name="AnalysisSettingsName" type="xsd:string" use="required"/>
        <xsd:attribute name="AnalysisSettingsOwner" type="xsd:string" use="optional"/>
        <xsd:attributeGroup ref="bdt:InvalidationParameters"/>
      </xsd:complexType>


      <xsd:complexType name="VisualizationJobParams">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="PAStorageResult" type="bdt:PAStorageResult"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PAListPortfolioGroups" type="bdt:PAListPortfolioGroups"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PAListRptScheduleAndRecurrence" type="bdt:PAListRptScheduleAndRecurrence"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="PAStorageResult">
        <xsd:attribute name="PortfolioGroupName" type="xsd:string" use="required"/>
        <xsd:attribute name="ReportScheduleName" type="xsd:string" use="required"/>
        <xsd:attribute name="RecurrenceName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PAListPortfolioGroups">
        <xsd:attribute name="User" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PAListRptScheduleAndRecurrence">
        <xsd:attribute name="PortfolioGroupName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="GetVisualizationJobResponse">
        <xsd:complexType>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="AttachmentExportJob" type="bdt:AttachmentType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ListPortfolioGroupResponse" type="bdt:ListPortfolioGroupResponse"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ListPortfolioGroupRptSchdResponse" type="bdt:ListPortfolioGroupRptSchdResponse"/>
          </xsd:choice>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetVisualizationJobResponse2ADB">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="AttachmentExportJob2ADB" type="bdt:AttachmentType2ADB"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ListPortfolioGroupResponse">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioGroupNames" type="bdt:PortfolioGroupNames"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PortfolioGroupNames">
        <xsd:attribute name="PortfolioGroupNames" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:complexType name="ListPortfolioGroupRptSchdResponse">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupsName" type="bdt:PortfolioGroupsName"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PortfolioGroupsName">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ListRptScheduleAndRecurrence" type="bdt:ListRptScheduleAndRecurrence"/>
        </xsd:sequence>
        <xsd:attribute name="PortfolioGroupName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ListRptScheduleAndRecurrence">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportScheduleName" type="bdt:ReportScheduleName"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReportScheduleName">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="RecurrenceNames" type="bdt:RecurrenceNames"/>
        </xsd:sequence>
        <xsd:attribute name="ReportScheduleName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="RecurrenceNames">
        <xsd:attribute name="RecurrenceNames" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="GetVisualizationJobLogsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="PAJobLogParams" type="bdt:PAJobLogs"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PAJobLogs">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupNameOwner" type="bdt:PortfolioGroupNameOwner"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingsNameOwner" type="bdt:AnalysisSettingsNameOwner"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PortfolioGroupNameOwner">
        <xsd:attribute name="PortfolioGroupName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioGroupOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="AnalysisSettingsNameOwner">
        <xsd:attribute name="AnalysisSettingsName" type="xsd:string" use="required"/>
        <xsd:attribute name="AnalysisSettingsOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:element name="GetVisualizationJobLogsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="AttachmentExportJob" type="bdt:AttachmentType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitPAVisualizationJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="PASubmitVizJobParams" type="bdt:PASubmitVizJobParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PASubmitVizJobParams">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupNameOwner" type="bdt:PortfolioGroupNameOwner"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AnalysisSettingsName" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SubmitPAVisualizationJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="PAVizJobDetails" type="bdt:PAVizJobDetails"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PAVizJobDetails">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PAVizJobDetail" type="bdt:PAVizJobDetail"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PAVizJobDetail">
        <xsd:attribute name="JobId" type="xsd:string" use="required"/>
        <xsd:attribute name="Message" type="xsd:string" use="optional"/>
        <xsd:attribute name="AnalysisSettingsName" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:element name="GetPAVisualizationJobStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPAVisualizationJobStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetJobPerformanceInfoRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetJobPerformanceInfoResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="PerformanceInfo" type="bdt:PerformanceInfo"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PerformanceInfo">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="JobInfo" type="bdt:JobInfo"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="JobPerformanceInfo" type="bdt:JobPerformanceInfo"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="JobPerformanceMetrics" type="bdt:JobPerformanceMetrics"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="JobPerformanceMetric">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Type" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ID" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Measuring" type="bdt:JobPerformanceMetric"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Start" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Duration" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Submetrics" type="bdt:JobPerformanceMetrics"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Attribute" type="bdt:JobPerformanceMetricAttribute"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="JobPerformanceMetricAttribute">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Value" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="JobPerformanceMetrics">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="JobPerformanceMetric" type="bdt:JobPerformanceMetric"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="JobInfo">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AutoAMJobID" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ClientID" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="UserID" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Description" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Cancelled" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SubCategory" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SessionCount" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Platform" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Product" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="JobType" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EportSetName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="RequeueCount" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="JobStatus" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="JobPerformanceInfo">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="RegTime" type="xsd:dateTime"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="JobPickUpTime" type="xsd:dateTime"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LastModifiedDate" type="xsd:dateTime"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ProcessDuration" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="WaitDuration" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SubmitExportJobWithScheduleRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ScheduleExportJob" type="bdt:ScheduleExportJob"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitExportJobWithScheduleResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ScheduleExportJob">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="ScheduleOnce" type="bdt:ScheduleOnce"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScheduleHistorical" type="bdt:ScheduleHistorical"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScheduleDaily" type="bdt:ScheduleDaily"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScheduleMonthly" type="bdt:ScheduleMonthly"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="ScheduleOnce">
        <xsd:attribute name="JobName" type="xsd:string" use="optional"/>
        <xsd:attribute name="AnalysisDate" type="xsd:date" use="required"/>
        <xsd:attribute name="OnlyUseUpdatedPortfolios" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="Seed" type="xsd:int" use="optional"/>  <!-- Applicable for McVar type only. -1 for Random-->
        <xsd:attribute name="ProcessAllAssets" type="xsd:boolean" use="optional"/>  <!-- Applicable for Asset Valuation type only. False if not provided-->
      </xsd:complexType>

      <xsd:complexType name="ScheduleHistorical">
        <xsd:attribute name="JobName" type="xsd:string" use="optional"/>
        <xsd:attribute name="HistoricalFromYYYYMM" type="xsd:string" use="required"/>
        <xsd:attribute name="HistoricalToYYYYMM" type="xsd:string" use="required"/>
        <xsd:attribute name="CreateReportsFor" type="bdt:AnalysisDatePref" use="required"/>
        <xsd:attribute name="OnlyUseUpdatedPortfolios" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ScheduleDaily">
        <xsd:attribute name="JobName" type="xsd:string" use="optional"/>
        <xsd:attribute name="AnalysisDatePref" type="bdt:AnalysisDatePref" use="required"/>  <!-- should be either "LATEST" or "LATEST_FINALIZED" -->
        <xsd:attribute name="LaunchATHHMM" type="xsd:string" use="required"/>  <!-- For example, '1530' or '0301 -->
        <xsd:attribute name="OnlyUseUpdatedPortfolios" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ScheduleMonthly">
        <xsd:attribute name="JobName" type="xsd:string" use="optional"/>
        <xsd:attribute name="CreateReportsFor" type="bdt:AnalysisDatePref" use="required"/>
        <xsd:attribute name="LaunchAfter" type="xsd:int" use="required"/>
        <xsd:attribute name="LaunchATHHMM" type="xsd:string" use="required"/><!-- For example, '1530' or '0301 -->
        <xsd:attribute name="OnlyUseUpdatedPortfolios" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:element name="GetExportJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetExportJobRequest2ADB">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetExportJobStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetExportJobStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetProfileJobStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAssetProfileJobStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ExportWrapper" type="bdt:ExportWrapper"/>

      <xsd:complexType name="ExportWrapper">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ExportRoot" type="bdt:ExportRoot"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ExportWrapperInfo" type="xsd:string"/><!-- Need this second element(optional) otherwise .Net tool doesn't generate ExportWrapper class type.  -->
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="ExportRoot" type="bdt:ExportRoot"/>

      <xsd:complexType name="ExportRoot">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ExportJobContext" type="bdt:ExportJobContext"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ExportJobReport" type="bdt:ExportJobReport"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="ReportRoot" type="bdt:ReportRoot"/>  <!-- Added this elemnt along with complexType since this creates a bdtbean Document (ReportRootDocument) interface and Impl.
             which helps write the xml using this doc to file and save Most of the xmlrenderer classes have save functions -->

      <xsd:complexType name="ReportRoot">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ExportJobContext" type="bdt:ExportJobContext"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ExportJobReport" type="bdt:ExportJobReport"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:element name="DatedReportRoot" type="bdt:DatedReportRoot"/>  <!-- Added this elemnt along with complexType since this creates a bdtbean Document (ReportRootDocument) interface and Impl.
             which helps write the xml using this doc to file and save Most of the xmlrenderer classes have save functions -->

      <xsd:complexType name="DatedReportRoot">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ExportJobContext" type="bdt:ExportJobContext"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ExportJobReport" type="bdt:ExportJobReport"/>
        </xsd:sequence>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="Status" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ExportJobContext">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ExportJobProcessed" type="bdt:ExportJobProcessed"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ExportJobReport">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportDefinition" type="bdt:ReportDefinition"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportBody" type="bdt:ReportBody"/>
        </xsd:sequence>
        <xsd:attribute name="ReportName" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ReportDefinition">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="bdt:GroupDefinition"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ColDefinition" type="bdt:ColDefinition"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:element name="GroupDefinition">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="GroupDefinitionName" type="xsd:string" use="required"/>
              <xsd:attribute name="Type" type="xsd:string" use="required"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ColDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="bdt:ColDefData"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="ColDefData">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:string">
              <xsd:attribute name="Name" type="xsd:string" use="required"/>
              <xsd:attribute name="Type" type="xsd:string" use="required"/>
              <xsd:attribute name="DisplayName" type="xsd:string" use="required"/>
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ReportBody">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReportBodyGroup" type="bdt:ReportBodyGroup"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReportBodyGroup">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReportBodyRow" type="bdt:ReportBodyRow"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ReportBodyGroup" type="bdt:ReportBodyGroup"/>
        </xsd:choice>
        <xsd:attribute name="GroupDefName" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupTypeName" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupDisplayName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ReportBodyRow">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CellData" type="bdt:CellData"/>
        </xsd:sequence>
        <xsd:attribute name="ColDefName" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="IsTotalRow" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="CellData">
        <xsd:attributeGroup ref="bdt:AttributeCellData"/>
      </xsd:complexType>

      <xsd:attributeGroup name="AttributeCellData">
        <xsd:attribute name="Value" type="xsd:string" use="required"/>
      </xsd:attributeGroup>

      <xsd:complexType name="ExportJobProcessed">
        <xsd:attributeGroup ref="bdt:AttributeExportJobSummary"/>
      </xsd:complexType>

      <xsd:attributeGroup name="AttributeExportJobSummary">
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioPath" type="xsd:string" use="optional"/>
        <xsd:attribute name="AttributionType" type="xsd:string" use="optional"/>
        <xsd:attribute name="ReportName" type="xsd:string" use="required"/>
        <xsd:attribute name="User" type="xsd:string" use="required"/>
        <xsd:attribute name="AnalysisDate" type="xsd:date" use="required"/>
        <xsd:attribute name="Benchmark" type="xsd:string" use="required"/>
        <xsd:attribute name="BaseCurrency" type="xsd:string" use="required"/>
        <xsd:attribute name="TotalPositions" type="xsd:double" use="required"/>
        <xsd:attribute name="AcceptedPositions" type="xsd:double" use="required"/>
        <xsd:attribute name="Strategy" type="xsd:string" use="required"/>
        <xsd:attribute name="ScenarioName" type="xsd:string" use="required"/>
        <xsd:attribute name="MPCCaseName" type="xsd:string" use="required"/>
        <xsd:attribute name="ReportTime" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="optional"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="optional"/>
        <xsd:attribute name="Seed" type="xsd:string" use="optional"/>
        <xsd:attribute name="RiskModel" type="xsd:string" use="optional"/>
        <xsd:attribute name="RiskModelVersion" type="xsd:string" use="optional"/>
        <xsd:attribute name="CovMatrixDate" type="xsd:string" use="optional"/>
        <xsd:attribute name="UltraShortRiskModel" type="xsd:string" use="optional"/>
        <xsd:attribute name="UltraShortHoldingPeriod" type="xsd:string" use="optional"/>
        <xsd:attribute name="UltraShortHalfLife" type="xsd:string" use="optional"/>
        <xsd:attribute name="LookThroughComposites" type="xsd:string" use="optional"/>
        <xsd:attribute name="CurrencyExposure" type="xsd:string" use="optional"/>
        <xsd:attribute name="FactorType" type="xsd:string" use="optional"/>
        <xsd:attribute name="FactorGrouping" type="xsd:string" use="optional"/>
        <xsd:attribute name="LocalMarket" type="xsd:string" use="optional"/>
        <xsd:attribute name="LocalMarketGrouping" type="xsd:string" use="optional"/>
        <xsd:attribute name="LocalMarketGroupingScheme" type="xsd:string" use="optional"/>
        <xsd:attribute name="RiskUnits" type="xsd:string" use="optional"/>
        <xsd:attribute name="RiskDimension" type="xsd:string" use="optional"/>
        <xsd:attribute name="ValueAtRiskHorizon" type="xsd:string" use="optional"/>
        <xsd:attribute name="ValueAtRiskConfidenceLevel" type="xsd:string" use="optional"/>
        <xsd:attribute name="GroupBy" type="xsd:string" use="optional"/>
        <xsd:attribute name="Zoom" type="xsd:string" use="optional"/>
        <xsd:attribute name="Source" type="xsd:string" use="optional"/>
        <xsd:attribute name="PortfolioDescription" type="xsd:string" use="optional"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="PortfolioBaseValueType" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkDescription" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="PortfolioOwnerWorkgroup" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkOwnerWorkgroup" type="xsd:string" use="optional"/>
        <xsd:attribute name="ScenarioNames" type="xsd:string" use="optional"/>
        <xsd:attribute name="ScenarioOwners" type="xsd:string" use="optional"/>
        <xsd:attribute name="ProfileName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ProfileOwner" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <!--attachment related-->

      <xsd:complexType name="Base64Binary">
        <xsd:simpleContent>
          <xsd:extension base="xsd:base64Binary"/>
        </xsd:simpleContent>
      </xsd:complexType>

      <xsd:complexType name="Base64Binary2ADB">
        <xsd:simpleContent>
          <xsd:extension base="xsd:base64Binary"/>
        </xsd:simpleContent>
      </xsd:complexType>

      <xsd:complexType name="AttachmentType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="FileName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ContentType" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="BinaryData" type="bdt:Base64Binary"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DummyExportRootPlaceHolder" type="bdt:ExportRoot"/>   <!-- Need these dummy elements otherwise .Net tool doesn't generate class type.  -->
          <xsd:element maxOccurs="1" minOccurs="0" name="DummyExportWrapperPlaceHolder" type="bdt:ExportWrapper"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DummyUserDataSetResultPlaceHolder" type="bdt:UserDataSet"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AttachmentType2ADB">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="FileName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ContentType" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="BinaryData" type="bdt:Base64Binary2ADB"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetExportJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="AttachmentExportJob" type="bdt:AttachmentType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetExportJobResponse2ADB">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="AttachmentExportJob2ADB" type="bdt:AttachmentType2ADB"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>







      <xsd:complexType name="Credential">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="ExportSetType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PORTFOLIO"/>
          <xsd:enumeration value="MPC"/>
          <xsd:enumeration value="STRESS"/>
          <xsd:enumeration value="VAR"/>
          <xsd:enumeration value="VAR_BACKTESTING"/>
          <xsd:enumeration value="PERFORMANCE"/>
          <xsd:enumeration value="MCVAR"/>
          <xsd:enumeration value="CAV"/>
          <xsd:enumeration value="RETURN_CALC"/>
          <xsd:enumeration value="USER_DATA_EXPORT"/>
          <xsd:enumeration value="PORTFOLIO_EXPOSURE"/>
          <xsd:enumeration value="ASSET_PRECOMPUTING"/>
          <xsd:enumeration value="ASSET_RECON"/>
          <xsd:enumeration value="MAC_USER_BATCH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="EnumBackTestingPeriod">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="QUARTER"/>
          <xsd:enumeration value="MONTH"/>
          <xsd:enumeration value="DAY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="StorageMode">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NONE"/>
          <xsd:enumeration value="REFRESH"/>
          <xsd:enumeration value="POPULATE"/>
          <xsd:enumeration value="DELETE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PAStorageType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="RESULTS"/>
          <xsd:enumeration value="LEGACY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="OutputFormat">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value=".xls workbook"/>
          <xsd:enumeration value=".xls"/>
          <xsd:enumeration value=".csv"/>
          <xsd:enumeration value=".xml"/>
          <xsd:enumeration value=".xlsx workbook"/>
          <xsd:enumeration value=".xlsx"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ScheduleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="once"/>
          <xsd:enumeration value="historical"/>
          <xsd:enumeration value="daily"/>
          <xsd:enumeration value="monthly"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SystemReports">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Portfolio VaR Overview Report"/>
          <xsd:enumeration value="Currency Breakdown Summary Report"/>
          <xsd:enumeration value="Currency Breakdown Detail Report"/>
          <xsd:enumeration value="Industry Breakdown Summary Report"/>
          <xsd:enumeration value="Industry Breakdown Detail Report"/>
          <xsd:enumeration value="Rating Breakdown Summary Report"/>
          <xsd:enumeration value="Rating Breakdown Detail Report"/>
          <xsd:enumeration value="Sector Breakdown Summary Report"/>
          <xsd:enumeration value="Sector Breakdown Detail Report"/>
          <xsd:enumeration value="Raw Simulation Data Report"/>
          <xsd:enumeration value="VaR Limits Report"/>
          <xsd:enumeration value="Rejected Assets Report"/>
          <xsd:enumeration value="Asset Correlations Report"/>
          <xsd:enumeration value="Summary Report"/>
          <xsd:enumeration value="MPC Relative Risk Report"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="ExportSetupArgs">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioAnalysis" type="bdt:PortfolioAnalysis"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MPC" type="bdt:MPC"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="StressSimulation" type="bdt:StressSimulation"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="VAR" type="bdt:VAR"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="VarBackTesting" type="bdt:VarBackTesting"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Performance" type="bdt:Performance"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MCVar" type="bdt:VAR"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ColAssetVal" type="bdt:ColAssetVal"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReturnCalculation" type="bdt:ReturnCalculation"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="UserDataExport" type="bdt:UserDataExport"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioExposure" type="bdt:PortfolioExposure"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetPrecomputing" type="bdt:AssetPrecomputing"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetReconciliation" type="bdt:AssetReconciliation"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MACUserBatch" type="bdt:MACUserBatch"/>
        </xsd:choice>
        <xsd:attribute name="ExportSetName" type="xsd:string" use="required"/>
        <xsd:attribute name="OutputFormat" type="bdt:OutputFormat" use="required"/>
        <xsd:attribute name="OutputToSingleFile" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="IncludePortfolioPath" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ExportSetOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ExportSetID" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="AssetReconciliation">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="InputPortfolios" type="bdt:InputPortfolios"/>
        </xsd:sequence>
        <xsd:attribute name="startDate" type="xsd:date" use="required"/>
        <xsd:attribute name="endDate" type="xsd:date" use="required"/>
        <xsd:attribute name="riskModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="riskModelOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="InputPortfolios">
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="NodeSelectionInfo">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NONE"/>
          <xsd:enumeration value="LEAF_NODES_ONLY"/>
          <xsd:enumeration value="ALL_NODES"/>
          <xsd:enumeration value="AGGREGATE_NODES_ONLY"/>
          <xsd:enumeration value="SPECIFIC_LEVELS"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:complexType name="ReturnCalculationPeriod">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="NumberOfPeriods" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PeriodsFrequency" type="bdt:EnumPeriodsFrequency"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="StartDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EndDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="IgnoreEndDate" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TrailingPeriod" type="bdt:EnumTrailingPeriod"/>
        </xsd:sequence>
        <xsd:attribute name="ReturnCalculationPeriodSelection" type="bdt:EnumReturnCalculationPeriod" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="EnumPeriodsFrequency">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DAY"/>
          <xsd:enumeration value="WEEK"/>
          <xsd:enumeration value="MONTH"/>
          <xsd:enumeration value="QUARTER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="EnumTrailingPeriod">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MONTH_TO_DATE"/>
          <xsd:enumeration value="QUARTER_TO_DATE"/>
          <xsd:enumeration value="YEAR_TO_DATE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="EnumReturnCalculationPeriod">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PERIOD_FREQUENCY"/>
          <xsd:enumeration value="DATE_RANGE"/>
          <xsd:enumeration value="TRAILING_PERIOD"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="EnumReturnCalculationMode">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="STORE_ONLY_NEW_DATA"/>
          <xsd:enumeration value="UPDATE_OLD_NEW"/>
          <xsd:enumeration value="REMOVE_HISTORY_ADD_NEW"/>
          <xsd:enumeration value="DELETE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="TermStructureOptions">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="CreditCurve" type="bdt:EnumCredit"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TaxableCurve" type="bdt:EnumTaxable"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SecProductsCurve" type="bdt:EnumSecProducts"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="EnumCredit">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GOVERMENT"/>
          <xsd:enumeration value="SWAP"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="EnumTaxable">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MUNI"/>
          <xsd:enumeration value="GOVERMENT"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="EnumSecProducts">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SWAP"/>
          <xsd:enumeration value="GOVERMENT"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:complexType name="ReturnCalculation">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReturnCalculationPeriod" type="bdt:ReturnCalculationPeriod"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Mode" type="bdt:EnumReturnCalculationMode"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TermStructureOptions" type="bdt:TermStructureOptions"/>
        </xsd:sequence>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ExcludeLinkProxyAssets" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseUserPriceInCalibrationFailure" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseUserFXRate" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UsePricingImpact" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseFiEnhancedModel" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ApplyPriceSourceMaxAge" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="UserDataExport">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="UserAssetSelection" type="bdt:UserAssetSelection"/>
        </xsd:sequence>
      </xsd:complexType>



      <xsd:attributeGroup name="BaseAssetSelectionGroup">
        <xsd:attribute name="AssetID" type="xsd:string"/>
        <xsd:attribute name="IDType" type="xsd:string"/>
      </xsd:attributeGroup>
      <xsd:complexType name="UserAssetSelection">
        <xsd:attributeGroup ref="bdt:BaseAssetSelectionGroup"/>
      </xsd:complexType>


      <xsd:complexType name="ColAssetVal">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
        </xsd:sequence>
        <xsd:attribute name="Collateralized" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="StructuredAsset" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioExposure">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReportSelection" type="bdt:ReportSelection"/>
        </xsd:sequence>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="CovarianceDate" type="xsd:date" use="optional"/>
        <xsd:attribute default="true" name="PortfolioExposureReport" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SpecificCovarianceReport" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="IncludeBANHInSpecificCovariance" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="FactorCovarianceReport" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="IncludeBANHInFactorCovariance" type="xsd:boolean" use="optional"/>
      </xsd:complexType>


      <xsd:complexType name="MACUserBatch">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AssetPrecomputing">
        <xsd:choice>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrecomputingDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PrecomputingDateRange" type="bdt:PrecomputingDateRange"/>
        </xsd:choice>
        <xsd:attribute name="Type" type="bdt:AssetPrecomputingType" use="required"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PrecomputingDateRange">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="StartDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="EndDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Frequency" type="bdt:AssetPrecomputingFrequency"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PortfolioAnalysis">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportSelection" type="bdt:ReportSelection"/>
        </xsd:sequence>
        <xsd:attribute name="RecognizedAssets" type="xsd:int" use="optional"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="CovarianceDate" type="xsd:date" use="optional"/>
        <xsd:attribute default="false" name="StoreAnalytics" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="true" name="EnableLookThrough" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="StoreCLE" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="StoreRDW" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioSelection">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioOwner" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BenchmarkName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BenchmarkOwner" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="IncludeAggregate" type="xsd:boolean"/>
          <xsd:element default="NONE" maxOccurs="1" minOccurs="0" name="AggregationType" type="bdt:NodeSelectionInfo"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="SpecificLevel" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="StorageEnabled" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Currency" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MPC">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="MPCCaseSelection" type="bdt:MPCCaseSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportSelection" type="bdt:ReportSelection"/>
        </xsd:sequence>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="CovarianceDate" type="xsd:date" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MPCCaseSelection">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Owner" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="StressSimulation">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ScenarioSelection" type="bdt:ScenarioSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportSelection" type="bdt:ReportSelection"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DefaultAssumptions" type="bdt:NameOwner"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RebalanceProfile" type="bdt:NameOwner"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="InflationAdjustment" type="bdt:NameOwner"/>
        </xsd:sequence>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="CovarianceDate" type="xsd:date" use="optional"/>
        <xsd:attribute default="SIMULATION" name="StressTestType" type="bdt:StressTestType" use="optional"/>
        <xsd:attribute default="false" name="StoreRDW" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ScenarioSelection">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Owner" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ModelName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ModelOwner" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CovarianceDate" type="xsd:date"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="VAR">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="VarProfileSelection" type="bdt:VarProfileSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportSelection" type="bdt:ReportSelection"/>
        </xsd:sequence>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute default="false" name="IncludeSimulatedFactorReturns" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="GenerateAssetLevelReports" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="AssetLevelReportFileSizeMB" type="xsd:int" use="optional"/>
        <xsd:attribute name="CovarianceDate" type="xsd:date" use="optional"/>
        <xsd:attribute default="true" name="PreserveTreeStructure" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="StoreRDW" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="VarProfileSelection">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Owner" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CreateOrUpdateProfile" type="bdt:McVarProfileCreation"/>
        </xsd:sequence>
        <xsd:attribute default="true" name="UseExistingProfile" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="McVarProfileCreation">
        <xsd:attribute name="ProfileName" type="xsd:string" use="required"/>
        <xsd:attribute name="ProfileOwner" type="xsd:string" use="required"/>
        <xsd:attribute default="MAC.L" name="ModelSetting" type="xsd:string" use="optional"/>
        <xsd:attribute default="1" name="HoldingPeriod" type="xsd:int" use="optional"/>
        <xsd:attribute default="0.99" name="ConfidenceLevel" type="xsd:double" use="optional"/>
        <xsd:attribute default="1000" name="NumberOfSimulations" type="xsd:int" use="optional"/>
        <xsd:attribute default="1" name="Seed" type="xsd:int" use="optional"/>
        <xsd:attribute default="1" name="Alpha" type="xsd:int" use="optional"/>
        <xsd:attribute default="false" name="PassageOfTime" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="true" name="SimulatedAssetSpecificRisk" type="xsd:boolean" use="optional"/>
        <!--
                Below attributes are applicable to profile creation with BIM model setting.
                Commenting these as only MAC model family is allowed via BDT
                <xsd:attribute name="ApplyNominalRateFloating" type="xsd:boolean" use="optional" default="false"/>
                <xsd:attribute name="UseScaling" type="xsd:boolean" use="optional" default="false"/>
                <xsd:attribute name="ExceptionFlagging" type="bdt:MCVarProfileCreationExceptionFlaggingEnum" use="optional" default="MULTIPLE_OF_DELTA_ADJUSTED_EXPOSURE"/>
                <xsd:attribute name="ExceptionFlaggingValue" type="xsd:double" use="optional" default="0.0"/>
                -->
        <xsd:attribute default="FULL_REVALUATION" name="Methodology" type="bdt:MCVarProfileCreationMethodologyEnum" use="optional"/>
        <xsd:attribute name="CovarianceDate" type="xsd:date" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="MCVarProfileCreationMethodologyEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FULL_REVALUATION"/>
          <xsd:enumeration value="LINEAR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <!--
            <xsd:simpleType name="MCVarProfileCreationExceptionFlaggingEnum">
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="MULTIPLE_OF_DELTA_ADJUSTED_EXPOSURE"/>
                    <xsd:enumeration value="MULTIPLE_OF_EFFECTIVE_MARKET_VALUE"/>
                </xsd:restriction>
            </xsd:simpleType>
            -->

      <xsd:complexType name="VarBackTesting">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="VarProfileSelection" type="bdt:VarProfileSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="BackTestingPeriod" type="bdt:BackTestingPeriod"/>
        </xsd:sequence>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="HoldingPeriodDay" type="xsd:int" use="required"/>
        <xsd:attribute name="ReturnSource" type="xsd:string" use="optional"/>
        <xsd:attribute name="ReturnSourceOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="GenerateAssetLevelReports" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="AssetLevelReportFileSizeMB" type="xsd:int" use="optional"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="UseStoredResults" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="BackTestingPeriod">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PeriodUnit" type="bdt:EnumBackTestingPeriod"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PeriodValue" type="xsd:int"/>  <!-- only applicable when unit is Day.-->
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="Performance">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PerformanceSelection" type="bdt:PerformanceSelection"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSelection" type="bdt:PortfolioSelection"/>
          <xsd:element default="NONE" maxOccurs="1" minOccurs="0" name="StorageMode" type="bdt:StorageMode"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PAStorageInvalidation" type="bdt:PAStorageInvalidation"/>
        </xsd:sequence>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="ReturnSource" type="xsd:string" use="optional"/>
        <xsd:attribute name="ReturnSourceOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute default="RESULTS" name="PAStorageType" type="bdt:PAStorageType" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PAStorageInvalidation">
        <xsd:attribute name="StartDate" type="xsd:date" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:date" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PerformanceSelection">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Owner" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReportSelection">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Owner" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="CreateExportSetRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Overwrite" type="xsd:boolean"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportType" type="bdt:ExportSetType"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetupArgs" type="bdt:ExportSetupArgs"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateExportSetResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Response" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreatePAVizAnalysisSettingRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element name="CreatePAVizAnalysisSettingRequestParam" type="bdt:CreatePAVizAnalysisSettingRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CreatePAVizAnalysisSettingRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributionModel" type="bdt:AttributionModelType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingArgs" type="bdt:AnalysisSettingArgsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="CreatePAVizAnalysisSettingResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="CreatePAVizAnalysisSettingResponseParam" type="bdt:CreatePAVizAnalysisSettingResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CreatePAVizAnalysisSettingResponseParamType">
        <xsd:attribute name="CreateAnalysisSettingResult" type="xsd:string"/>
      </xsd:complexType>

      <xsd:simpleType name="AttributionModelType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ALLOCATION_SELECTION"/>
          <xsd:enumeration value="FIXED_INCOME_TWO_POINT_O"/>
          <xsd:enumeration value="MAC_FACTOR"/>
          <xsd:enumeration value="ASSET_SELECTION"/>
          <xsd:enumeration value="FACTOR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="AnalysisSettingArgsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributionModelArgs" type="bdt:AttributionModelArgsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="GeneralSettings" type="bdt:GeneralSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SecurityReturns" type="bdt:SecurityReturnsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioReturns" type="bdt:PortfolioReturnsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AttributionModelArgsType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="AllocationSelection" type="bdt:AllocationSelectionType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FixedIncomeTwoPointO" type="bdt:FixedIncomeTwoPointOType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MacFactor" type="bdt:MacFactorType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetSelection" type="bdt:AssetSelectionType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Factor" type="bdt:FactorType"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="GeneralSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TimeDimensionalBenchmarkItem" type="bdt:TimeDimensionalBenchmarkItem"/>
        </xsd:sequence>
        <xsd:attribute name="AnalysisSettingName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="BenchmarkName" type="xsd:string" use="required"/>
        <xsd:attribute name="BenchmarkOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="RiskModelName" type="xsd:string" use="required"/>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioPriceSource" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkPriceSource" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="TimeDimensionalBenchmarkItem">
        <xsd:attribute name="BenchmarkName" type="xsd:string" use="required"/>
        <xsd:attribute name="BenchmarkOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="AllocationSelectionType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AllocationGroups" type="bdt:AllocationGroupsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributionSettings" type="bdt:AllocationAttributionSettingsType"/>
        </xsd:sequence>
        <xsd:attribute name="ActiveReturnType" type="bdt:ActiveReturnType" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="FixedIncomeTwoPointOType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="GroupingSchemeSetup" type="bdt:FixedIncomeGroupsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributionSettings" type="bdt:FixedIncomeAttributionSettingsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MacFactorType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="GroupingSchemeSetup" type="bdt:MacFactorGroupsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributionSettings" type="bdt:MacFactorAttributionSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ADRORGDRORCrossList" type="bdt:ADRORGDRORCrossListType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AssetSelectionType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributionSettings" type="bdt:AssetSelectionAttributionSettingsType"/>
        </xsd:sequence>
        <xsd:attribute name="ActiveReturnType" type="bdt:ActiveReturnType" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="FactorType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributionSettings" type="bdt:FactorAttributionSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ADRORGDRORCrossList" type="bdt:ADRORGDRORCrossListForFactorType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ADRORGDRORCrossListType">
        <xsd:attribute name="MACFactorCurrency" type="bdt:ADRORGDRORCrossListCurrencyType" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ADRORGDRORCrossListForFactorType">
        <xsd:attribute name="FactorCurrency" type="bdt:ADRORGDRORCrossListCurrencyType" use="required"/>
        <xsd:attribute name="AllocationGroup" type="bdt:ADRORGDRORCrossListAllocationGroupType" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="ADRORGDRORCrossListCurrencyType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PRICE_CURRENCY"/>
          <xsd:enumeration value="CURRENCY_OF_EXPOSURE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ADRORGDRORCrossListAllocationGroupType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COUNTRY_OF_QUOTATION"/>
          <xsd:enumeration value="COUNTRY_OF_EXPOSURE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ActiveReturnType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Arithmetic"/>
          <xsd:enumeration value="Geometric"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="AllocationGroupsType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupingSchemes" type="bdt:GroupingSchemesType"/>
        </xsd:sequence>
        <xsd:attribute name="Cascading" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="MultiAssetClass" type="xsd:string" use="optional"/>
        <xsd:attribute name="UserDataAttributeForCustomAssetClass" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FixedIncomeGroupsType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupingSchemes" type="bdt:FixedIncomeGroupingSchemesType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AggregateSelectionByIssuer" type="bdt:FixedIncomeGroupingSchemesType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SpreadSectorClassification" type="bdt:FixedIncomeGroupingSchemesType"/>
        </xsd:sequence>
        <xsd:attribute name="Cascading" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="TopDownReturnAttributionMode" type="bdt:TopDownReturnAttributionModeType" use="required"/>
        <xsd:attribute name="SpreadChangeReturn" type="bdt:SpreadChangeReturnType" use="optional"/>
        <xsd:attribute name="CreditSpreadChangeModel" type="xsd:string" use="optional"/>
        <xsd:attribute name="GovernmentSpreadChangeModel" type="xsd:string" use="optional"/>
        <xsd:attribute name="MBSSpreadChangeModel" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MacFactorGroupsType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupingSchemes" type="bdt:GroupingSchemesType"/>
        </xsd:sequence>
        <xsd:attribute name="FactorTree" type="xsd:string" use="optional"/>
        <xsd:attribute name="ComputeAllocationEffectForAssetGroup" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="Cascading" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="MultiAssetClass" type="xsd:string" use="optional"/>
        <xsd:attribute name="UserDataAttributeForCustomAssetClass" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="TopDownReturnAttributionModeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LOCAL_RETURN"/>
          <xsd:enumeration value="EXCESS_OF_TERM_STRUCTURE_RETURN"/>
          <xsd:enumeration value="SPREAD_RETURN"/>
          <xsd:enumeration value="SEPARATE_CREDIT_GOVERNMENT_MBS_SPREAD_RETURN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SpreadChangeReturnType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="OASD_FOR_SPREAD_CHANGE_RETURN"/>
          <xsd:enumeration value="DTS_FOR_SPREAD_CHANGE_RETURN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="GroupingSchemesType">
        <xsd:attribute name="AssetClass" type="xsd:string" use="optional"/>
        <xsd:attribute name="Attribute" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupingScheme" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="FixedIncomeGroupingSchemesType">
        <xsd:attribute name="Attribute" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupingScheme" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:complexType name="AllocationAttributionSettingsType">
        <xsd:attribute name="OnlyUseTopLevelCompositeORETFInformation" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughCompositesORETFs" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughFuture" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SeparateFutureCashOffset" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CombineInteractionWithSelection" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseAssetIDPriority" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseCurrencyHedging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ReportCoreAndHedgeWeightsSeparately" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DecomposeSyntheticFX" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CombineBenchmarkAssetsNotHeld" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CumulativeAttributionResultsForReportingPeriodsOfAnyLength" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseSpecifiedBaseValue" type="bdt:UseSpecifiedBaseValueType" use="optional"/>
        <xsd:attribute name="ReturnFrequencyForExPostRiskAndRiskAdjustedReturnMeasures" type="bdt:ReturnFrequencyForRiskReturnsType" use="required"/>
        <xsd:attribute default="false" name="DoNotCollapseCompositeConstituents" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="StrategyTagging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SelectiveLookThrough" type="xsd:string" use="optional"/>
        <xsd:attribute name="CarveOutLevelAttributeName" type="xsd:string" use="optional"/>
        <xsd:attribute name="CarveOutLevelSchemeName" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="InheritCTDForBondFuture" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FixedIncomeAttributionSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="BaseAndExcessOfBaseTermStructureReturn" type="bdt:BaseAndExcessOfBaseTermStructureReturnType"/>
        </xsd:sequence>
        <xsd:attribute name="LookThroughCompositesORETFs" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughFuture" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SeparateFutureCashOffset" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseAssetIDPriority" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="DecomposeInflationReturn" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DecomposeInflationValuationEngine" type="bdt:DecomposeInflationReturnsOptions" use="optional"/>
        <xsd:attribute name="UseCurrencyHedging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="NoSpreadOnCoreAssets" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ReportCoreAndHedgeWeightsSeparately" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DecomposeSyntheticFX" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CombineBenchmarkAssetsNotHeld" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CumulativeAttributionResultsForReportingPeriodsOfAnyLength" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseSpecifiedBaseValue" type="bdt:UseSpecifiedBaseValueType" use="optional"/>
        <xsd:attribute name="ReturnFrequencyForExPostRiskAndRiskAdjustedReturnMeasures" type="bdt:ReturnFrequencyForRiskReturnsType" use="required"/>
        <xsd:attribute name="TermStructureOptionsForCredit" type="bdt:TermStructureOptionsForCreditType" use="optional"/>
        <xsd:attribute name="TermStructureOptionsForTaxable" type="bdt:TermStructureOptionsForTaxableType" use="optional"/>
        <xsd:attribute name="TermStructureOptionsForSecProducts" type="bdt:TermStructureOptionsForSecProductsType" use="optional"/>
        <xsd:attribute name="IncludeSwapCurveAssetsInSameCurrencyAsBaseCurveAssets" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SeparateDistressedAndEquityAssetReturnsFromFIDecomposition" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DistressedAssetTagAttributeName" type="xsd:string" use="optional"/>
        <xsd:attribute name="DistressedAssetTagDisplayName" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="DoNotCollapseCompositeConstituents" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="StrategyTagging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SelectiveLookThrough" type="xsd:string" use="optional"/>
        <xsd:attribute name="CarveOutLevelAttributeName" type="xsd:string" use="optional"/>
        <xsd:attribute name="CarveOutLevelSchemeName" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="InheritCTDForBondFuture" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="KeyRateForParallelYieldShift" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MacFactorAttributionSettingsType">
        <xsd:attribute name="OnlyUseTopLevelCompositeORETFInformation" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughCompositesORETFs" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughFuture" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SeparateFutureCashOffset" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseAssetIDPriority" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="DecomposeInflationReturn" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseCurrencyHedging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CombineBenchmarkAssetsNotHeld" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CumulativeAttributionResultsForReportingPeriodsOfAnyLength" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseSpecifiedBaseValue" type="bdt:UseSpecifiedBaseValueType" use="optional"/>
        <xsd:attribute name="ReturnFrequencyForExPostRiskAndRiskAdjustedReturnMeasures" type="bdt:ReturnFrequencyForRiskReturnsType" use="required"/>
        <xsd:attribute name="AlignProcessingWithFixedIncomeAndTierFactorReturn" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="EnableDailyResultsStorage" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="DoNotCollapseCompositeConstituents" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="StrategyTagging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SelectiveLookThrough" type="xsd:string" use="optional"/>
        <xsd:attribute name="CarveOutLevelAttributeName" type="xsd:string" use="optional"/>
        <xsd:attribute name="CarveOutLevelSchemeName" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="InheritCTDForBondFuture" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="AssetSelectionAttributionSettingsType">
        <xsd:attribute name="OnlyUseTopLevelCompositeORETFInformation" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughCompositesORETFs" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughFuture" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SeparateFutureCashOffset" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseAssetIDPriority" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseCurrencyHedging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ReportCoreAndHedgeWeightsSeparately" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DecomposeSyntheticFX" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CombineBenchmarkAssetsNotHeld" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CumulativeAttributionResultsForReportingPeriodsOfAnyLength" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseSpecifiedBaseValue" type="bdt:UseSpecifiedBaseValueType" use="optional"/>
        <xsd:attribute name="ReturnFrequencyForExPostRiskAndRiskAdjustedReturnMeasures" type="bdt:ReturnFrequencyForRiskReturnsType" use="required"/>
        <xsd:attribute name="SelectiveLookThrough" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="InheritCTDForBondFuture" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FactorAttributionSettingsType">
        <xsd:attribute name="ComputeAllocationEffectForAssetGroup" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughCompositesORETFs" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="LookThroughFuture" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SeparateFutureCashOffset" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ComputeMarketTiming" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseAssetIDPriority" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseCurrencyHedging" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CombineBenchmarkAssetsNotHeld" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CumulativeAttributionResultsForReportingPeriodsOfAnyLength" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseSpecifiedBaseValue" type="bdt:UseSpecifiedBaseValueType" use="optional"/>
        <xsd:attribute name="ReturnFrequencyForExPostRiskAndRiskAdjustedReturnMeasures" type="bdt:ReturnFrequencyForRiskReturnsType" use="required"/>
        <xsd:attribute default="false" name="InheritCTDForBondFuture" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="TermStructureOptionsForCreditType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GOVERNMENT_CURVE"/>
          <xsd:enumeration value="SWAP_CURVE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TermStructureOptionsForTaxableType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GOVERNMENT_CURVE"/>
          <xsd:enumeration value="MUNI_CURVE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="TermStructureOptionsForSecProductsType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SWAP_CURVE"/>
          <xsd:enumeration value="GOVERNMENT_CURVE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="BaseAndExcessOfBaseTermStructureReturnType">
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
        <xsd:attribute name="CurveType" type="bdt:CurveTypeOptions" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="CurveTypeOptions">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Treasury"/>
          <xsd:enumeration value="Real"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="DecomposeInflationReturnsOptions">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CE"/>
          <xsd:enumeration value="RS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="UseSpecifiedBaseValueType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Net"/>
          <xsd:enumeration value="Gross"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ReturnFrequencyForRiskReturnsType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Daily"/>
          <xsd:enumeration value="Weekly"/>
          <xsd:enumeration value="Monthly"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="SecurityReturnsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReturnsCalculator" type="bdt:ReturnsCalculatorType"/>
        </xsd:sequence>
        <xsd:attribute name="AssetReturnSource" type="xsd:string" use="required"/>
        <xsd:attribute name="CompositeOrFutureBaseReturn" type="bdt:CompositeOrFutureBaseReturnType" use="required"/>
        <xsd:attribute name="UseUserFXRate" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="UseReturnFromTheUnderlyingAssetForLinkProxy" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CapturePricingImpact" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="DecomposeLookThroughImpact" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ReturnsCalculatorType">
        <xsd:attribute default="false" name="ExcludeLinkProxyAssets" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="UseUserPriceInCaseOfCalibrationFailure" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="ApplyMaximumAgeOfPriceSource" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="CompositeOrFutureBaseReturnType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Top-level only"/>
          <xsd:enumeration value="Bottom-up only"/>
          <xsd:enumeration value="Mix top-level and bottom-up"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="PortfolioReturnsType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioReturnBottomUp" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioReturnUsingTransactions" type="bdt:PortfolioReturnUsingTransactionsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioReturnUsingUserSuppliedReturns" type="bdt:PortfolioReturnUsingUserSuppliedReturnsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioReturnUsingAssetLevelTransactions" type="bdt:PortfolioReturnUsingAssetLevelTransactionsType"/>
        </xsd:choice>
        <xsd:attribute name="UseOfficialIndexReturn" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioReturnUsingTransactionsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ExcludeToDetermineNetReturn" type="bdt:ExcludeToDetermineNetReturnType"/>
        </xsd:sequence>
        <xsd:attribute name="UseNetReturnInAnalysis" type="xsd:boolean"/>
        <xsd:attribute name="UseTransactionsSpecifiedInCurrency" type="bdt:UseTransactionsSpecifiedInCurrencyType" use="required"/>
        <xsd:attribute name="AssumeTransactionCashFlowsOccur" type="bdt:AssumeTransactionCashFlowsOccurType" use="required"/>
        <xsd:attribute name="PortfolioAttribute" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkBaseReturn" type="bdt:BaseReturnType" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ExcludeToDetermineNetReturnType">
        <xsd:attribute name="ManagementFees" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="Expenses" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CommissionPayments" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="TaxPayments" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="UseTransactionsSpecifiedInCurrencyType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Base currency"/>
          <xsd:enumeration value="Local currency"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AssumeTransactionCashFlowsOccurType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Start-of-day"/>
          <xsd:enumeration value="Mid-day"/>
          <xsd:enumeration value="End-of-day"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="BaseReturnType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Top-level only"/>
          <xsd:enumeration value="Mix top-level and bottom-up"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="PortfolioReturnUsingUserSuppliedReturnsType">
        <xsd:attribute name="PortfolioAttribute" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioBaseReturn" type="bdt:BaseReturnType" use="required"/>
        <xsd:attribute name="BenchmarkBaseReturn" type="bdt:BaseReturnType" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioReturnUsingAssetLevelTransactionsType">
        <xsd:choice maxOccurs="1" minOccurs="0">
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioReturnBottomUp" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioReturnUsingTransactions" type="bdt:PortfolioReturnUsingTransactionsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioReturnUsingUserSuppliedReturns" type="bdt:PortfolioReturnUsingUserSuppliedReturnsType"/>
        </xsd:choice>
        <xsd:attribute name="PortfolioAttribute" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkBaseReturn" type="bdt:BaseReturnType" use="required"/>
        <xsd:attribute name="UseBaseTransactionAmounts" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="TransactionReturnsOnNewOpeningTradesAreFullyAttributedToTradingImpact" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="SeamDate" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:element name="SetPortfolioPermissionRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element minOccurs="1" name="SetPortfolioPermissionRequestParam" type="bdt:SetPortfolioPermissionRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="SetPortfolioPermissionRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioPermission" type="bdt:PortfolioPermissionType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PortfolioPermissionType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ClientId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="VendorId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ProductId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="StartDate" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EndDate" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Access" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Hide" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TopLevelOnly" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AccessLimit" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="SetPortfolioPermissionResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="IsPermissionSet" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:simpleType name="UsageType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="analysis"/>
          <xsd:enumeration value="analysisExport"/>
          <xsd:enumeration value="dataAdmin"/>
          <xsd:enumeration value="portfolioAdmin"/>
          <xsd:enumeration value="profile"/>
          <xsd:enumeration value="optimizer"/>
          <xsd:enumeration value="import"/>
          <xsd:enumeration value="mcvar"/>
          <xsd:enumeration value="visualization"/>
          <xsd:enumeration value="ultrashort"/>
          <xsd:enumeration value="mpc"/>
          <xsd:enumeration value="mpcExport"/>
          <xsd:enumeration value="hVar"/>
          <xsd:enumeration value="hvarExport"/>
          <xsd:enumeration value="backtestExport"/>
          <xsd:enumeration value="stressTest"/>
          <xsd:enumeration value="stressTestExport"/>
          <xsd:enumeration value="mimStressTestExport"/>
          <xsd:enumeration value="paExport"/>
          <xsd:enumeration value="assetReconcExport"/>
          <xsd:enumeration value="assetValuationExport"/>
          <xsd:enumeration value="rcExport"/>
          <xsd:enumeration value="peExport"/>
          <xsd:enumeration value="riskDelta"/>
          <xsd:enumeration value="rvExport"/>
          <xsd:enumeration value="dateRangeStressTest"/>
          <xsd:enumeration value="currency"/>
        </xsd:restriction>
      </xsd:simpleType>




      <xsd:complexType name="ModelInfoType">
        <xsd:attribute name="Id" type="xsd:int" use="required"/>
        <xsd:attribute name="BaseModelName" type="xsd:string" use="required"/>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
        <xsd:attribute name="Category" type="xsd:string" use="required"/>
        <xsd:attribute name="CovarianceDateAllowed" type="xsd:string" use="required"/>
      </xsd:complexType>



      <xsd:complexType name="PAGenericSortingType">
        <xsd:sequence>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="Picked" type="xsd:boolean"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="SortById1" type="xsd:string"/>
          <xsd:element default="true" maxOccurs="1" minOccurs="0" name="IsAsc1" type="xsd:boolean"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="SortById2" type="xsd:string"/>
          <xsd:element default="true" maxOccurs="1" minOccurs="0" name="IsAsc2" type="xsd:boolean"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PAGenericSortingTypeWithScheme">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="basicSorting" type="bdt:PAGenericSortingType"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="SchemeId1" type="xsd:string"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="SchemeId2" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PACaseBasicInfoType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="PACaseName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PACaseId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PACaseOwner" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PACaseDateInfoType">
        <xsd:sequence>
          <xsd:element default="999" maxOccurs="1" minOccurs="0" name="Duration" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="StartDate" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="EndDate" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PABucketSortingType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="basicSorting" type="bdt:PAGenericSortingTypeWithScheme"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="BSortByIdArray" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="PACaseAttributesType">
        <xsd:sequence>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="Ids" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="BenchmarkReturnMode" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioReturnMode" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="CompositeFutureReturnMode" type="xsd:int"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="Arithmetic" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="DisplayALWithBucket" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="BNH" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="CarveOutEnabled" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="CombineInteractionWithSelection" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="ATSR" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="BTSR" type="xsd:boolean"/>
          <xsd:element default="1" maxOccurs="1" minOccurs="0" name="ReturnFrequency" type="xsd:int"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="IgnoreEndDate" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="GenerateReturnCoverageReport" type="xsd:string"/>
          <xsd:element default="-1" maxOccurs="1" minOccurs="0" name="TrailingPeriod" type="xsd:int"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="FAPicked" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="UseIndexReturn" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="LookThroughComposite" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="LookThroughEIF" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="NoLookThrough" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="UseOfficialReturnOrAssetValue" type="xsd:boolean"/>
          <xsd:element default="-9999" maxOccurs="1" minOccurs="0" name="PriceOrReturnAttributeId" type="xsd:int"/>
          <xsd:element default="1" maxOccurs="1" minOccurs="0" name="PeriodFrequency" type="xsd:int"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="ComputeAllocationEffect" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="ComputeMarketTiming" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="PriceCurrency" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="CountryOfTrade" type="xsd:boolean"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="ReportIds" type="xsd:string"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="TSBNH" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="TSALD" type="xsd:boolean"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="IncludeDailyPerformanceReport" type="xsd:boolean"/>
          <xsd:element default="" maxOccurs="1" minOccurs="0" name="ReportIdsAs" type="xsd:string"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="ReportCumulativeResults" type="xsd:boolean"/>
          <xsd:element default="off" maxOccurs="1" minOccurs="0" name="UseRetUnderlyingLinkP" type="xsd:string"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="NestedAttributionCascading" type="xsd:boolean"/>
          <xsd:element default="off" maxOccurs="1" minOccurs="0" name="UseUserFXRate" type="xsd:string"/>
          <xsd:element default="off" maxOccurs="1" minOccurs="0" name="UseSpecifiedBaseValue" type="xsd:string"/>
          <xsd:element default="off" maxOccurs="1" minOccurs="0" name="UseCurrencyHedging" type="xsd:string"/>
          <xsd:element default="off" maxOccurs="1" minOccurs="0" name="UseAssetIdPriority" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>





      <xsd:complexType name="AttributesArgsArrayType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Args" type="bdt:AttributesArgsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AttributesArgsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Value" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GroupBy">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="GroupByItem" type="bdt:GroupByItem"/>
        </xsd:sequence>
        <xsd:attribute name="GroupingMode" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="GroupByItem">
        <xsd:attribute name="BucketScheme" type="xsd:string" use="optional"/>
        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
        <xsd:attribute name="TotalOnly" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="Zooming">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" name="ZoomItem" type="bdt:ZoomItem"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ZoomItem">
        <xsd:attribute name="BucketScheme" type="xsd:string" use="optional"/>
        <xsd:attribute name="Column" type="xsd:string" use="optional"/>
        <xsd:attribute name="Bucket" type="xsd:string" use="optional"/>
      </xsd:complexType>





      <xsd:simpleType name="SharingType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PUBLIC"/>
          <xsd:enumeration value="WORKGROUP_ONLY"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:element name="PAListAnalysisSettingsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="PAListAnalysisSettingsRequestParam" type="bdt:PAListAnalysisSettingsRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PAListAnalysisSettingsRequestParamType">
        <xsd:attribute name="PortfolioGroupName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="PAListAnalysisSettingsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="PAListAnalysisSettingsResponseParam" type="bdt:PAListAnalysisSettingsResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PAListAnalysisSettingsResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AnalysisSetting" type="bdt:AnalysisSettingType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AnalysisSettingType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioPath" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="BenchmarkName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="BenchmarkPath" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="PASharedIndexRCDataAvailabilityRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="PASharedIndexRCDataAvailabilityRequestParam" type="bdt:PASharedIndexRCDataAvailabilityRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityRequestParamType">
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
        <xsd:attribute name="AnalysisSettingName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="PASharedIndexRCDataAvailabilityResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="PASharedIndexRCDataAvailabilityResponseParam" type="bdt:PASharedIndexRCDataAvailabilityResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PASharedIndexRCResponseElement" type="bdt:PASharedIndexRCResponseElementType"/>
        </xsd:sequence>
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCResponseElementType">
        <xsd:attribute name="IndexName" type="xsd:string" use="required"/>
        <xsd:attribute name="RCResultDataAvailable" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="PASharedIndexRCDataAvailabilityForPortfolioGroupRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RequestParameters" type="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForPortfolioGroupRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioGroup" type="bdt:PAPortfolioGroupNameElementType"/>
        </xsd:sequence>
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
        <xsd:attribute default="true" name="CheckOnlyBenchmark" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PAPortfolioGroupNameElementType">
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="PASharedIndexRCDataAvailabilityForPortfolioGroupResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ResponseParameters" type="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForPortfolioGroupResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PASharedIndexRCForPortfolioGroupResponse" type="bdt:PASharedIndexRCForPortfolioGroupResponseElementType"/>
        </xsd:sequence>
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
        <xsd:attribute name="CheckOnlyBenchmark" type="xsd:boolean" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCForPortfolioGroupResponseElementType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioGroup" type="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupResponsePGParamType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForPortfolioGroupResponsePGParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AnalysisSetting" type="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupResponseASParamType"/>
        </xsd:sequence>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForPortfolioGroupResponseASParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="IndexDetails" type="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupResponseIndexDetailsParamType"/>
        </xsd:sequence>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForPortfolioGroupResponseIndexDetailsParamType">
        <xsd:attribute name="IndexName" type="xsd:string" use="required"/>
        <xsd:attribute name="RCDataStatus" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="PASharedIndexRCDataAvailabilityForAnalysisSettingRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RequestParameters" type="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForAnalysisSettingRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AnalysisSetting" type="bdt:PAAnalysisSettingNameElementType"/>
        </xsd:sequence>
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
        <xsd:attribute default="true" name="CheckOnlyBenchmark" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PAAnalysisSettingNameElementType">
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="PASharedIndexRCDataAvailabilityForAnalysisSettingResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ResponseParameters" type="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForAnalysisSettingResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PASharedIndexRCForAnalysisSettingResponse" type="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingResponseElementType"/>
        </xsd:sequence>
        <xsd:attribute name="RiskModel" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
        <xsd:attribute name="CheckOnlyBenchmark" type="xsd:boolean" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForAnalysisSettingResponseElementType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AnalysisSetting" type="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingResponseASParamType"/>
        </xsd:sequence>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForAnalysisSettingResponseASParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="IndexDetails" type="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingResponseIndexDetailsParamType"/>
        </xsd:sequence>
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PASharedIndexRCDataAvailabilityForAnalysisSettingResponseIndexDetailsParamType">
        <xsd:attribute name="IndexName" type="xsd:string" use="required"/>
        <xsd:attribute name="RCDataStatus" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="DeleteExportSetRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetName" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteExportSetResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Response" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="RetrieveExportSetRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetOwner" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="RetrieveExportSetResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportSetupArgs" type="bdt:ExportSetupArgs"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="RetrieveOptimizationProfileRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="OptimizationProfileName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="OptimizationProfileOwner" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitRebalanceJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RebalanceJobArgs" type="bdt:RebalanceJobArgs"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="RebalanceProfileSettingsArgs" type="bdt:RebalanceProfileSettingsArgs"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ImportRebalanceProfileSettingsBase64Encoded" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ImportCsvRebalanceProfileSettingsBase64Encoded" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateOptimizationProfileRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="base64EncodedXMLInput" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="base64EncodedCSVInput" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateOptimizationProfileResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="wasSuccessful" type="xsd:boolean"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="RebalanceJobArgs">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="IterationName" type="bdt:String64Length"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="RebalanceProfileName" type="bdt:RebalanceProfileName"/>
        </xsd:sequence>
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
        <xsd:attribute default="false" name="SaveDebugInfo" type="xsd:boolean" use="optional"/>
      </xsd:complexType>



      <xsd:complexType name="RebalanceProfileName">
        <xsd:attribute name="ProfileName" type="xsd:string" use="required"/>
        <xsd:attribute name="ProfileOwner" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:element name="SubmitRebalanceJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Response" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:complexType name="RebalanceProfileSettingsArgs">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="OptimizationSetting" type="bdt:OptimizationSetting"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="OptimizationSetting">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="OptimizationMethod" type="bdt:OptimizationMethod"/>
        </xsd:sequence>
      </xsd:complexType>



      <!-- <xsd:complexType  name="OptimizationMethod">    Here we have to go for the use of choice element else this wont be able to use for setting\overriding the profile
			<xsd:choice minOccurs="0" maxOccurs="1">
					<xsd:element name="SingleOptimizationProfile" type="bdt:SingleOptimizationProfile" minOccurs="1" maxOccurs="1"/>
					<xsd:element name="SensitivityOptimizationProfile" type="xsd:string" minOccurs="1" maxOccurs="1"/>
					<xsd:element name="FrontierOptimizationProfile" type="xsd:string" minOccurs="1" maxOccurs="1"/>
					<xsd:element name="MultiPeriodOptimizationProfile" type="xsd:string" minOccurs="1" maxOccurs="1"/>
            </xsd:choice>
			</xsd:complexType> -->

      <xsd:complexType name="OptimizationMethod">    <!--Here we have to go for the use of choice element else this wont be able to use for setting\overriding the profile -->
        <xsd:sequence>

          <xsd:element maxOccurs="1" minOccurs="0" name="SingleOptimizationProfile" type="bdt:SingleOptimizationProfile"/>
        </xsd:sequence>
      </xsd:complexType>

      <!-- <xsd:complexType name="SingleOptimizationProfile">     Here we have to go for the use of choice element else this wont be able to use for setting\overriding the profile
                <xsd:choice minOccurs="0" maxOccurs="1">
                        <xsd:element name="MaxUtility" type="bdt:MaxUtility" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="RiskTarget" type="xsd:string" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="ReturnTarget" type="xsd:string" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="MaxInformationRatio" type="xsd:string" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="MAxSharpeRatio" type="xsd:string" minOccurs="1" maxOccurs="1"/>
                </xsd:choice>
			</xsd:complexType> -->

      <xsd:complexType name="SingleOptimizationProfile">
        <xsd:sequence>

          <xsd:element maxOccurs="1" minOccurs="0" name="MaxUtility" type="bdt:MaxUtility"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MaxUtility">
        <xsd:sequence>


          <xsd:element maxOccurs="1" minOccurs="0" name="MaxUtilityConstraints" type="bdt:MaxUtilityConstraints"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxUtilityGeneralSettings" type="bdt:MaxUtilityGeneralSettings"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MaxUtilityGeneralSettings">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReferenceSetting" type="bdt:ReferenceSetting"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="ReferenceSetting">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReferenceProperties" type="bdt:ReferenceProperties"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReferenceProperties">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="PrimaryBenchmark" type="bdt:ReferencePropertyType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SecondaryBenchmark" type="bdt:ReferencePropertyType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Market" type="bdt:ReferencePropertyType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Universe" type="bdt:ReferencePropertyType"/>
        </xsd:sequence>
        <xsd:attribute name="Currency" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:complexType name="ReferencePropertyType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="Cash" type="xsd:string"/>
          <xsd:element name="PortfolioType" type="bdt:PortfolioDataType"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>



      <xsd:complexType name="PortfolioDataType">
        <xsd:attribute name="PortfolioName" type="xsd:string" use="optional"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="PorfotlioName" type="xsd:string" use="optional"/>
        <xsd:attribute name="PorfotlioOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MaxUtilityConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="CashSettings" type="bdt:CashSettings"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TurnoverConstraints" type="bdt:TurnoverConstraints"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="NonCashAssets" type="bdt:NonCashAssets"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetLevelBounds" type="bdt:AssetLevelBounds"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetParing" type="bdt:AssetParing"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RestrictedList" type="bdt:RestrictedList"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TradeParingBySide" type="bdt:TradeParingBySide"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TradeLimitsBySide" type="bdt:TradeLimitsBySide"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RestrictedList">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="FirmWideRestrictedList" type="bdt:RestrictedListType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AccountSpecificRestrictedList" type="bdt:RestrictedListType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RestrictionType" type="bdt:RestrictionType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RestrictedListType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="Value" type="bdt:ReferencePortfolioType"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>
      <xsd:simpleType name="RestrictionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NO_TRADE"/>
          <xsd:enumeration value="DO_NOT_HOLD"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="TradeLimitsBySide">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="LongMaxTrade" type="bdt:TradeLimitType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LongBuyLessThan" type="bdt:TradeLimitType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LongSellLessThan" type="bdt:TradeLimitType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ShortMaxTrade" type="bdt:TradeLimitType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ShortBuyLessThan" type="bdt:TradeLimitType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ShortSellLessThan" type="bdt:TradeLimitType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="TradeLimitType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Value" type="bdt:TradeLimitValueType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="TradeLimitValueType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="Value" type="xsd:double"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="TradeParingBySide">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="MinOfTradesLong" type="bdt:TradeParingType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxOfTradesLong" type="bdt:TradeParingType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MinOfTradesShort" type="bdt:TradeParingType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxOfTradesShort" type="bdt:TradeParingType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TradeParingType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Value" type="bdt:TradeParingValueType"/>    <!-- For now I have kept the value to double but later I will make it to MUDatatype -->
          <xsd:element maxOccurs="1" minOccurs="0" name="SetPriority" type="bdt:PriorityType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TradeParingValueType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="Value" type="xsd:int"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="AssetParing">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="MinOfAssets" type="bdt:TradeConstraintType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxOfAssets" type="bdt:TradeConstraintType"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="TradeConstraintType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Value" type="bdt:ValueType"/>    <!-- For now I have kept the value to double but later I will make it to MUDatatype -->
          <xsd:element maxOccurs="1" minOccurs="0" name="SetPriority" type="bdt:PriorityType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AssetLevelBounds">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="LowerBound" type="bdt:AssetLvlBoundType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="UpperBound" type="bdt:AssetLvlBoundType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AssetLvlBoundType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="AssetAttribute" type="bdt:TypeAssetAttribute"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="TypeAssetAttribute">
        <xsd:attribute name="AssetAttributeName" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetAttributeOwner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="NonCashAssets">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="LowerBound" type="bdt:BoundType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="UpperBound" type="bdt:BoundType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TurnoverConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxTurnover" type="bdt:TurnoverConstraintType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxBuyTurnover" type="bdt:TurnoverConstraintType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxSellTurnover" type="bdt:TurnoverConstraintType"/>
        </xsd:sequence>
        <xsd:attribute default="false" name="UseBaseValue" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="TurnoverConstraintType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Value" type="bdt:ValueType"/>    <!-- For now I have kept the value to double but later I will make it to MUDatatype -->
          <xsd:element maxOccurs="1" minOccurs="0" name="SetPriority" type="bdt:PriorityType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ValueType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="Double" type="xsd:double"/>
          <xsd:element name="PortfolioAttribute" type="bdt:TypePortfolioAttribute"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>


      <xsd:simpleType name="PriorityType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MANDATORY"/>
          <xsd:enumeration value="SOFT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="TypePortfolioAttribute">
        <xsd:attribute name="PortfolioAttributeName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioAttributeOwner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="CashSettings">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="CashInOut" type="bdt:CashInOutType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LowerBound" type="bdt:BoundType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="UpperBound" type="bdt:BoundType"/>
        </xsd:sequence>
        <xsd:attribute default="false" name="InvestAllCash" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="BoundType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="Double" type="xsd:double"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="CashInOutType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element name="Double" type="xsd:double"/>
          <xsd:element name="ClearData" type="xsd:boolean"/>
        </xsd:choice>
      </xsd:complexType>


      <xsd:element name="RetrieveOptimizationProfileResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" ref="bdt:OptimizationSetupArgs"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="OptimizationSetupArgs">
        <xsd:complexType>
          <xsd:sequence>
            <!-- Essentially a choice of one of the four types below.  However, avoiding use of the choice directive due
                 to how .net will force the client to cast the result object to the appropriate type.  Better to simply have the
                 returned chosen element be non-null and the unchosen elements be null (which is how java handles choice bindings).
                 Cleaner and easier to handle that way.-->
            <xsd:element maxOccurs="1" minOccurs="0" name="StandardOptimizationProfile" type="bdt:StandardOptimizationProfile"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="RiskTargetOptimizationProfile" type="bdt:RiskTargetOptimizationProfile"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="LongShortOptimizationProfile" type="bdt:LongShortOptimizationProfile"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="EfficientFrontierOptimizationProfile" type="bdt:EfficientFrontierOptimizationProfile"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteExportJobScheduleRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportJobScheduleID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteExportJobScheduleResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="response" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <!-- Optimization -->

      <xsd:element name="ListOptimizationJobsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListOptimizationJobsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="OptimizationJobRecords" type="bdt:OptimizationJobRecords"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListRebalanceJobsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RebalanceSettings" type="bdt:RebalanceSettings"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="ListRebalanceJobsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="RebalanceJobRecords" type="bdt:RebalanceJobRecords"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="RebalanceJobRecords">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RebalanceJobRecord" nillable="true" type="bdt:RebalanceJobRecord"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RebalanceJobRecord">
        <xsd:attribute name="JobID" type="xsd:string" use="required"/>
        <xsd:attribute name="StartTime" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="IterationName" type="xsd:string" use="required"/>
        <xsd:attribute name="IterationNumber" type="xsd:int" use="required"/>
        <xsd:attribute name="OptimizationJobStatus" type="bdt:OptimizationJobStatus" use="required"/>
      </xsd:complexType>

      <xsd:element name="GetOptimizationJobStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceJobStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetOptimizationJobStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:element name="GetRebalanceJobStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteOptimizationJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteOptimizationJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteRebalanceJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteRebalanceJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetEfficientFrontierSummaryRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="IncludeInitialPortfolio" type="xsd:boolean"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetEfficientFrontierSummaryResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="EfficientFrontierSummary" type="bdt:EfficientFrontierSummary"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SaveOptimizationPortfolioRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="UnpackComposites" type="xsd:boolean"/>
            <xsd:element default="false" maxOccurs="1" minOccurs="0" name="UnpackEIFs" type="xsd:boolean"/>
            <xsd:element default="HOLDINGS" maxOccurs="1" minOccurs="0" name="StorageType" type="bdt:StorageType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SaveOptimizationPortfolioResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitOptimizationJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobName" type="bdt:String64Length"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="OptimizationSettings" type="bdt:OptimizationSettings"/>
            <xsd:choice maxOccurs="1" minOccurs="0">
              <xsd:element maxOccurs="1" minOccurs="1" name="StandardOptimizationProfile" type="bdt:StandardOptimizationProfile"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="RiskTargetOptimizationProfile" type="bdt:RiskTargetOptimizationProfile"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="LongShortOptimizationProfile" type="bdt:LongShortOptimizationProfile"/>
              <xsd:element maxOccurs="1" minOccurs="1" name="EfficientFrontierOptimizationProfile" type="bdt:EfficientFrontierOptimizationProfile"/>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>



      <xsd:element name="GetOptimizationInputFilesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetOptimizationInputFilesParams" type="bdt:GetOptimizationInputFilesParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetOptimizationInputFilesParams">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
        </xsd:sequence>
        <xsd:attribute default="0" name="OptimizationFileIndex" type="xsd:int" use="optional"/>
      </xsd:complexType>



      <xsd:element name="GetOptimizationInputFilesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="GetOptimizationInputFilesOutput" type="bdt:GetOptimizationInputFilesOutput"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetOptimizationInputFilesOutput">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="OptimizationInputFiles" type="bdt:AttachmentType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetRebalanceInputFilesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="OptimalPortfolioIndex" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceInputFilesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="RebalanceInputFiles" type="bdt:AttachmentType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceSummaryReportRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceStatisticsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceOptimalWeightsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>



      <xsd:element name="GetRebalanceStatusAndOptimalWeightsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceTradeListRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:element name="SubmitOptimizationJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceSummaryReportResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="OptSummaryReport" type="bdt:OptSummaryReport"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceStatisticsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="OptimizedPortfolioStatistics" type="bdt:OptimizedPortfolioStatistics"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="OptimizedPortfolioStatistics">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ActiveRisk" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ActiveFactorRisk" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ActiveSpecificRisk" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="NetReturn" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Turnover" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TotalPenaltyCost" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TransactionCost" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Beta" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ImpliedRiskAversion" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TransferCoefficient" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="InformationRatio" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="StatusMessage" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TotalShortRebateCosts" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ParameterName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ParameterValue" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="NumberOfAssets" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ExecutionTime" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SpannedAlpha" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ResidualAlpha" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ConditionalName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Condition" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Alerts" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SolverInfo" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="BuyTurnover" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SellTurnover" type="xsd:double"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetRebalanceOptimalWeightsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="OptimalWeights" type="bdt:AssetWeight"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetRebalanceStatusAndOptimalWeightsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="Status" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="OptimalWeights" type="bdt:AssetWeight"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="AssetWeight">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AssetId" type="bdt:OptimalPortfolioAssetIdentifier"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Weight" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="IsCashAsset" type="xsd:boolean"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="OptimalPortfolioAssetIdentifier">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Id" type="bdt:AssetIdentifier"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PermId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Name" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetRebalanceTradeListResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="OptimizerTradeListInfo" type="bdt:OptimizerTradeListInfo"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="OptimizerTradeListInfo">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AssetId" type="bdt:OptimalPortfolioAssetIdentifier"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="InitialShares" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TradedShares" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="FinalShares" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Price" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TradedValue" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TradedValuePercent" type="xsd:double"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="OptSummaryReport">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="OptSummaryRow" type="bdt:OptSummaryRow"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="OptSummaryRow">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="OptSummaryColumn" type="bdt:OptSummaryColumn"/>
        </xsd:sequence>
        <xsd:attribute name="name" type="xsd:string"/>
      </xsd:complexType>

      <xsd:complexType name="OptSummaryColumn">
        <xsd:attribute name="name" type="xsd:string" use="required"/>
        <xsd:attribute name="value" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="GetOptimizationTradeListRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="IDType" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetOptimizationTradeListResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="TradeList" type="bdt:TradeList"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="OptimizationJobRecords">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="OptimizationJobRecord" nillable="true" type="bdt:OptimizationJobRecord"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="OptimizationJobRecord">
        <xsd:attribute name="JobID" type="xsd:string" use="required"/>
        <xsd:attribute name="JobName" type="xsd:string" use="required"/>
        <xsd:attribute name="StartTime" type="xsd:dateTime" use="required"/>
        <xsd:attribute name="OptimizationJobStatus" type="bdt:OptimizationJobStatus" use="required"/>
        <xsd:attribute name="IsEfficientFrontierJob" type="xsd:boolean" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="EfficientFrontierSummary">
        <xsd:attribute name="Portfolio" type="xsd:int" use="required"/>
        <xsd:attribute name="Risk" type="xsd:double" use="required"/>
        <xsd:attribute name="NetReturn" type="xsd:double" use="required"/>
        <xsd:attribute name="Turnover" type="xsd:double" use="required"/>
        <xsd:attribute name="Beta" type="xsd:double" use="required"/>
        <xsd:attribute name="Utility" type="xsd:double" use="required"/>
        <!-- RiskAversion is returned for RISK_RETURN Frontier types -->
        <xsd:attribute name="RiskAversion" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="OptimizationSettings">
        <xsd:attribute name="OptimizationProfileName" type="xsd:string" use="required"/>
        <xsd:attribute name="OptimizationProfileOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="BenchmarkName" type="xsd:string" use="optional"/>
        <xsd:attribute name="BenchmarkOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetUniverseName" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetUniverseOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ModelOwner" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="SaveDebugInfo" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="RebalanceSettings">
        <xsd:attribute name="OptimizationProfileName" type="xsd:string" use="required"/>
        <xsd:attribute name="OptimizationProfileOwner" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="PortfolioOwner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="InitialSettings">
        <xsd:attribute name="PortfolioName" type="xsd:string" use="required"/>
        <xsd:attribute name="AnalysisDate" type="xsd:date" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PortfolioSummary">
        <xsd:attribute name="Description" type="xsd:string" use="required"/>
        <xsd:attribute name="Initial" type="xsd:double" use="required"/>
        <xsd:attribute name="Final" type="xsd:double" use="required"/>
        <xsd:attribute name="Change" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="TradeList">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="InitialSettings" type="bdt:InitialSettings"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TradingStatistics" type="bdt:TradingStatistics"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PortfolioSummary" type="bdt:PortfolioSummary"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="TradingSummary" type="bdt:TradingSummary"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Trade" type="bdt:Trade"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TradingSummary">
        <xsd:attribute name="Description" type="xsd:string" use="required"/>
        <xsd:attribute name="CoverBuy" type="xsd:double" use="required"/>
        <xsd:attribute name="Buy" type="xsd:double" use="required"/>
        <xsd:attribute name="Sell" type="xsd:double" use="required"/>
        <xsd:attribute name="Short" type="xsd:double" use="required"/>
        <xsd:attribute name="Total" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="TradingStatistics">
        <xsd:attribute name="Turnover" type="xsd:double" use="required"/>
        <xsd:attribute name="MinTrade" type="xsd:double" use="required"/>
        <xsd:attribute name="MaxTrade" type="xsd:double" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="Trade">
        <xsd:attribute name="AssetID" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetName" type="xsd:string" use="required"/>
        <xsd:attribute name="TradedValuePercent" type="xsd:double" use="required"/>
        <xsd:attribute name="InitialHoldings" type="xsd:double" use="required"/>
        <xsd:attribute name="TradedHoldings" type="xsd:double" use="required"/>
        <xsd:attribute name="FinalHoldings" type="xsd:double" use="required"/>
        <xsd:attribute name="Price" type="xsd:double" use="required"/>
        <xsd:attribute name="TradedValueDollar" type="xsd:double" use="required"/>
        <xsd:attribute name="FinalValueDollar" type="xsd:double" use="required"/>
        <xsd:attribute name="TransactionCost" type="xsd:double" use="required"/>
        <xsd:attribute name="TradeType" type="bdt:TradeType" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="TradeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COVER_BUY"/>
          <xsd:enumeration value="BUY"/>
          <xsd:enumeration value="SELL"/>
          <xsd:enumeration value="SHORT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <!-- Optimization profiles -->

      <xsd:complexType name="BaseOptimizationProfile">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="TransactionCosts" type="bdt:TransactionCosts"/>
        </xsd:sequence>
        <xsd:attribute name="IncludeBenchmarkInUniverse" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="AssetReturnsName" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetReturnsOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="AllowShort" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="CashInOut" type="xsd:double" use="optional"/>
        <xsd:attribute name="AllowCrossover" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="CommonOptimizationProfile">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOptimizationProfile">
            <xsd:attribute name="RiskAversion" type="xsd:double" use="optional"/>
            <xsd:attribute name="SelectionRiskMultiplier" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="StandardOptimizationProfile">
        <xsd:complexContent>
          <xsd:extension base="bdt:CommonOptimizationProfile">
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="0" name="CustomConstraints" type="bdt:CustomConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="MatrixConstraints" type="bdt:MatrixConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="BasicConstraints" type="bdt:StandardBasicConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="IssuerConstraints" type="bdt:BaseIssuerConstraints"/>
            </xsd:sequence>
            <xsd:attribute name="TransactionType" type="bdt:TransactionType" use="optional"/>
            <xsd:attribute name="isMaxSharpeRatio" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="RiskTargetOptimizationProfile">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseOptimizationProfile">
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="0" name="CustomConstraints" type="bdt:CustomConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="MatrixConstraints" type="bdt:MatrixConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="BasicConstraints" type="bdt:RiskTargetBasicConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="IssuerConstraints" type="bdt:BaseIssuerConstraints"/>
            </xsd:sequence>
            <xsd:attribute name="TransactionType" type="bdt:TransactionType" use="optional"/>
            <xsd:attribute default="false" name="DoNotCheckEfficiency" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="LongShortOptimizationProfile">
        <xsd:complexContent>
          <xsd:extension base="bdt:CommonOptimizationProfile">
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="0" name="CustomConstraints" type="bdt:LongShortCustomConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="MatrixConstraints" type="bdt:LongShortMatrixConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="BasicConstraints" type="bdt:LongShortBasicConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="IssuerConstraints" type="bdt:BaseIssuerConstraints"/>
            </xsd:sequence>
            <xsd:attribute name="TransactionType" type="bdt:LongShortTransactionType" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EfficientFrontierOptimizationProfile">
        <xsd:complexContent>
          <xsd:extension base="bdt:CommonOptimizationProfile">
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="0" name="CustomConstraints" type="bdt:CustomConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="MatrixConstraints" type="bdt:MatrixConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="BasicConstraints" type="bdt:EfficientFrontierBasicConstraints"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="IssuerConstraints" type="bdt:BaseIssuerConstraints"/>
            </xsd:sequence>
            <xsd:attribute name="FrontierType" type="bdt:FrontierType" use="optional"/>
            <xsd:attribute name="LowerBound" type="xsd:double" use="optional"/>
            <xsd:attribute name="UpperBound" type="xsd:double" use="optional"/>
            <xsd:attribute name="MaxPoints" type="xsd:int" use="optional"/>
            <xsd:attribute name="TransactionType" type="bdt:TransactionType" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="TransactionCosts">
        <xsd:attribute name="TransactionCostMultiplier" type="xsd:double" use="optional"/>
        <xsd:attribute name="DefaultBuy" type="xsd:double" use="optional"/>
        <xsd:attribute name="DefaultBuyPerShare" type="xsd:double" use="optional"/>
        <xsd:attribute name="DefaultSell" type="xsd:double" use="optional"/>
        <xsd:attribute name="DefaultSellPerShare" type="xsd:double" use="optional"/>
        <xsd:attribute name="DefaultShort" type="xsd:double" use="optional"/>
        <xsd:attribute name="DefaultShortPerShare" type="xsd:double" use="optional"/>
        <xsd:attribute name="BuyName" type="xsd:string" use="optional"/>
        <xsd:attribute name="BuyOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="BuyPerShareName" type="xsd:string" use="optional"/>
        <xsd:attribute name="BuyPerShareOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="SellName" type="xsd:string" use="optional"/>
        <xsd:attribute name="SellOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="SellPerShareName" type="xsd:string" use="optional"/>
        <xsd:attribute name="SellPerShareOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ShortName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ShortOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ShortPerShareName" type="xsd:string" use="optional"/>
        <xsd:attribute name="ShortPerShareOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="TransactionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ALLOW_ALL"/>
          <xsd:enumeration value="BUY_FROM_UNIVERSE"/>
          <xsd:enumeration value="BUY_NONE"/>
          <xsd:enumeration value="SELL_NONE"/>
          <xsd:enumeration value="SELL_NONE_BUY_FROM_UNIVERSE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="LongShortTransactionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ALLOW_ALL"/>
          <xsd:enumeration value="BUY_SHORT_FROM_UNIVERSE_ONLY"/>
          <xsd:enumeration value="DISALLOW_BUYS_AND_SHORTS"/>
          <xsd:enumeration value="DISALLOW_SELLS_AND_COVERS"/>
          <xsd:enumeration value="BUY_SHORT_FROM_UNIVERSE_ONLY_DISALLOW_SELLS_AND_COVERS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="FrontierType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="RISK_RETURN_VARY_RISK"/>
          <xsd:enumeration value="RISK_RETURN_VARY_RETURN"/>
          <xsd:enumeration value="UTILITY_TURNOVER_VARY_TURNOVER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="StorageType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="HOLDINGS"/>
          <xsd:enumeration value="VALUE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <!-- Custom Constraints -->
      <xsd:complexType name="CustomConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="GeneralConstraints" type="bdt:GeneralConstraints"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="GroupConstraints" type="bdt:GroupConstraints"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="LongShortCustomConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="GeneralConstraints" type="bdt:LongShortGeneralConstraints"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="GroupConstraints" type="bdt:LongShortGroupConstraints"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GeneralConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GeneralConstraint" type="bdt:GeneralConstraint"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="LongShortGeneralConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GeneralConstraint" type="bdt:LongShortGeneralConstraint"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GeneralConstraint">
        <xsd:attribute name="GeneralConstraintObject" type="bdt:GeneralConstraintObjectEnum"/>
        <xsd:attribute name="ConstrainedAttribute" type="xsd:string"/>
        <xsd:attribute name="Min" type="bdt:ConstraintValue" use="optional"/>
        <xsd:attribute name="Max" type="bdt:ConstraintValue" use="optional"/>
      </xsd:complexType>

      <xsd:attributeGroup name="LongShortMinMax">
        <xsd:attribute name="ShortMin" type="bdt:ConstraintValue" use="optional"/>
        <xsd:attribute name="ShortMax" type="bdt:ConstraintValue" use="optional"/>
        <xsd:attribute name="LongMin" type="bdt:ConstraintValue" use="optional"/>
        <xsd:attribute name="LongMax" type="bdt:ConstraintValue" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="LongShortGeneralConstraint">
        <xsd:complexContent>
          <xsd:extension base="bdt:GeneralConstraint">
            <xsd:attributeGroup ref="bdt:LongShortMinMax"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="GeneralConstraintObjectEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PORTFOLIO"/>
          <xsd:enumeration value="POSITION"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ConstraintValue">
        <xsd:restriction base="xsd:string">
          <!-- This restriction is enforced in the server implementation. -->
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="GroupConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupConstraint" type="bdt:GroupConstraint"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="LongShortGroupConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupConstraint" type="bdt:LongShortGroupConstraint"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BaseGroupConstraint">
        <xsd:attribute name="GroupName" type="xsd:string"/>
        <xsd:attribute name="SchemeName" type="xsd:string"/>
      </xsd:complexType>

      <xsd:complexType name="GroupConstraint">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseGroupConstraint">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupConstraintCell" type="bdt:GroupConstraintCell"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="LongShortGroupConstraint">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseGroupConstraint">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupConstraintCell" type="bdt:LongShortGroupConstraintCell"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="GroupConstraintCell">
        <xsd:attribute name="Bucket" type="xsd:string"/>
        <xsd:attribute name="ConstrainedAttribute" type="xsd:string"/>
        <xsd:attribute name="Min" type="bdt:ConstraintValue" use="optional"/>
        <xsd:attribute name="Max" type="bdt:ConstraintValue" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="LongShortGroupConstraintCell">
        <xsd:complexContent>
          <xsd:extension base="bdt:GroupConstraintCell">
            <xsd:attributeGroup ref="bdt:LongShortMinMax"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <!-- Matrix Constraints -->
      <xsd:complexType name="MatrixConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MatrixConstraint" type="bdt:MatrixConstraint"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="LongShortMatrixConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MatrixConstraint" type="bdt:LongShortMatrixConstraint"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BaseMatrixConstraint">
        <xsd:attribute name="MatrixName" type="xsd:string"/>
        <xsd:attribute name="ConstrainedAttribute" type="xsd:string"/>
        <xsd:attribute name="RowGroupName" type="xsd:string"/>
        <xsd:attribute name="RowSchemeName" type="xsd:string"/>
        <xsd:attribute name="ColumnGroupName" type="xsd:string"/>
        <xsd:attribute name="ColumnSchemeName" type="xsd:string"/>
        <xsd:attribute name="DefaultMin" type="bdt:ConstraintValue" use="optional"/>
        <xsd:attribute name="DefaultMax" type="bdt:ConstraintValue" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MatrixConstraint">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseMatrixConstraint">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="MatrixConstraintCell" type="bdt:MatrixConstraintCell"/>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="LongShortMatrixConstraint">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseMatrixConstraint">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="MatrixConstraintCell" type="bdt:LongShortMatrixConstraintCell"/>
            </xsd:sequence>
            <xsd:attribute name="DefaultShortMin" type="bdt:ConstraintValue" use="optional"/>
            <xsd:attribute name="DefaultShortMax" type="bdt:ConstraintValue" use="optional"/>
            <xsd:attribute name="DefaultLongMin" type="bdt:ConstraintValue" use="optional"/>
            <xsd:attribute name="DefaultLongMax" type="bdt:ConstraintValue" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="MatrixConstraintCell">
        <xsd:attribute name="RowBucket" type="xsd:string"/>
        <xsd:attribute name="ColumnBucket" type="xsd:string"/>
        <xsd:attribute name="Min" type="bdt:ConstraintValue" use="optional"/>
        <xsd:attribute name="Max" type="bdt:ConstraintValue" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="LongShortMatrixConstraintCell">
        <xsd:complexContent>
          <xsd:extension base="bdt:MatrixConstraintCell">
            <xsd:attributeGroup ref="bdt:LongShortMinMax"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <!-- Issuer constraints -->

      <xsd:complexType name="BaseIssuerConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="GlobalIssuerBounds" type="bdt:GlobalIssuerBoundsType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="IndividualIssuerBounds" type="bdt:IndividualIssuerBoundsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GlobalIssuerBoundsType">
        <xsd:attribute name="WeightType" type="bdt:WeightEnum"/>
        <xsd:attribute name="Min" type="bdt:ConstraintValue"/>
        <xsd:attribute name="Max" type="bdt:ConstraintValue"/>
      </xsd:complexType>

      <xsd:simpleType name="WeightEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NET"/>
          <xsd:enumeration value="ABS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="IndividualIssuerBoundsType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Issuers" type="bdt:IssuerCell"/>
        </xsd:sequence>
        <xsd:attribute name="WeightType" type="bdt:WeightEnum"/>
        <xsd:attribute name="OptIssuerType" type="bdt:IssuerTypeEnum"/>
        <xsd:attribute name="AttributeId" type="xsd:string" use="required"/>
        <xsd:attribute name="SelectedAttributeName" type="xsd:string"/>
        <xsd:attribute name="GroupingScheme" type="xsd:string"/>
      </xsd:complexType>

      <xsd:complexType name="IssuerCell">
        <xsd:attribute name="IssuerId" type="xsd:string"/>
        <xsd:attribute name="Min" type="bdt:ConstraintValue"/>
        <xsd:attribute name="Max" type="bdt:ConstraintValue"/>
      </xsd:complexType>

      <xsd:simpleType name="IssuerTypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PARENT_ISSUER_NAME"/>
          <xsd:enumeration value="PARENT_ISSUER_ID"/>
          <xsd:enumeration value="ULTIMATE_ISSUER_NAME"/>
          <xsd:enumeration value="ULTIMATE_ISSUER_ID"/>
          <xsd:enumeration value="MAC_ISSUER_NAME"/>
          <xsd:enumeration value="MAC_ISSUER_ID"/>
          <xsd:enumeration value="USER_ISSUER_ID"/>
        </xsd:restriction>
      </xsd:simpleType>

      <!-- Basic constraints -->

      <xsd:complexType name="CommonBasicConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="HoldingBounds" type="bdt:HoldingBounds"/>
        </xsd:sequence>
        <xsd:attribute name="MaxTrade" type="xsd:double" use="optional"/>
        <xsd:attribute name="MaxTurnover" type="xsd:double" use="optional"/>
        <xsd:attribute name="MaxTurnoverSoft" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="MaxTransactionCost" type="xsd:double" use="optional"/>
        <xsd:attribute name="MaxTransactionCostSoft" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="PortfolioReturnMin" type="xsd:double" use="optional"/>
        <xsd:attribute name="PortfolioReturnMax" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="StandardBasicConstraints">
        <xsd:complexContent>
          <xsd:extension base="bdt:CommonBasicConstraints">
            <xsd:sequence>
              <xsd:element maxOccurs="1" minOccurs="0" name="ConditionalHoldingRule" type="bdt:ConditionalHoldingRule"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="RiskBudgetingConstraints" type="bdt:RiskBudgetingConstraints"/>
            </xsd:sequence>
            <xsd:attribute name="MaxAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="MaxAssetsSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="MinAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="MinAssetsSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="MinHolding" type="xsd:double" use="optional"/>
            <xsd:attribute name="MinHoldingSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="MinTrade" type="xsd:double" use="optional"/>
            <xsd:attribute name="MinTradeSoft" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="RiskTargetBasicConstraints">
        <xsd:complexContent>
          <xsd:extension base="bdt:CommonBasicConstraints">
            <xsd:attribute name="RiskTarget" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="LongShortBasicConstraints">
        <xsd:complexContent>
          <xsd:extension base="bdt:CommonBasicConstraints">
            <xsd:attribute name="MaxAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="MaxAssetsSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="MinAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="MinAssetsSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="LongMaxAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="LongMaxAssetsSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="LongMinHolding" type="xsd:double" use="optional"/>
            <xsd:attribute name="LongMinHoldingSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="LongMinTrade" type="xsd:double" use="optional"/>
            <xsd:attribute name="LongMinTradeSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="LongMaxTrade" type="xsd:double" use="optional"/>
            <xsd:attribute name="LongMaxTurnover" type="xsd:double" use="optional"/>
            <xsd:attribute name="LongMaxTurnoverSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ShortMaxAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="ShortMaxAssetsSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ShortMinHolding" type="xsd:double" use="optional"/>
            <xsd:attribute name="ShortMinHoldingSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ShortMinTrade" type="xsd:double" use="optional"/>
            <xsd:attribute name="ShortMinTradeSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ShortMaxTrade" type="xsd:double" use="optional"/>
            <xsd:attribute name="ShortMaxTurnover" type="xsd:double" use="optional"/>
            <xsd:attribute name="ShortMaxTurnoverSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="ShortMinLeverage" type="xsd:double" use="optional"/>
            <xsd:attribute name="ShortMaxLeverage" type="xsd:double" use="optional"/>
            <xsd:attribute name="LongMinLeverage" type="xsd:double" use="optional"/>
            <xsd:attribute name="LongMaxLeverage" type="xsd:double" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="EfficientFrontierBasicConstraints">
        <xsd:complexContent>
          <xsd:extension base="bdt:CommonBasicConstraints">
            <xsd:attribute name="MaxAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="MaxAssetsSoft" type="xsd:boolean" use="optional"/>
            <xsd:attribute name="MinAssets" type="xsd:int" use="optional"/>
            <xsd:attribute name="MinAssetsSoft" type="xsd:boolean" use="optional"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="HoldingBounds">
        <xsd:attribute name="AssetBoundsMinName" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetBoundsMinOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetBoundsMaxName" type="xsd:string" use="optional"/>
        <xsd:attribute name="AssetBoundsMaxOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="CashPositionMin" type="xsd:string" use="optional"/>
        <xsd:attribute name="CashPositionMax" type="xsd:string" use="optional"/>
        <xsd:attribute name="NonCashAssetsMin" type="xsd:string" use="optional"/>
        <xsd:attribute name="NonCashAssetsMax" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ConditionalHoldingRule">
        <xsd:attribute name="ApplyConditionalRule" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="IndividualUpperBound" type="xsd:double" use="optional"/>
        <xsd:attribute name="AggregationThreshold" type="xsd:double" use="optional"/>
        <xsd:attribute name="AggregationUpperBound" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="RiskBudgetingConstraints">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="RiskBudgetingConstraint1" type="bdt:RiskBudgetingConstraint"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RiskBudgetingConstraint2" type="bdt:RiskBudgetingConstraint"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RiskBudgetingConstraint3" type="bdt:RiskBudgetingConstraint"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RiskBudgetingConstraint">
        <xsd:attribute name="RiskSource" type="bdt:RiskSource" use="required"/>
        <xsd:attribute name="MaxContribution" type="xsd:double" use="required"/>
        <xsd:attribute name="MaxContributionSoft" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="AccrualType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PERIODIC_PAYMENT"/>
          <xsd:enumeration value="AT_MATURITY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="RiskSource">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NONE"/>
          <xsd:enumeration value="CURRENCY"/>
          <xsd:enumeration value="SELECTION"/>
          <xsd:enumeration value="COMMON_FACTOR"/>
          <xsd:enumeration value="INDUSTRY"/>
          <xsd:enumeration value="STYLE"/>
          <xsd:enumeration value="TERM_STRUCTURE"/>
          <xsd:enumeration value="SPREAD"/>
          <xsd:enumeration value="EMERGING_MARKET"/>
          <xsd:enumeration value="COMMODITY"/>
          <xsd:enumeration value="HEDGE_FUND"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="GetOptimizationPositionReportRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportViewName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportViewOwner" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetOptimizationPositionReportResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Report" type="bdt:ExportJobReport"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetOptimizationSummaryReportRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Portfolio" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetOptimizationSummaryReportResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Report" type="bdt:ExportJobReport"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPortfolioAdminReportRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="NodeId" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="FilterId" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ApplicationType" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="SelectItems" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPortfolioAdminReportResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Report" type="bdt:ExportJobReport"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetCurrentVersionRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetCurrentVersionResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="version" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetLatestAnalysisDatesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetLatestAnalysisDatesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="FinalizedDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="MonthEndDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="QuarterEndDate" type="xsd:date"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CancelExportJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CancelExportJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Status" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>




      <xsd:element name="StoreRiskModelRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RiskModel" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="StoreRiskModelResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Status" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>







      <xsd:simpleType name="UserStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ACTIVE"/>
          <xsd:enumeration value="INACTIVE"/>
          <xsd:enumeration value="LOCKED"/>
          <xsd:enumeration value="DELETED"/>
          <xsd:enumeration value="TEMPORARY_PASSWORD"/>
          <xsd:enumeration value="PARTNERLINK"/>
          <xsd:enumeration value="OTHER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="UserAccess">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="USER"/>
          <xsd:enumeration value="WORKGROUP_ADMIN"/>
          <xsd:enumeration value="CLIENT_ADMIN"/>
          <xsd:enumeration value="OTHER"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="UserDetails">
        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
        <xsd:attribute name="LoginID" type="xsd:string" use="optional"/>
        <xsd:attribute name="WorkgroupName" type="xsd:string" use="optional"/>
        <xsd:attribute name="Email" type="xsd:string" use="optional"/>
        <xsd:attribute name="UserAccess" type="bdt:UserAccess" use="optional"/>
        <xsd:attribute name="Domicile" type="xsd:string" use="optional"/>
        <xsd:attribute name="UserStatus" type="bdt:UserStatus" use="optional"/>
        <xsd:attribute name="LastLogin" type="xsd:dateTime" use="optional"/>
        <xsd:attribute name="CreationDate" type="xsd:dateTime" use="optional"/>
      </xsd:complexType>

      <xsd:element name="GetAllUserDetailsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAllUserDetailsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="UserDetails" type="bdt:UserDetails"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetBfmRegressorsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RiskModel" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="AssetID" type="bdt:AssetIdentifier"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetBfmRegressorsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="Response" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetHvrReportsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HvrReportRequestParams" type="bdt:HvrReportRequestParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:complexType name="HvrReportRequestParams">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="HvrDefinition" type="bdt:HvrDefinition"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="CycleDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="GetAlreadyRunningJobId" type="xsd:boolean"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="HvrDefinition">
        <xsd:attributeGroup ref="bdt:NameAndOwner"/>
      </xsd:complexType>

      <xsd:attributeGroup name="NameAndOwner">
        <xsd:attribute name="Name" type="xsd:string" use="required"/>
        <xsd:attribute name="Owner" type="xsd:string" use="required"/>
      </xsd:attributeGroup>

      <xsd:element name="GetHvrReportsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="HvrReport" type="bdt:AttachmentType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetLatestHVRJobIdResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="JobId" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="RetrieveTemplateReportsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="RetrieveReportsInputParams" type="bdt:RetrieveReportsInputParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:element name="RetrieveTemplateReportsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="RetrieveReportsOutParams" type="bdt:RetrieveReportsOutParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:complexType name="RetrieveReportsOutParams">
        <xsd:sequence>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="Response" type="bdt:ReportRoot"/>
            <xsd:element maxOccurs="unbounded" minOccurs="0" name="DatedResponse" type="bdt:DatedReportRoot"/>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="RetrieveReportsInputParams">
        <xsd:sequence>

          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="TaskId" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="PAReportDefinition" type="bdt:ReturnAttribution"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="RiskReportsDefinition" type="bdt:RiskReportsDefinition"/>
          </xsd:choice>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="ReportParametersList" type="bdt:ReportParametersDef"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ReportTemplate" type="bdt:ReportTemplate"/>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>




      <xsd:element name="RetrieveReportsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:choice maxOccurs="1" minOccurs="1">
              <xsd:element maxOccurs="1" minOccurs="0" name="TaskId" type="xsd:string"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="PAReportDefinition" type="bdt:ReturnAttribution"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="RiskReportsDefinition" type="bdt:RiskReportsDefinition"/>
            </xsd:choice>
            <xsd:choice maxOccurs="1" minOccurs="1">
              <xsd:element maxOccurs="1" minOccurs="0" name="ReportParametersList" type="bdt:ReportParametersDef"/>
              <xsd:element maxOccurs="1" minOccurs="0" name="ReportTemplate" type="bdt:ReportTemplate"/>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>

      </xsd:element>

      <xsd:complexType name="ReportTemplate">
        <xsd:attribute name="TemplateName" type="xsd:string" use="required"/>
        <xsd:attribute name="TemplateOwner" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="RiskReportsDefinition">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Portfolios" type="bdt:Portfolios"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettings" type="bdt:InputAnalysisSettings"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisDate" type="xsd:date"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TimeSeries" type="bdt:TimeSeries"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TimeSeries">
        <xsd:sequence>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="60" minOccurs="0" name="DataPointsDateList" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="DataPointsFrequency" type="bdt:DataPointsFrequency"/>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="DataPointsFrequency">
        <xsd:attribute name="DataPoints" type="xsd:int" use="required"/>
        <xsd:attribute default="MONTHLY" name="Frequency" type="bdt:FrequencyEnum" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="FrequencyEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="MONTHLY"/>
          <xsd:enumeration value="QUARTERLY"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:element name="RetrieveReportsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Response" type="bdt:ReportRoot"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:element name="SubmitReportJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:choice maxOccurs="1" minOccurs="1">
              <xsd:element maxOccurs="1" minOccurs="0" name="PAAttributionParam" type="bdt:ReturnAttribution"/>
            </xsd:choice>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitReportJobResponse">
        <xsd:complexType>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="JobResponse" type="bdt:ReportResponse"/>
          </xsd:choice>
        </xsd:complexType>
      </xsd:element>


      <xsd:complexType name="ReportResponse">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="JobId" type="xsd:string"/>
        </xsd:sequence>
        <xsd:attribute name="TaskId" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:complexType name="ReturnAttribution">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Portfolios" type="bdt:Portfolios"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettings" type="bdt:InputAnalysisSettings"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TimeSeriesSettings" type="bdt:InputTimeSeriesSettings"/>
        </xsd:sequence>
        <xsd:attribute name="ReRunForDate" type="xsd:date" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="Portfolios">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Portfolio" type="bdt:InputPortfolio"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="InputPortfolio">
        <xsd:attributeGroup ref="bdt:NameAndOwner"/>
      </xsd:complexType>

      <xsd:complexType name="InputAnalysisSettings">
        <xsd:attributeGroup ref="bdt:NameAndOwner"/>
      </xsd:complexType>

      <xsd:complexType name="InputTimeSeriesSettings">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="TimeSeriesDateRange" type="bdt:TimeSeriesDateRange"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:NameAndOwner"/>
      </xsd:complexType>

      <xsd:complexType name="TimeSeriesDateRange">
        <xsd:choice>
          <xsd:element maxOccurs="1" minOccurs="1" name="DateRelativeTo" type="bdt:DateRelativeTo"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="LatestDateRelativeTo" type="bdt:LatestDateRelativeTo"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="FromStartDateToEndDate" type="bdt:FromStartDateToEndDate"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:complexType name="DateRelativeTo">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="StartDateRangeValue" type="bdt:StartDateRangeValueEnum"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DateRelativeToValue" type="bdt:DateRelativeToValueEnum"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="StartDateRangeValueEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="YEAR"/>
          <xsd:enumeration value="QUARTER"/>
          <xsd:enumeration value="MONTH"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="DateRelativeToValueEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TODAY"/>
          <xsd:enumeration value="PREVIOUS_CLOSE"/>
          <xsd:enumeration value="PREVIOUS_MONTH_END"/>
          <xsd:enumeration value="PREVIOUS_QUARTER_END"/>
          <xsd:enumeration value="PREVIOUS_YEAR_END"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="LatestDateRelativeTo">
        <xsd:attributeGroup ref="bdt:LatestStartDateRangeValue"/>
        <xsd:attribute name="DateRelativeToValue" type="bdt:DateRelativeToValueEnum"/>
      </xsd:complexType>

      <xsd:attributeGroup name="LatestStartDateRangeValue">
        <xsd:attribute name="LatestDateRangeInputValue" type="xsd:string" use="required"/>
        <xsd:attribute name="LatestDateRangeInputType" type="bdt:LatestDateRangeInputTypeEnum" use="required"/>
      </xsd:attributeGroup>

      <xsd:simpleType name="LatestDateRangeInputTypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="YEARS"/>
          <xsd:enumeration value="QUARTERS"/>
          <xsd:enumeration value="MONTHS"/>
          <xsd:enumeration value="WEEKS"/>
          <xsd:enumeration value="DAYS"/>
          <xsd:enumeration value="DAYS_WITHOUT_WEEKEND"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="FromStartDateToEndDate">
        <xsd:attributeGroup ref="bdt:FromStartDateToEndDateGroup"/>
      </xsd:complexType>

      <xsd:attributeGroup name="FromStartDateToEndDateGroup">
        <xsd:attribute name="FromDateValue" type="xsd:date" use="required"/>
        <xsd:attribute name="ToDateValue" type="xsd:date" use="required"/>
      </xsd:attributeGroup>

      <xsd:element name="ListSupportedReportsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetReportJobStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ReportDetails">
        <xsd:attributeGroup ref="bdt:ReportDetailsGroup"/>
      </xsd:complexType>

      <xsd:attributeGroup name="ReportDetailsGroup">
        <xsd:attribute name="ReportId" type="xsd:string" use="required"/>
        <xsd:attribute name="ReportName" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:element name="ListSupportedReportsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportDetails" type="bdt:ReportDetails"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetReportJobStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetOnDemandPAVizReportStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobID" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetOnDemandPAVizReportStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportStatus" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPAVizJobStatusAndErrorDetailsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetPAVizJobStatusAndErrorDetailsRequestParam" type="bdt:GetPAVizJobStatusAndErrorDetailsRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetPAVizJobStatusAndErrorDetailsRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AnalysisList" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="GroupingHierarchyList" type="bdt:GroupingHierarchyListRequestComponent"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GroupingHierarchyListRequestComponent">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingHierarchies" type="bdt:GroupingHierarchy"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GroupingHierarchy">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="GroupingHierarchyName" type="xsd:string"/>
        </xsd:sequence>
        <xsd:attribute name="AnalysisSettingName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="GetPAVizJobStatusAndErrorDetailsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetPAVizJobStatusAndErrorDetailsResponseParam" type="bdt:GetPAVizJobStatusAndErrorDetailsResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetPAVizJobStatusAndErrorDetailsResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="JobStatusAndErrorDetails" type="bdt:JobStatusAndErrorDetailsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="JobStatusAndErrorDetailsType">
        <xsd:attribute name="AnalysisName" type="xsd:string" use="required"/>
        <xsd:attribute name="JobStatus" type="xsd:string" use="required"/>
        <xsd:attribute name="ErrorDetails" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:element name="GetPAVizReportStatusRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetPAVizReportStatusRequestParam" type="bdt:GetPAVizReportStatusRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetPAVizReportStatusRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RecurrenceName" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AnalysisName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="GroupingHierarchyList" type="bdt:GroupingHierarchyListRequestComponent"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetPAVizReportStatusResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetPAVizReportStatusResponseParam" type="bdt:GetPAVizReportStatusResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetPAVizReportStatusResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PAVizReportStatus" type="bdt:PAVizReportStatusType"/>
        </xsd:sequence>
        <xsd:attribute name="ReportScheduleName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PAVizReportStatusType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PAVizReportStatusDetails" type="bdt:PAVizReportStatusDetailsType"/>
        </xsd:sequence>
        <xsd:attribute name="RecurrenceName" type="xsd:string" use="required"/>
        <xsd:attribute name="Status" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="PAVizReportStatusDetailsType">
        <xsd:attribute name="ReportPeriod" type="xsd:string" use="required"/>
        <xsd:attribute name="AnalysisName" type="xsd:string" use="required"/>
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="required"/>
        <xsd:attribute name="ReportType" type="xsd:string" use="required"/>
        <xsd:attribute name="Status" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:element name="GetPAVizReportFilterConfigRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetPAVizReportFilterConfigResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetPAVizReportFilterConfigResponseParam" type="bdt:GetPAVizReportFilterConfigResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetPAVizReportFilterConfigResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ReportFilterConfigTemplate" type="bdt:ReportFilterConfigTemplateType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReportFilterConfigTemplateType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ConfigName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ConfigValue" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="DeletePAVizAnalysisSettingRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeletePAVizAnalysisSettingRequestParam" type="bdt:DeletePAVizAnalysisSettingRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DeletePAVizAnalysisSettingRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingName" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="DeletePAVizAnalysisSettingResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeletePAVizAnalysisSettingResponseParam" type="bdt:DeletePAVizAnalysisSettingResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DeletePAVizAnalysisSettingResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="DeletePAVizAnalysisSettingResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetReportScheduleRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetReportScheduleRequestParam" type="bdt:GetReportScheduleRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetReportScheduleRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleName" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetReportScheduleResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetReportScheduleResponseParam" type="bdt:GetReportScheduleResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetReportScheduleResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleName" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="SchedulePeriod" type="bdt:SchedulePeriodType"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="RecurrenceOptions" type="bdt:RecurrenceOptionsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="DeleteReportScheduleRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeleteReportScheduleRequestParam" type="bdt:DeleteReportScheduleRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DeleteReportScheduleRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleName" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="DeleteReportScheduleResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeleteReportScheduleResponseParam" type="bdt:DeleteReportScheduleResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DeleteReportScheduleResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleDeletionResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="CreatePortfolioGroupRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="CreatePortfolioGroupRequestParam" type="bdt:CreatePortfolioGroupRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CreatePortfolioGroupRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettings" type="bdt:AnalysisSettingslist"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisStartDate" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SpecifyEndDate" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AnalysisEndDate" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioGroupFromBDTAPI" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScheduleTime" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AnalysisDatePreference" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ShiftToLastAnalysisDate" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Days" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ShareWithWorkgroup" type="xsd:boolean"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AnalysisSettingslist">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AnalysisSetting" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="GroupingHierarchyList" type="bdt:GroupingHierarchyList"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GroupingHierarchyList">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingHierarchies" type="bdt:GroupingHierarchyListItem"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="GroupingHierarchyListItem">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingHierarchyName" type="xsd:string"/>
        </xsd:sequence>
        <xsd:attribute name="AnalysisSettingName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="CreatePortfolioGroupResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="CreatePortfolioGroupResponseParam" type="bdt:CreatePortfolioGroupResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CreatePortfolioGroupResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupCreationResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="ModifyPortfolioGroupRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ModifyPortfolioGroupRequestParam" type="bdt:ModifyPortfolioGroupRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ModifyPortfolioGroupRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ExistingPortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="NewPortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettings" type="bdt:AnalysisSettingslist"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisStartDate" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SpecifyEndDate" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AnalysisEndDate" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioGroupFromBDTAPI" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScheduleTime" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AnalysisDatePreference" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ShiftToLastAnalysisDate" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Days" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ShareWithWorkgroup" type="xsd:boolean"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="ModifyPortfolioGroupResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ModifyPortfolioGroupResponseParam" type="bdt:ModifyPortfolioGroupResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ModifyPortfolioGroupResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupCreationResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="DeletePortfolioGroupRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeletePortfolioGroupRequestParam" type="bdt:DeletePortfolioGroupRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DeletePortfolioGroupRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="DeletePortfolioGroupResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeletePortfolioGroupResponseParam" type="bdt:DeletePortfolioGroupResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DeletePortfolioGroupResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupDeletionResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="UpdateHVRJobDefRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HvrJobDefName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HvrJobDefOwner" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="HvrJobSchedule" type="bdt:HvrJobSchedule"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="OverrideHvrDefinitionParams" type="bdt:OverrideHvrDefinitionParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateHVRJobDefRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HvrJobDefName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HVRJobDefRequestParams" type="bdt:HVRJobDefRequestParams"/>
            <xsd:element default="Public" maxOccurs="1" minOccurs="0" name="SharingRule" type="bdt:SharingRuleType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="HVRJobDefRequestParams">
        <xsd:sequence>
          <xsd:element default="Single Portfolio Reporting" maxOccurs="1" minOccurs="1" name="HvrJobType" type="bdt:HvrJobType"/>
          <xsd:element default="CSV" maxOccurs="1" minOccurs="1" name="HvrJobOutput" type="bdt:HvrJobOutput"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="HvrPortfolio" type="bdt:HvrPortfolio"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SharedSettings" type="bdt:SharedSettings"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="HvrJobNotificationPreferences" type="bdt:HvrJobNotificationPreferences"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="HvrTemplate" type="bdt:InputTemplate"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="HvrJobSchedule" type="bdt:HvrJobSchedule"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="InputTemplate">
        <xsd:attributeGroup ref="bdt:NameAndOwner"/>
        <xsd:attribute default="true" name="EnableTemplate" type="xsd:boolean" use="optional"/>
      </xsd:complexType>
      <xsd:simpleType name="HvrJobType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Single Portfolio Reporting"/>
          <xsd:enumeration value="Comparison Reporting"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="HvrJobOutput">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CSV"/>
          <xsd:enumeration value="Insights"/>
          <xsd:enumeration value="PDF"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="HvrJobNotificationPreferences">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="EnableEmailNotification" type="xsd:boolean"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="EmailRecipient" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="HvrJobSchedule">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="EnableSchedule" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ScheduleTime" type="bdt:ScheduleTime"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ScheduleRecurrence" type="bdt:ScheduleRecurrence"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="JobRetryAttempt" type="bdt:JobRetryAttempt"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="JobRunDateOffset" type="bdt:DateRelativeToValueEnum"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ScheduleTime">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="TimeZone" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="LaunchATHHMM" type="xsd:string"/> <!-- For example, '1530' or '0301 -->
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ScheduleRecurrence">
        <xsd:choice>
          <xsd:element maxOccurs="1" minOccurs="1" name="WeeklyRecurrence" type="bdt:WeeklyRecurrence"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="MonthlyRecurrence" type="bdt:MonthlyRecurrence"/>
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="WeeklyRecurrence">
        <xsd:sequence>
          <xsd:element maxOccurs="7" minOccurs="1" name="DayOfWeek" type="bdt:DayOfWeekEnum"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MonthlyRecurrence">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="DayOfMonth" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="MonthlyInterval" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="DayOfWeekEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SUNDAY"/>
          <xsd:enumeration value="MONDAY"/>
          <xsd:enumeration value="TUESDAY"/>
          <xsd:enumeration value="WEDNESDAY"/>
          <xsd:enumeration value="THURSDAY"/>
          <xsd:enumeration value="FRIDAY"/>
          <xsd:enumeration value="SATURDAY"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="JobRetryAttempt">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="RetryAttemptCount" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="RetryAttemptIntervalInMinutes" type="xsd:int"/> <!-- For example, '15' for 15 min' -->
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="CreateHVRJobDefResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="NodeId" type="xsd:string"/>
            <xsd:element name="CreateHVRJobDefResult" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="UpdateHVRJobDefResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="NodeId" type="xsd:string"/>
            <xsd:element name="UpdateHVRJobDefResult" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="DeleteHVRJobDefRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HvrJobDefName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HvrJobDefOwner" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="DeleteHVRJobDefResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeleteHVRJobDefResult" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CreateReportScheduleRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="CreateReportScheduleRequestParam" type="bdt:CreateReportScheduleRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CreateReportScheduleRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MultiPortfolioSummary" type="xsd:boolean"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="AnalysisSetting" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="SchedulePeriod" type="bdt:SchedulePeriodType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="OutputFormat" type="bdt:OutputFormatType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MsciInsights" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportSelection" type="bdt:ReportSelectionType"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="RecurrenceOptions" type="bdt:RecurrenceOptionsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="CreateReportScheduleResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="CreateReportScheduleResponseParam" type="bdt:CreateReportScheduleResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CreateReportScheduleResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReportScheduleCreationResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="ModifyReportScheduleRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ModifyReportScheduleRequestParam" type="bdt:ModifyReportScheduleRequestParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ModifyReportScheduleRequestParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ExistingReportScheduleName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="NewReportScheduleName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioGroupName" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AnalysisSetting" type="xsd:string"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SchedulePeriod" type="bdt:SchedulePeriodType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MsciInsights" type="xsd:boolean"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RecurrenceOptions" type="bdt:RecurrenceOptionsType"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:element name="ModifyReportScheduleResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ModifyReportScheduleResponseParam" type="bdt:ModifyReportScheduleResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ModifyReportScheduleResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ModificationResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SchedulePeriodType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Trailing" type="bdt:TrailingType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DateRange" type="bdt:DateRangeType"/>
        </xsd:sequence>
        <xsd:attribute name="TrailingToDate" type="bdt:TrailingToDateType"/>
      </xsd:complexType>

      <xsd:simpleType name="OutputFormatType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="XLSX_WORKBOOK_RAW_DATA"/>
          <xsd:enumeration value="XML_RAW_DATA"/>
          <xsd:enumeration value="XLSX_WORKBOOK_FORMATTED"/>
          <xsd:enumeration value="PDF"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="ReportSelectionType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="PerformanceAttributionReports" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FilteredPerformanceAttributionReport" type="bdt:FilteredPerformanceAttributionReportType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReturnReconciliationReport" type="bdt:ReturnReconciliationReportType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ReturnReconciliationReportType">
        <xsd:attribute name="TrailingOneDay" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="TrailingOneWeek" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="TrailingOneMonth" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="MonthToDate" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="QuarterToDate" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="YearToDate" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="FilteredPerformanceAttributionReportType">
        <xsd:attribute name="ExistingConfigFiles" type="xsd:string" use="required"/>
      </xsd:complexType>


      <xsd:simpleType name="TrailingToDateType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="YTD"/>
          <xsd:enumeration value="QTD"/>
          <xsd:enumeration value="MTD"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:complexType name="TrailingType">
        <xsd:attribute name="TrailingQuantity" type="xsd:int" use="required"/>
        <xsd:attribute name="TrailingUnit" type="bdt:TrailingUnitType" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="TrailingUnitType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DAYS"/>
          <xsd:enumeration value="WEEKS"/>
          <xsd:enumeration value="MONTHS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="DateRangeType">
        <xsd:attribute name="StartDate" type="xsd:string" use="required"/>
        <xsd:attribute name="EndDate" type="xsd:string" use="optional"/>
        <xsd:attribute default="false" name="SpecifyEndDateWhileScheduling" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="RecurrenceOptionsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="EndDatePreference" type="bdt:EndDatePreferenceType"/>
        </xsd:sequence>
        <xsd:attribute name="RecurrenceName" type="xsd:string"/>
        <xsd:attribute name="Type" type="bdt:TypeEnum" use="required"/>
        <xsd:attribute default="0" name="DaysAfterAnalysisDate" type="xsd:int" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="TypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Single Time Run"/>
          <xsd:enumeration value="Daily Recurring"/>
          <xsd:enumeration value="Monthly Recurring"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:complexType name="EndDatePreferenceType">
        <xsd:attribute name="EndDateType" type="bdt:EndDateTypeEnum" use="required"/>
        <xsd:attribute name="EndDateForSpecificDate" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="EndDateTypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Latest"/>
          <xsd:enumeration value="Latest Finalized"/>
          <xsd:enumeration value="Previous Month End"/>
          <xsd:enumeration value="Previous Quarter End"/>
          <xsd:enumeration value="Previous Year End"/>
          <xsd:enumeration value="Specific Date"/>
          <xsd:enumeration value="Previous Business Month End"/>
          <xsd:enumeration value="Previous Calendar Month End"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:element name="GetReportParametersRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportId" type="bdt:ReportDetails"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetReportParametersResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportName" type="bdt:ReportDetails"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ReportParameters" type="bdt:ReportParametersDef"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:complexType name="ReportParametersDef">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="DefaultParameters" type="bdt:Parameters"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ParametersNameAndValue" type="bdt:ParametersNameAndValues"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:ReportDetailsGroup"/>
      </xsd:complexType>



      <xsd:complexType name="Parameters">
        <xsd:attributeGroup ref="bdt:ParametersGroup"/>
      </xsd:complexType>

      <xsd:attributeGroup name="ParametersGroup">
        <xsd:attribute name="ParameterName" type="xsd:string" use="required"/>
        <xsd:attribute name="ParameterValue" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="ParametersNameAndValues">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="ParameterValueIdName" type="bdt:ParameterValueIdName"/>
        </xsd:sequence>
        <xsd:attribute name="ParametersName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="ParameterValueIdName">
        <xsd:attributeGroup ref="bdt:ParameterValueGroup"/>
      </xsd:complexType>

      <xsd:attributeGroup name="ParameterValueGroup">
        <xsd:attribute name="ValueId" type="xsd:string" use="required"/>
        <xsd:attribute name="ValueName" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:element name="SubmitHVRJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="HvrReportRequestParams" type="bdt:HvrReportRequestParams"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="OverrideHvrDefinitionParams" type="bdt:OverrideHvrDefinitionParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetLatestHVRJobIdRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="JobName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Owner" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="CycleDate" type="xsd:date"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="GetRunningJobId" type="xsd:boolean"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateTimeSeriesSettingsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="TimeSeriesSettingsName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="TimeSeriesSettings" type="bdt:TimeSeriesSettingsType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteTimeSeriesSettingsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="TimeSeriesSettingsName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="TimeSeriesSettingsOwner" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="TimeSeriesSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="TimeSettings" type="bdt:TimeSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AnalyticOptions" type="bdt:AnalyticOptionsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TransactionCosts" type="bdt:TransactionCostsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="AssetDetails" type="bdt:AssetDetailsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="OtherSettings" type="bdt:OtherSettingsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TimeSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ReturnFrequency" type="bdt:ReturnFrequencyType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="TimeSeriesDataRangeSettings" type="bdt:TimeSeriesDateRange"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Subperiod" type="bdt:ComputeSubperiodsType"/>
        </xsd:sequence>
        <xsd:attribute name="ProcessAdditionalTrailingTimeSpans" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="RollingRiskPeriod" type="xsd:int" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="ReturnFrequencyType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Daily"/>
          <xsd:enumeration value="Monthly"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="ComputeSubperiodsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="SubperiodFrequency" type="bdt:SubperiodFrequencyType"/>
        </xsd:sequence>
        <xsd:attribute name="ComputeSubperiods" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="SubperiodFrequencyType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Quarterly"/>
          <xsd:enumeration value="Yearly"/>
          <xsd:enumeration value="Monthly"/>
          <xsd:enumeration value="Weekly"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="AnalyticOptionsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="PerformanceAnalysisSettings" type="bdt:PerformanceAnalysisSettingsType"/>
        </xsd:sequence>
        <xsd:attribute name="ForecastRisk" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="ConsolidateBenchmarkAssetsNotHeld" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="PerformanceAnalysisSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ManagedPortfolioReturnSettings" type="bdt:CompositeOrFutureBaseReturnType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ManagedPortfolioReturnAttributionSettings" type="bdt:ManagedPortfolioReturnAttributionSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BenchmarkPortfolioReturnSettings" type="bdt:CompositeOrFutureBaseReturnType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BenchmarkPortfolioReturnAttributionSettings" type="bdt:ManagedPortfolioReturnAttributionSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CompositeOrFuture" type="bdt:CompositeOrFutureBaseReturnType"/>
        </xsd:sequence>
        <xsd:attribute name="PerformanceAnalysis" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="ManagedPortfolioReturnAttributionSettingsType">
        <xsd:choice>
          <xsd:element maxOccurs="1" minOccurs="0" name="AccountingReturnSettings" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SystemReturnSettings" type="bdt:SystemReturnOptionsType"/>
        </xsd:choice>
      </xsd:complexType>

      <xsd:simpleType name="SystemReturnOptionsType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NET"/>
          <xsd:enumeration value="PRICE"/>
          <xsd:enumeration value="GROSS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="TransactionCostsType">
        <xsd:attribute name="TransactionCostsCurrency" type="xsd:string" use="optional"/>
        <xsd:attribute name="BuyCostInPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute name="BuyCostPerShare" type="xsd:double" use="optional"/>
        <xsd:attribute name="BuyCostPerTrade" type="xsd:double" use="optional"/>
        <xsd:attribute name="SellCostInPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute name="SellCostPerShare" type="xsd:double" use="optional"/>
        <xsd:attribute name="SellCostPerTrade" type="xsd:double" use="optional"/>
        <xsd:attribute name="ShortSellCostInPercentage" type="xsd:double" use="optional"/>
        <xsd:attribute name="ShortSellCostPerShare" type="xsd:double" use="optional"/>
        <xsd:attribute name="ShortSellCostPerTrade" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="AssetDetailsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="NumberOfTopBottomAssetsType" type="bdt:NumberOfTopBottomAssetsType"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BarraIdAssetName" type="bdt:BarraIdAssetNameType"/>
        </xsd:sequence>
        <xsd:attribute name="RetainTimeSeriesDetailsOfIndividualAssets" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="RetainTimeSeriesIndividualAssetsFactorContribution" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="NumberOfTopBottomAssets" type="xsd:int" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="NumberOfTopBottomAssetsType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CONTRIBUTION_TO_ACTIVE_RETURN"/>
          <xsd:enumeration value="AVERAGE_TOTAL_WEIGHT"/>
          <xsd:enumeration value="AVERAGE_ACTIVE_WEIGHT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="BarraIdAssetNameType">
        <xsd:attribute name="BarraId" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="OtherSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="CurrencyTreatment" type="bdt:CurrencyTreatmentType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="CountryTreatment" type="bdt:CountryTreatmentType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="CurrencyTreatmentType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="USE_CURRENCY_OF_EXPOSURE"/>
          <xsd:enumeration value="USE_PRICE_CURRENCY"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CountryTreatmentType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="USE_COUNTRY_OF_EXPOSURE"/>
          <xsd:enumeration value="USE_COUNTRY_OF_QUOTATION"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="CreateTimeSeriesSettingsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="NodeId" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="DeleteTimeSeriesSettingsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeleteTimeSeriesSettingResult" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetAnalysisSettingRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingOwner" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetAnalysisSettingResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="RiskModelSettings" type="bdt:RiskModelSettingsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ReferencePortfoliosSettings" type="bdt:ReferencePortfoliosSettingsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="RiskReturnAttributionSettings" type="bdt:RiskReturnAttributionSettingsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="LongShortSettings" type="bdt:LongShortSettingsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ParametricVarSettings" type="bdt:ParametricVarSettingsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="RoundlotsSettings" type="bdt:RoundlotsSettingsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="StatisticsSettings" type="bdt:StatisticsSettingsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Alerts" type="bdt:AlertsType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="OtherSettings" type="bdt:MiscSettingsType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="CreateAnalysisSettingRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingArgs" type="bdt:BPMAnalysisSettingArgsType"/>
            <xsd:element default="Public" maxOccurs="1" minOccurs="0" name="SharingRule" type="bdt:SharingRuleType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CreateAnalysisSettingResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="NodeId" type="xsd:string"/>
            <xsd:element name="CreateAnalysisSettingResult" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="BPMAnalysisSettingArgsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="RiskModelSettings" type="bdt:RiskModelSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ReferencePortfoliosSettings" type="bdt:ReferencePortfoliosSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RiskReturnAttributionSettings" type="bdt:RiskReturnAttributionSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LongShortSettings" type="bdt:LongShortSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ParametricVarSettings" type="bdt:ParametricVarSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RoundlotsSettings" type="bdt:RoundlotsSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="StatisticsSettings" type="bdt:StatisticsSettingsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="OtherSettings" type="bdt:MiscSettingsType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RiskModelSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="RiskModelName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="RiskModelVariant" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Currency" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="IncludeFactorCrossProduct" type="xsd:boolean"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ReferencePortfoliosSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Benchmark" type="bdt:ReferencePortfolioType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Market" type="bdt:ReferencePortfolioType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="Universe" type="bdt:ReferencePortfolioType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ReferencePortfolioType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioField" type="bdt:PortfolioFieldType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="NameAndOwner" type="bdt:NameAndOwnerType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="PortfolioFieldType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PORTFOLIO"/>
          <xsd:enumeration value="PORTFOLIO_ATTRIBUTE"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="NameAndOwnerType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="Owner" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RiskReturnAttributionSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="BPMAttributionModel" type="bdt:BPMAttributionModelType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ExcludeZeroExposureFactors" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ComputeInteractionEffect" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RiskDeltaAnalysisCategory" type="bdt:RiskDeltaAnalysisCategoryType"/>
          <xsd:element maxOccurs="5" minOccurs="0" name="BPMFactorGroups" type="bdt:BPMFactorGroupsType"/>
          <xsd:element maxOccurs="4" minOccurs="0" name="BPMAllocationGroups" type="bdt:BPMAllocationGroupsType"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="BPMAttributionModelType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ALLOCATION_SELECTION"/>
          <xsd:enumeration value="HYBRID"/>
          <xsd:enumeration value="FACTOR"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="BPMFactorGroupsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="FactorType" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="GroupingSchemeName" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BPMAllocationGroupsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributeName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributeOwner" type="xsd:string"/>
          <xsd:element default="Named Scheme" maxOccurs="1" minOccurs="1" name="SchemeType" type="bdt:SchemeType"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="SelectionCount" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AlertsType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Alerts" type="bdt:AlertModel"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AlertModel">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributeId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributeName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributeValue" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AttributeOwner" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="AlertType" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="SchemeType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Top"/>
          <xsd:enumeration value="Bottom"/>
          <xsd:enumeration value="TopAndBottom"/>
          <xsd:enumeration value="Distinct"/>
          <xsd:enumeration value="Bottom"/>
          <xsd:enumeration value="Named Scheme"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="RiskDeltaAnalysisCategoryType">
        <xsd:sequence>
          <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:element maxOccurs="1" minOccurs="0" name="ComparisonPortfolio" type="bdt:NameAndOwnerType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ComparisonDate" type="bdt:ComparisonDateType"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ComparisonModel" type="bdt:ComparisonModelType"/>
          </xsd:choice>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ComparisonDateType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="AnalysisDateOffset" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DateRangeType" type="bdt:LatestDateRangeInputTypeEnum"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ComparisonModelType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="Horizon" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="LongShortSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="LongShortSeparateAttrib" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioBaseValue" type="bdt:PortfolioBaseValueType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BalanceCurrency" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="CustomSeriesAttributeName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="FixedBaseValue" type="xsd:double"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="PortfolioBaseValueType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NET"/>
          <xsd:enumeration value="LONG ONLY"/>
          <xsd:enumeration value="LONG PLUS SHORT"/>
          <xsd:enumeration value="ASSIGNED FIXED"/>
          <xsd:enumeration value="ASSIGNED TIMESERIES"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="ParametricVarSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="HorizonDays" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ConfidenceInterval" type="xsd:double"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RoundlotsSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="roundLotGeneral" type="xsd:int"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="applyRoundlotsToPortfolioHoldings" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="keepPortfolioValueConstant" type="xsd:boolean"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="countryRoundLots" type="bdt:countryRoundLotsType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="assetLevelRoundLots" type="bdt:NameAndOwnerType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="countryRoundLotsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="countryCode" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="roundLot" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="StatisticsSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="MissingDataValue" type="bdt:MissingDataValueType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MeanCalculation" type="bdt:MeanCalculationType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TreatOutliers" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="OutlierTreatment" type="bdt:OutlierTreatmentType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="OutlierStdDevs" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="MissingDataValueType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ZERO"/>
          <xsd:enumeration value="IGNORE"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="MeanCalculationType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Weighted Average"/>
          <xsd:enumeration value="Equal Weighted"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="OutlierTreatmentType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="WINSORIZE"/>
          <xsd:enumeration value="IGNORE"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="MiscSettingsType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ApplyBarraCapitalAdjusts" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ApplyPeerSpecificRiskCalc" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughComposites" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughEtf" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughEif" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughFxForwardsOrFxFuture" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughEquityOption" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughTotalReturnSwap" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="LookThroughStyle" type="bdt:LookThroughStyleType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RiskAversion" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="DefaultOptimizationProfile" type="bdt:NameAndOwnerType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BenchmarkHedgePercentage" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BenchmarkHedgeCurrencyName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioHedgePercentage" type="xsd:double"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioHedgeCurrencyName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MaxTopPolicyLimit" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="LookThroughStyleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Collapse All"/>
          <xsd:enumeration value="Don't Collapse"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="SharingRuleType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Private"/>
          <xsd:enumeration value="Public"/>
          <xsd:enumeration value="Workgroup_Permissions"/>
        </xsd:restriction>
      </xsd:simpleType>
      <!-- Delete BPM Analysis Setting !-->
      <xsd:element name="DeleteAnalysisSettingRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="AnalysisSettingOwner" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="DeleteAnalysisSettingResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeleteAnalysisSettingResult" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="StatusValue" type="xsd:int"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SubmitExtendCFAJobRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExtendCFAJobParams" type="bdt:CFADefinition"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CFADefinition">
        <xsd:attributeGroup ref="bdt:NameAndOwner"/>
        <xsd:attribute name="EndDate" type="xsd:date" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="OverrideHvrDefinitionParams">
        <xsd:sequence>

          <xsd:element maxOccurs="1" minOccurs="0" name="Portfolios" type="bdt:HvrPortfolios"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SharedSettings" type="bdt:SharedSettings"/>

        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SharedSettings">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="AnalysisSettings" type="bdt:InputAnalysisSettings"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TimeSeriesSettings" type="bdt:InputTimeSeriesSettings"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="TrailingRiskReportOption" type="bdt:TrailingRiskReportOption"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="TrailingRiskReportOption">
        <xsd:attribute default="false" name="SetTrailingRiskReportOption" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="NumberOfPeriod" type="xsd:int" use="optional"/>
        <xsd:attribute name="PeriodFrequency" type="bdt:EnumFrequency" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="EnumFrequency">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DAYS"/>
          <xsd:enumeration value="WEEKS"/>
          <xsd:enumeration value="MONTHS"/>
          <xsd:enumeration value="YEARS"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="HvrPortfolios">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="Portfolio" type="bdt:HvrPortfolio"/>
        </xsd:sequence>
        <xsd:attribute default="true" name="OverrideCompletely" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="HvrPortfolio">
        <xsd:attributeGroup ref="bdt:NameAndOwner"/>
        <xsd:attribute default="ENABLE" name="Status" type="bdt:EnumStatus" use="optional"/>
        <xsd:attribute default="false" name="IsComposite" type="xsd:boolean" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="EnumStatus">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="ENABLE"/>
          <xsd:enumeration value="DISABLE"/>
          <xsd:enumeration value="REMOVE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="SubmitHVRJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="JobId" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="SubmitExtendCFAJobResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="JobId" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="StartDate" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="EndDate" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <!-- Generic CP API request definition -->
      <xsd:element name="CPAPIRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="Content" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <!-- Generic CP API response definition -->
      <xsd:element name="CPAPIResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="Content" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>



      <xsd:simpleType name="SystemOperationType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CLEAR_CACHES"/>
          <xsd:enumeration value="FREE_FORM"/>
          <xsd:enumeration value="INVALIDATE_REDIS_POOL_CONFIGURATION"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="DcsDatabase">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VENDOR"/>
          <xsd:enumeration value="RMD"/>
          <xsd:enumeration value="FIVAL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="QueryOpertionType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="CHECKSUM"/>
          <xsd:enumeration value="CSVFILE"/>
        </xsd:restriction>
      </xsd:simpleType>



      <xsd:element name="ImportExportStressTestScenarioRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ImportExportStressTestScenarioInputParam" type="bdt:ImportExportStressTestScenarioInputParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ImportExportStressTestScenarioInputParam">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ScenarioName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="ScenarioOwner" type="xsd:string"/>
          <xsd:element default="STRESS_TEST_SHOCK" maxOccurs="1" minOccurs="0" name="ImportExportScenarioType" type="bdt:ImportExportScenarioTypeEnumTYPE"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PropagationToolParameters" type="bdt:PropagationToolParametersType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PropagationToolParametersType">
        <xsd:attribute name="AnalysisDate" type="xsd:date" use="required"/>
        <xsd:attribute default="FACTOR_SCENARIO" name="OutputScenario" type="bdt:OutputScenarioEnumTYPE" use="optional"/>
        <xsd:attribute name="OutputScenarioName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="OutputScenarioEnumTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FACTOR_SCENARIO"/>
          <xsd:enumeration value="MARKET_SCENARIO"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="ImportExportScenarioTypeEnumTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="STRESS_TEST_SHOCK"/>
          <xsd:enumeration value="DEFAULT_ASSUMPTIONS"/>
          <xsd:enumeration value="REBALANCE_PROFILE"/>
          <xsd:enumeration value="INFLATION_ADJUSTMENT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="ImportExportStressTestScenarioResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ImportExportStressTestScenarioOutputParam" type="bdt:ImportExportStressTestScenarioOutputParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ImportExportStressTestScenarioOutputParam">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ImportExportStressTestScenarioObject" type="bdt:ImportExportStressTestScenario"/>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="FactorGroupExportRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="FactorGroupExportInputParam" type="bdt:FactorGroupExportInputParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="FactorGroupExportInputParam">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="FactorGroupingSchemeName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="RiskModel" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="FactorType" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="FactorGroupExportResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="FactorGroupExportOutputParams" type="bdt:FactorGroupExportOutputParams"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="FactorGroupExportOutputParams">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="FactorGroups" type="bdt:FactorGroupsType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="ExportFactorTreeRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportFactorTreeRequestParam" type="bdt:ExportFactorTreeRequestParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ExportFactorTreeRequestParam">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="RiskModel" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="1" name="FactorTreeName" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="ExportFactorTreeResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ExportFactorTreeResponseParam" type="bdt:ExportFactorTreeResponseParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:complexType name="ExportFactorTreeResponseParam">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="FactorTree" type="bdt:FactorTreeTYPE"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="MissingFactors" type="bdt:MissingFactorsTYPE"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MissingFactorsTYPE">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="MissingFactor" type="bdt:MissingFactorTYPE"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="MissingFactorTYPE">
        <xsd:attribute name="MissingFactorName" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:element name="FetchStressTestScenarioDataRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="FetchStressTestScenarioDataInputParam" type="bdt:FetchStressTestScenarioDataInputParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="FetchStressTestScenarioDataInputParam">
        <xsd:sequence>
          <xsd:choice maxOccurs="1" minOccurs="1">
            <xsd:element maxOccurs="1" minOccurs="0" name="Shocks" type="bdt:ScenarioEnum"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Markets" type="bdt:MarketsTYPE"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="FilterAttributes" type="bdt:FilterAttributesTYPE"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="FilterValues" type="bdt:FilterValuesTYPE"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="ShockVariables" type="bdt:ShockVariablesTYPE"/>
          </xsd:choice>
        </xsd:sequence>
        <xsd:attribute name="FetchDataType" type="bdt:FetchDataTypeEnumTYPE" use="required"/>
        <xsd:attribute name="AnalysisDate" type="xsd:date" use="optional"/>
        <xsd:attribute default="MAC.L" name="RiskModel" type="xsd:string" use="optional"/>
        <xsd:attribute name="CreditMarket" type="bdt:CreditMarketEnumTYPE" use="required"/>
      </xsd:complexType>

      <xsd:simpleType name="FetchDataTypeEnumTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GET_SHOCKS_DATA"/>
          <xsd:enumeration value="GET_MARKETS_DATA"/>
          <xsd:enumeration value="GET_FILTER_ATTRIBUTES_DATA"/>
          <xsd:enumeration value="GET_FILTER_VALUES_DATA"/>
          <xsd:enumeration value="GET_ALL_DATA"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="CreditMarketEnumTYPE">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COUNTRY"/>
          <xsd:enumeration value="CURRENCY"/>
          <xsd:enumeration value="FACTOR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="FetchStressTestScenarioDataResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="FetchStressTestScenarioDataOutputParam" type="bdt:FetchStressTestScenarioDataOutputParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="FetchStressTestScenarioDataOutputParam">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="Markets" type="bdt:MarketsTYPE"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FilterAttributes" type="bdt:FilterAttributesTYPE"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FilterValues" type="bdt:FilterValuesTYPE"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ShockVariables" type="bdt:ShockVariablesTYPE"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ScenarioMarketValuesType" type="bdt:ScenarioMarketValuesBaseType"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PrivateCredits">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PrivateCreditStrategy" type="bdt:ProxyPrivateCredit"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PrivateCreditLoan" type="bdt:BankLoanPrivateCredit"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SyndicateLoanPrivateCredit" type="bdt:SyndicateLoanPrivateCredit"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PrivateCreditAsset" type="bdt:PrivateCreditAsset"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ProxyPrivateCredit">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrivateCreditAttributes" type="bdt:PrivateCreditAttributes"/>
            </xsd:sequence>
            <xsd:attribute name="Region" type="bdt:PrivateCreditRegion" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:simpleType name="PrivateCreditStrategy">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SENIOR_DIRECT_LENDING"/>
          <xsd:enumeration value="SUBORDINATED_DIRECT_LENDING"/>
          <xsd:enumeration value="OPPORTUNISTIC"/>
          <xsd:enumeration value="SENIOR_REAL_ESTATE_DEBT"/>
          <xsd:enumeration value="SUBORDINATED_REAL_ESTATE_DEBT"/>
          <xsd:enumeration value="FINANCIAL_ASSETS"/>
          <xsd:enumeration value="OTHER_ASSET_BACKED"/>
          <xsd:enumeration value="DISTRESSED_DEBT"/>
          <xsd:enumeration value="INFRASTRUCTURE"/>
          <xsd:enumeration value="REAL_ESTATE_DEBT"/>
          <xsd:enumeration value="ALL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PrivateCreditSector">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="COND"/>
          <xsd:enumeration value="CONS"/>
          <xsd:enumeration value="ENGY"/>
          <xsd:enumeration value="FIN"/>
          <xsd:enumeration value="HLTH"/>
          <xsd:enumeration value="IND"/>
          <xsd:enumeration value="MAT"/>
          <xsd:enumeration value="TECH"/>
          <xsd:enumeration value="TEL"/>
          <xsd:enumeration value="TRANS"/>
          <xsd:enumeration value="UTL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PrivateCreditCreditRating">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="IG"/>
          <xsd:enumeration value="HY"/>
          <xsd:enumeration value="AAA"/>
          <xsd:enumeration value="AA"/>
          <xsd:enumeration value="A"/>
          <xsd:enumeration value="BBB"/>
          <xsd:enumeration value="BB"/>
          <xsd:enumeration value="B"/>
          <xsd:enumeration value="CCC"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PrivateCreditCouponType">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FIXED"/>
          <xsd:enumeration value="VARIABLE"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="PrivateCreditRegion">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NORTH_AMERICA"/>
          <xsd:enumeration value="EUROPE"/>
          <xsd:enumeration value="ASIA"/>
          <xsd:enumeration value="DIVERSIFIED_REGION"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="BankLoanPrivateCredit">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="BankLoan" type="bdt:BankLoan"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLCallSchedule" type="bdt:BLCallSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLCurrentRateSchedule" type="bdt:BLCurrentRateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLAmortizationSchedule" type="bdt:BLAmortizationSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLRefinanceFeeSchedule" type="bdt:BLRefinanceFeeSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLRevolvingLoanInputs" type="bdt:BLRevolvingLoanInputs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLPricingInputs" type="bdt:BLPricingInputs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLLiborFallback" type="bdt:BLLiborFallback"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrivateCreditAttributes" type="bdt:PrivateCreditAttributes"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SyndicateLoanPrivateCredit">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SyndicatedLoan" type="bdt:SyndicatedLoan"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RatingSchedule" type="bdt:RatingSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="AmountOutstandingSchedule" type="bdt:AmountOutstandingSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SinkSchedule" type="bdt:SinkSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CallSchedule" type="bdt:CallSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="CouponRateSchedule" type="bdt:CouponRateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="PutSchedule" type="bdt:PutSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrivateCreditAttributes" type="bdt:PrivateCreditAttributes"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PrivateCreditAsset">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrivateCredit" type="bdt:PrivateCredit"/>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="PrivateCreditAttributes" type="bdt:PrivateCreditAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="LoanAttributes" type="bdt:LoanAttributes"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLCallSchedule" type="bdt:BLCallSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLCurrentRateSchedule" type="bdt:BLCurrentRateSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLAmortizationSchedule" type="bdt:BLAmortizationSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLRefinanceFeeSchedule" type="bdt:BLRefinanceFeeSchedule"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLRevolvingLoanInputs" type="bdt:BLRevolvingLoanInputs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLPricingInputs" type="bdt:BLPricingInputs"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BLLiborFallback" type="bdt:BLLiborFallback"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="PrivateCredit">
        <xsd:complexContent>
          <xsd:extension base="bdt:BaseInstrument">
            <xsd:attribute name="InstrumentType" type="xsd:string" use="required"/>
            <xsd:attribute name="Approach" type="xsd:string" use="required"/>
            <xsd:attribute name="Region" type="bdt:PrivateCreditRegion" use="required"/>
            <xsd:attribute name="Currency" type="xsd:string" use="required"/>
            <xsd:attribute name="Country" type="xsd:string" use="required"/>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>

      <xsd:complexType name="PrivateCreditAttributes">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:date" use="required"/>
        <xsd:attribute name="Strategy" type="bdt:PrivateCreditStrategy" use="required"/>
        <xsd:attribute name="Sector" type="bdt:PrivateCreditSector" use="optional"/>
        <xsd:attribute name="CouponType" type="bdt:PrivateCreditCouponType" use="optional"/>
        <xsd:attribute name="CreditRating" type="bdt:PrivateCreditCreditRating" use="optional"/>
        <xsd:attribute name="ProxyPortfolio" type="xsd:string" use="optional"/>
        <xsd:attribute name="ProxyPortfolioOwner" type="xsd:string" use="optional"/>
        <xsd:attribute name="ProxyPortfolioBeta" type="xsd:double" use="optional"/>
        <xsd:attribute name="Leverage" type="xsd:double" use="optional"/>
        <xsd:attribute name="SpecificRisk" type="xsd:double" use="optional"/>
        <xsd:attribute name="CommonFactorRiskScalar" type="xsd:double" use="optional"/>
        <xsd:attribute name="PrivateFactorRiskScalar" type="xsd:double" use="optional"/>
        <xsd:attribute name="SpecificRiskScalar" type="xsd:double" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="LoanAttributes">
        <xsd:attribute name="ID" type="xsd:string" use="required"/>
        <xsd:attribute name="IDType" type="xsd:string" use="required"/>
        <xsd:attribute name="Issuer" type="xsd:string" use="optional"/>
        <xsd:attribute name="IssuerShortName" type="xsd:string" use="optional"/>
        <xsd:attribute name="NotionalAmount" type="xsd:double" use="required"/>
        <xsd:attribute name="CouponType" type="xsd:string" use="optional"/>
        <xsd:attribute name="FixedCoupon" type="xsd:double" use="optional"/>
        <xsd:attribute name="RisklessCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="ReferenceCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="SpreadCurve" type="xsd:string" use="optional"/>
        <xsd:attribute name="OriginationDate" type="xsd:date" use="required"/>
        <xsd:attribute name="MaturityDate" type="xsd:date" use="required"/>
        <xsd:attribute name="FirstPaymentDate" type="xsd:date" use="optional"/>
        <xsd:attribute name="CouponFrequency" type="xsd:string" use="optional"/>
        <xsd:attribute name="CouponSpread" type="xsd:double" use="optional"/>
        <xsd:attribute name="CouponFloor" type="xsd:double" use="optional"/>
        <xsd:attribute name="DayCountBasis" type="xsd:string" use="optional"/>
        <xsd:attribute name="LienType" type="xsd:string" use="optional"/>
        <xsd:attribute name="FacilityType" type="xsd:string" use="optional"/>
        <xsd:attribute name="SpreadBeta" type="xsd:double" use="optional"/>
        <xsd:attribute name="SettlementPeriod" type="xsd:string" use="optional"/>
        <xsd:attribute name="Sector" type="xsd:string" use="optional"/>
        <xsd:attribute name="SubSector" type="xsd:string" use="optional"/>
        <xsd:attribute name="Rating" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="MarketsTYPE">
        <xsd:attribute name="Type" type="xsd:string" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="FilterAttributesTYPE">
        <xsd:attribute name="Type" type="xsd:string" use="required"/>
        <xsd:attribute name="Market" type="xsd:string" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="FilterValuesTYPE">
        <xsd:attribute name="Type" type="xsd:string" use="required"/>
        <xsd:attribute name="Market" type="xsd:string" use="required"/>
        <xsd:attribute name="FilterAttribute" type="xsd:string" use="required"/>
      </xsd:complexType>
      <xsd:complexType name="ShockVariablesTYPE">
        <xsd:attribute name="Type" type="xsd:string" use="required"/>
        <xsd:attribute name="Market" type="xsd:string" use="required"/>
        <xsd:attribute name="FilterAttribute" type="xsd:string" use="required"/>
        <xsd:attribute name="FilterValue" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="GetAvailableColumnsRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element name="GetAvailableColumnsRequestParam" type="bdt:GetAvailableColumnsRequestParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <!-- Added for future Input request param reference -->
      <xsd:complexType name="GetAvailableColumnsRequestParam">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="SearchCriteria" type="xsd:string"/>
          <xsd:element name="RiskModel" type="bdt:RiskModel"/>
          <xsd:element default="RISK_DECOMPOSITION" maxOccurs="1" minOccurs="0" name="ReportName" type="bdt:ReportNameEnum"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RiskModel">
        <xsd:attribute default="MAC.L" name="ModelName" type="xsd:string" use="optional"/>
        <xsd:attribute default="SYSTEM" name="ModelOwner" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:simpleType name="ReportNameEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="RISK_DECOMPOSITION"/>
          <xsd:enumeration value="POSITION"/>
          <xsd:enumeration value="ALL"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:element name="GetAvailableColumnsResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="GetAvailableColumnsResponseParam" type="bdt:GetAvailableColumnsResponseParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetAvailableColumnsResponseParam">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="ColumnDetails" type="bdt:ColumnDetails"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="ColumnDetails">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="ColumnDetail" type="bdt:ColumnDetail"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:attributeGroup name="ColumnHeader">
        <xsd:attribute name="ColumnName" type="xsd:string" use="required"/>
        <xsd:attribute name="ColumnId" type="xsd:string" use="required"/>
      </xsd:attributeGroup>

      <xsd:complexType name="ColumnDetail">
        <xsd:attribute name="DisplayName" type="xsd:string"/>
        <xsd:attribute name="Parent" type="xsd:string"/>
        <xsd:attribute name="ShortName" type="xsd:string" use="optional"/>
        <xsd:attribute name="DataType" type="bdt:ColumnDataTypeEnum" use="optional"/>
        <xsd:attribute name="OwnerShortName" type="xsd:string"/>
        <xsd:attribute default="false" name="IsLeaf" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="IsEnabled" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="IsFormula" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="IsDerived" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="IsGroupable" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="IsGroupableSupportsUserSchemes" type="xsd:boolean" use="optional"/>
        <xsd:attribute default="false" name="IsGroupableSupportsDistinct" type="xsd:boolean" use="optional"/>
        <xsd:attribute name="Association" type="xsd:string" use="optional"/>
        <xsd:attribute name="AggregationMethod" type="xsd:string" use="optional"/>
        <xsd:attribute name="AttributeTypeCategory" type="bdt:AttributeTypeCategoryEnum" use="optional"/>
        <xsd:attributeGroup ref="bdt:ColumnHeader"/>
      </xsd:complexType>

      <xsd:simpleType name="ColumnDataTypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="BOOLEAN"/>
          <xsd:enumeration value="ENUMERATION"/>
          <xsd:enumeration value="DOUBLE"/>
          <xsd:enumeration value="INTEGER"/>
          <xsd:enumeration value="DATE"/>
          <xsd:enumeration value="STRING"/>
          <xsd:enumeration value="PERCENT"/>
          <xsd:enumeration value="DATETIME"/>
          <xsd:enumeration value="OBJECT"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="AttributeTypeCategoryEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SYSTEM"/>
          <xsd:enumeration value="CLIENT"/>
          <xsd:enumeration value="WORKGROUP"/>
          <xsd:enumeration value="USER"/>
        </xsd:restriction>
      </xsd:simpleType>


      <xsd:element name="GetColumnBucketingSchemesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetColumnBucketingSchemesRequestParam" type="bdt:GetColumnBucketingSchemesRequestParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetColumnBucketingSchemesRequestParam">
        <xsd:sequence>
          <xsd:element maxOccurs="100" minOccurs="1" name="ColumnId" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetColumnBucketingSchemesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetColumnBucketingSchemesResponseParam" type="bdt:GetColumnBucketingSchemesResponseParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetColumnBucketingSchemesResponseParam">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BucketingSchemeInfo" type="bdt:BucketingSchemeInfo"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BucketingSchemeInfo">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SchemeDetails" type="bdt:SchemeDetails"/>
        </xsd:sequence>
        <xsd:attribute name="ColumnId" type="xsd:string"/>
      </xsd:complexType>

      <xsd:complexType name="SchemeDetails">
        <xsd:attribute name="SchemeName" type="xsd:string"/>
        <xsd:attribute name="OwnerName" type="xsd:string"/>
        <xsd:attribute name="OwnerId" type="xsd:string"/>
        <xsd:attribute name="HasEditPermission" type="xsd:boolean"/>
      </xsd:complexType>

      <xsd:element name="GetFactorTreesRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:element name="GetFactorTreesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="GetFactorTreesResponseParam" type="bdt:GetFactorTreesResponseParam"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetFactorTreesResponseParam">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FactorTreeDetails" type="bdt:FactorTreeDetails"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="FactorTreeDetails">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="FactorTreeDetail" type="bdt:FactorTreeDetail"/>
        </xsd:sequence>
        <xsd:attribute name="Client" type="xsd:string"/>
        <xsd:attribute name="User" type="xsd:string"/>
      </xsd:complexType>

      <xsd:complexType name="FactorTreeDetail">
        <xsd:attribute name="FactorTreeId" type="xsd:string"/>
        <xsd:attribute name="FactorTreeName" type="xsd:string"/>
        <xsd:attribute name="FactorTreeOwner" type="xsd:string"/>
        <xsd:attribute name="ParentId" type="xsd:string"/>
        <xsd:attribute name="IsLeaf" type="xsd:boolean"/>
      </xsd:complexType>

      <xsd:complexType name="SelectiveLookThrough">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="SelectiveLTConfigDeletes" type="bdt:SelectiveLTConfigDeletes"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SelectiveLTConfigs" type="bdt:SelectiveLTConfigs"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:SelectiveLookThroughIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="SelectiveLTConfigDeletes">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SelectiveLTConfigDelete" type="bdt:SelectiveLTConfigDelete"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SelectiveLTConfigDelete">
        <xsd:attribute name="SelectiveLTListName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:attributeGroup name="SelectiveLookThroughIdentifier">
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="SelectiveLTConfigs">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SelectiveLTConfig" type="bdt:SelectiveLTConfig"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="SelectiveLTConfig">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="SelectiveLTAsset" type="bdt:SelectiveLTAsset"/>
        </xsd:sequence>
        <xsd:attribute name="SelectiveLTListName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="SelectiveLTAsset">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetIdType" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="BarraOneDeleteAssetData">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="BarraOneAssetDataDeletes" type="bdt:BarraOneAssetDataDeletes"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:BarraOneDeleteAssetDataIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="BarraOneAssetDataDeletes">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BarraOneAssetDataDelete" type="bdt:BarraOneAssetDataDelete"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BarraOneAssetDataDelete">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetIdType" type="xsd:string" use="required"/>
        <xsd:attribute name="Date" type="xsd:string" use="required"/>
        <xsd:attribute name="AttributeName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:attributeGroup name="BarraOneDeleteAssetDataIdentifier">
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:complexType name="DeleteRMLOverrideAttribute">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="RMLOverrideAttributeDeletes" type="bdt:RMLOverrideAttributeDeletes"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:DeleteRMLOverrideAttributeIdentifier"/>
      </xsd:complexType>

      <xsd:complexType name="RMLOverrideAttributeDeletes">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RMLOverrideAttributeDelete" type="bdt:RMLOverrideAttributeDelete"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="RMLOverrideAttributeDelete">
        <xsd:attribute name="AssetId" type="xsd:string" use="required"/>
        <xsd:attribute name="AssetIdType" type="xsd:string" use="required"/>
        <xsd:attribute name="OverrideDate" type="xsd:string" use="required"/>
        <xsd:attribute default="AssetRMLOverrideAttribute" name="RMLOverrideAttributeName" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:attributeGroup name="DeleteRMLOverrideAttributeIdentifier">
        <xsd:attribute name="Origin" type="xsd:string" use="optional"/>
        <xsd:attribute name="Owner" type="xsd:string" use="optional"/>
      </xsd:attributeGroup>

      <xsd:simpleType name="SliceTypesEnumValue">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Daily"/>
          <xsd:enumeration value="HalfMonthly"/>
          <xsd:enumeration value="Monthly"/>
          <xsd:enumeration value="Quarterly"/>
          <xsd:enumeration value="Yearly"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="SliceTypesToInvalidate">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="SliceTypes" type="bdt:SliceTypesEnumValue"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:simpleType name="VarProfileTypeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="HVaR"/>
          <xsd:enumeration value="MCVaR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:attributeGroup name="BaseVarProfileType">
        <xsd:attribute name="profileId" type="xsd:int"/>
        <xsd:attribute name="name" type="bdt:String64Length"/>
        <xsd:attribute name="holdingPeriod" type="xsd:int"/>
        <xsd:attribute name="confidenceLevel" type="xsd:double"/>
        <xsd:attribute name="numDataPoint" type="xsd:int"/>
        <xsd:attribute name="bEquity" type="xsd:boolean"/>
        <xsd:attribute name="bFX" type="xsd:boolean"/>
        <xsd:attribute name="bIR" type="xsd:boolean"/>
        <xsd:attribute name="bSpreads" type="xsd:boolean"/>
        <xsd:attribute name="bVega" type="xsd:boolean"/>
        <xsd:attribute name="bCommodities" type="xsd:boolean"/>
        <xsd:attribute name="bVaRDecomposition" type="xsd:boolean"/>
        <xsd:attribute name="thresholdValue" type="xsd:double"/>
        <xsd:attribute name="thresholdType" type="xsd:int"/>
        <xsd:attribute name="samplingPeriod" type="xsd:int"/>
        <xsd:attribute name="bApplyFloor" type="xsd:boolean"/>
      </xsd:attributeGroup>


      <xsd:simpleType name="HistoricalPeriodChoiceEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DATA_POINTS"/>
          <xsd:enumeration value="DAY_RANGE"/>
          <xsd:enumeration value="UNKNOWN"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:complexType name="HVarProfileType">
        <xsd:sequence>
          <xsd:element name="decayFactor" type="xsd:double"/>
          <xsd:element name="histPeriodChoice" type="bdt:HistoricalPeriodChoiceEnum"/>
          <xsd:element name="useAnalysisDate" type="xsd:boolean"/>
          <xsd:element name="startDate" type="xsd:string"/>
          <xsd:element minOccurs="0" name="endDate" type="xsd:string"/>
          <xsd:element name="window" type="xsd:int"/>
          <xsd:element name="bCalibration" type="xsd:boolean"/>
          <xsd:element name="shocks" type="xsd:int"/>
          <xsd:element name="isMAC" type="xsd:boolean"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:BaseVarProfileType"/>
      </xsd:complexType>

      <xsd:simpleType name="MCVaRMethodologyEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="FULLREVALUATION"/>
          <xsd:enumeration value="LINEAR"/>
        </xsd:restriction>
      </xsd:simpleType>

      <xsd:simpleType name="SecProdPoTModeEnum">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PARTIAL"/>
          <xsd:enumeration value="FULL"/>
          <xsd:enumeration value="NONE"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="MCVarProfileType">
        <xsd:sequence>
          <xsd:element name="modelId" type="xsd:int"/>
          <xsd:element name="bSpecificRisk" type="xsd:boolean"/>
          <xsd:element name="bRadialApprox" type="xsd:boolean"/>
          <xsd:element name="bPoT" type="xsd:boolean"/>
          <xsd:element name="marginalDistribution" type="xsd:int"/>
          <xsd:element name="copula" type="xsd:int"/>
          <xsd:element name="degreeFreedom" type="xsd:int"/>
          <xsd:element name="bUseScaling" type="xsd:boolean"/>
          <xsd:element name="seed" type="xsd:int"/>
          <xsd:element name="methodology" type="bdt:MCVaRMethodologyEnum"/>
          <xsd:element name="alpha" type="xsd:double"/>
          <xsd:element name="secProdPoTMode" type="bdt:SecProdPoTModeEnum"/>
        </xsd:sequence>
        <xsd:attributeGroup ref="bdt:BaseVarProfileType"/>
      </xsd:complexType>

      <xsd:complexType name="VaRProfileType">
        <xsd:choice maxOccurs="1" minOccurs="1">
          <xsd:element maxOccurs="1" minOccurs="0" name="hVarProfile" type="bdt:HVarProfileType"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="mcVarProfile" type="bdt:MCVarProfileType"/>
        </xsd:choice>
      </xsd:complexType>




      <xsd:element name="ModifyGroupingSchemeUniverseRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GroupingSchemeUniverse" type="bdt:GroupingSchemeUniverse"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GroupingSchemeUniverse">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="AddSchemes" type="bdt:AddSchemes"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RemoveSchemes" type="bdt:RemoveSchemes"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddSchemes">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingSchemes" type="bdt:GroupingSchemeModelParamType"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="RemoveSchemes">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingSchemes" type="bdt:GroupingSchemeModelParamType"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="GroupingSchemeModelParamType">
        <xsd:attribute name="GroupingRule" type="xsd:string" use="required"/>
        <xsd:attribute name="AttributeName" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:element name="ModifyGroupingSchemeUniverseResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="ModifyGroupingSchemeUniverseResponseParam" type="bdt:ModifyGroupingSchemeUniverseResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="ModifyGroupingSchemeUniverseResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="ModifyGroupingSchemeUniverseResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:complexType name="NamedRebalanceProfile">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="0" name="RebalanceProfileName" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="RebalanceProfile" type="xsd:string"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="Overwrite" type="xsd:boolean"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="RebalanceParam" type="bdt:AttributesArgsType"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="BasicConstraints" type="bdt:AttributesArgsType"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="OneDConstraints" type="bdt:AttributesArgsArrayType"/>
          <xsd:element maxOccurs="unbounded" minOccurs="0" name="TwoDConstraints" type="bdt:AttributesArgsArrayType"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:element name="CreateGroupingHierarchyRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GroupingHierarchyName" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GroupingHierarchyParam" type="bdt:GroupingHierarchyParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GroupingHierarchyParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingSchemes" type="bdt:GroupingSchemeType"/>
        </xsd:sequence>
        <xsd:attribute name="MacGroupingSchemeName" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:complexType name="GroupingSchemeType">
        <xsd:attribute name="AssetClass" type="xsd:string" use="optional"/>
        <xsd:attribute name="Attribute" type="xsd:string" use="optional"/>
        <xsd:attribute name="GroupingRule" type="xsd:string" use="optional"/>
      </xsd:complexType>

      <xsd:element name="CreateGroupingHierarchyResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="CreateGroupingHierarchyResponseParam" type="bdt:CreateGroupingHierarchyResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="CreateGroupingHierarchyResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="CreateGroupingHierarchyResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>


      <xsd:element name="DeleteGroupingHierarchyRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="1" name="GroupingHierarchyNames" type="bdt:GroupingHierarchyNames"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GroupingHierarchyNames">
        <xsd:sequence>
          <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingHierarchy" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="DeleteGroupingHierarchyResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="1" name="DeleteGroupingHierarchyResponseParam" type="bdt:DeleteGroupingHierarchyResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="DeleteGroupingHierarchyResponseParamType">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="DeleteGroupingHierarchyResult" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:element name="GetGroupingSchemeUniverseRequest">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="1" minOccurs="0" name="User" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Client" type="xsd:string"/>
            <xsd:element maxOccurs="1" minOccurs="0" name="Password" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>


      <xsd:element name="GetGroupingSchemeUniverseResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element maxOccurs="unbounded" minOccurs="1" name="GroupingScheme" type="bdt:GetGroupingSchemeUniverseResponseParamType"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>

      <xsd:complexType name="GetGroupingSchemeUniverseResponseParamType">
        <xsd:attribute name="DisplayName" type="xsd:string" use="required"/>
        <xsd:attribute name="AttributeName" type="xsd:string" use="required"/>
        <xsd:attribute name="GroupingRule" type="xsd:string" use="required"/>
      </xsd:complexType>

      <xsd:complexType name="BatchReportPortfolioInfo">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="BenchmarkId" type="xsd:string"/>
          <xsd:element default="LEAF_NODES_ONLY" maxOccurs="1" minOccurs="0" name="NodeSelectionInfo" type="bdt:NodeSelectionInfo"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SpecificLevel" type="xsd:string"/>
          <xsd:element default="false" maxOccurs="1" minOccurs="0" name="StoreResult" type="xsd:boolean"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="PortfolioCurrency" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="BatchReportPortfolioExportData">
        <xsd:sequence>
          <xsd:element maxOccurs="1" minOccurs="1" name="PortfolioId" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SelectedPortfolioAttributeExportIds" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SelectedAssetAttributeExportIds" type="xsd:string"/>
          <xsd:element maxOccurs="1" minOccurs="0" name="SelectedUserAssetExportIds" type="xsd:string"/>
        </xsd:sequence>
      </xsd:complexType>







      <xsd:complexType name="ClientSettingType">
        <xsd:attribute name="SettingName" type="xsd:string" use="required"/>
        <xsd:attribute name="SettingValue" type="xsd:string" use="required"/>
      </xsd:complexType>



    </xsd:schema>
  </types>
  <message name="SubmitExportJobWithScheduleInput">
    <part name="parameters" element="bdt:SubmitExportJobWithScheduleRequest">
    </part>
  </message>
  <message name="GetOptimizationSummaryReportOutput">
    <part name="parameters" element="bdt:GetOptimizationSummaryReportResponse">
    </part>
  </message>
  <message name="PASharedIndexRCDataAvailabilityForAnalysisSettingOutput">
    <part name="parameters" element="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingResponse">
    </part>
  </message>
  <message name="GetPortfolioAdminReportInput">
    <part name="parameters" element="bdt:GetPortfolioAdminReportRequest">
    </part>
  </message>
  <message name="DeletePAVizAnalysisSettingOutput">
    <part name="parameters" element="bdt:DeletePAVizAnalysisSettingResponse">
    </part>
  </message>
  <message name="CreateReportScheduleOutput">
    <part name="parameters" element="bdt:CreateReportScheduleResponse">
    </part>
  </message>
  <message name="SubmitRebalanceJobOutput">
    <part name="parameters" element="bdt:SubmitRebalanceJobResponse">
    </part>
  </message>
  <message name="SubmitImportJobInput">
    <part name="parameters" element="bdt:SubmitImportJobRequest">
    </part>
  </message>
  <message name="CreateReportScheduleInput">
    <part name="parameters" element="bdt:CreateReportScheduleRequest">
    </part>
  </message>
  <message name="SubmitOptimizationJobInput">
    <part name="parameters" element="bdt:SubmitOptimizationJobRequest">
    </part>
  </message>
  <message name="GetRebalanceTradeListInput">
    <part name="parameters" element="bdt:GetRebalanceTradeListRequest">
    </part>
  </message>
  <message name="GetReportParametersInput">
    <part name="parameters" element="bdt:GetReportParametersRequest">
    </part>
  </message>
  <message name="ExportFactorTreeOutput">
    <part name="parameters" element="bdt:ExportFactorTreeResponse">
    </part>
  </message>
  <message name="ModifyGroupingSchemeUniverseInput">
    <part name="parameters" element="bdt:ModifyGroupingSchemeUniverseRequest">
    </part>
  </message>
  <message name="GetOptimizationInputFilesOutput">
    <part name="parameters" element="bdt:GetOptimizationInputFilesResponse">
    </part>
  </message>
  <message name="CreateTimeSeriesSettingsOutput">
    <part name="parameters" element="bdt:CreateTimeSeriesSettingsResponse">
    </part>
  </message>
  <message name="GetRebalanceOptimalWeightsInput">
    <part name="parameters" element="bdt:GetRebalanceOptimalWeightsRequest">
    </part>
  </message>
  <message name="CancelExportJobOutput">
    <part name="parameters" element="bdt:CancelExportJobResponse">
    </part>
  </message>
  <message name="DeleteTimeSeriesSettingsInput">
    <part name="parameters" element="bdt:DeleteTimeSeriesSettingsRequest">
    </part>
  </message>
  <message name="CreateGroupingHierarchyInput">
    <part name="parameters" element="bdt:CreateGroupingHierarchyRequest">
    </part>
  </message>
  <message name="SubmitDynamicExportJobInput">
    <part name="parameters" element="bdt:SubmitDynamicExportJobRequest">
    </part>
  </message>
  <message name="DeleteAttributeOutput">
    <part name="parameters" element="bdt:DeleteAttributeResponse">
    </part>
  </message>
  <message name="DeleteTimeSeriesSettingsOutput">
    <part name="parameters" element="bdt:DeleteTimeSeriesSettingsResponse">
    </part>
  </message>
  <message name="GetOptimizationJobStatusInput">
    <part name="parameters" element="bdt:GetOptimizationJobStatusRequest">
    </part>
  </message>
  <message name="RetrieveTemplateReportsInput">
    <part name="parameters" element="bdt:RetrieveTemplateReportsRequest">
    </part>
  </message>
  <message name="GetImportJobLogInput">
    <part name="parameters" element="bdt:GetImportJobLogRequest">
    </part>
  </message>
  <message name="CreateGroupingHierarchyOutput">
    <part name="parameters" element="bdt:CreateGroupingHierarchyResponse">
    </part>
  </message>
  <message name="SubmitAssetProfileJobInput">
    <part name="parameters" element="bdt:SubmitAssetProfileJobRequest">
    </part>
  </message>
  <message name="SubmitFlexExportJobInput">
    <part name="parameters" element="bdt:SubmitFlexExportJobRequest">
    </part>
  </message>
  <message name="PAListAnalysisSettingsOutput">
    <part name="parameters" element="bdt:PAListAnalysisSettingsResponse">
    </part>
  </message>
  <message name="GetOptimizationTradeListOutput">
    <part name="parameters" element="bdt:GetOptimizationTradeListResponse">
    </part>
  </message>
  <message name="GetColumnBucketingSchemesInput">
    <part name="parameters" element="bdt:GetColumnBucketingSchemesRequest">
    </part>
  </message>
  <message name="CreateTimeSeriesSettingsInput">
    <part name="parameters" element="bdt:CreateTimeSeriesSettingsRequest">
    </part>
  </message>
  <message name="CreateAttributesInput">
    <part name="parameters" element="bdt:CreateAttributesRequest">
    </part>
  </message>
  <message name="GetPAVizJobStatusAndErrorDetailsOutput">
    <part name="parameters" element="bdt:GetPAVizJobStatusAndErrorDetailsResponse">
    </part>
  </message>
  <message name="GetAssetLevelReportFileNamesOutput">
    <part name="parameters" element="bdt:GetAssetLevelReportFileNamesResponse">
    </part>
  </message>
  <message name="DeleteAttributeInput">
    <part name="parameters" element="bdt:DeleteAttributeRequest">
    </part>
  </message>
  <message name="GetAssetLevelReportOutput">
    <part name="parameters" element="bdt:GetAssetLevelReportResponse">
    </part>
  </message>
  <message name="GetPAAssetSelReportsInput">
    <part name="parameters" element="bdt:GetPAAssetSelReportsRequest">
    </part>
  </message>
  <message name="GetRebalanceStatisticsInput">
    <part name="parameters" element="bdt:GetRebalanceStatisticsRequest">
    </part>
  </message>
  <message name="SubmitPAVisualizationJobInput">
    <part name="parameters" element="bdt:SubmitPAVisualizationJobRequest">
    </part>
  </message>
  <message name="GetImportJobLogCSVOutput">
    <part name="parameters" element="bdt:GetImportJobLogCSVResponse">
    </part>
  </message>
  <message name="GetJobPerformanceInfoOutput">
    <part name="parameters" element="bdt:GetJobPerformanceInfoResponse">
    </part>
  </message>
  <message name="DeletePortfolioGroupOutput">
    <part name="parameters" element="bdt:DeletePortfolioGroupResponse">
    </part>
  </message>
  <message name="GetFactorTreesInput">
    <part name="parameters" element="bdt:GetFactorTreesRequest">
    </part>
  </message>
  <message name="GetAssetProfileJobStatusOutput">
    <part name="parameters" element="bdt:GetAssetProfileJobStatusResponse">
    </part>
  </message>
  <message name="SubmitExportJobInputV2">
    <part name="parameters" element="bdt:SubmitExportJobRequestV2">
    </part>
  </message>
  <message name="FetchStressTestScenarioDataInput">
    <part name="parameters" element="bdt:FetchStressTestScenarioDataRequest">
    </part>
  </message>
  <message name="GetCurrentVersionInput">
    <part name="parameters" element="bdt:GetCurrentVersionRequest">
    </part>
  </message>
  <message name="SubmitPAVizInvalidationRequestOutput">
    <part name="parameters" element="bdt:SubmitPAVizInvalidationResponse">
    </part>
  </message>
  <message name="SubmitDynamicExportJobOutput">
    <part name="parameters" element="bdt:SubmitDynamicExportJobResponse">
    </part>
  </message>
  <message name="ListSupportedReportsInput">
    <part name="parameters" element="bdt:ListSupportedReportsRequest">
    </part>
  </message>
  <message name="SubmitImportJobOutput">
    <part name="parameters" element="bdt:SubmitImportJobResponse">
    </part>
  </message>
  <message name="CancelExportJobInput">
    <part name="parameters" element="bdt:CancelExportJobRequest">
    </part>
  </message>
  <message name="GetExportJobInput">
    <part name="parameters" element="bdt:GetExportJobRequest">
    </part>
  </message>
  <message name="GetPAAllocSelReportsInput">
    <part name="parameters" element="bdt:GetPAAllocSelReportsRequest">
    </part>
  </message>
  <message name="CreatePAVizAnalysisSettingInput">
    <part name="parameters" element="bdt:CreatePAVizAnalysisSettingRequest">
    </part>
  </message>
  <message name="GetVisualizationJobReportsOutput2ADB">
    <part name="parameters" element="bdt:GetVisualizationJobResponse2ADB">
    </part>
  </message>
  <message name="GetAssetCoverageInput">
    <part name="parameters" element="bdt:GetAssetCoverageRequest">
    </part>
  </message>
  <message name="ListOptimizationJobsInput">
    <part name="parameters" element="bdt:ListOptimizationJobsRequest">
    </part>
  </message>
  <message name="GetEstimationStatusInput">
    <part name="parameters" element="bdt:GetEstimationStatusRequest">
    </part>
  </message>
  <message name="GetGroupingSchemeUniverseInput">
    <part name="parameters" element="bdt:GetGroupingSchemeUniverseRequest">
    </part>
  </message>
  <message name="GetBfmRegressorsOutput">
    <part name="parameters" element="bdt:GetBfmRegressorsResponse">
    </part>
  </message>
  <message name="RetrieveReportsOutput">
    <part name="parameters" element="bdt:RetrieveReportsResponse">
    </part>
  </message>
  <message name="SubmitBbgJobInput">
    <part name="parameters" element="bdt:SubmitBbgJobRequest">
    </part>
  </message>
  <message name="GetImportJobLogOutput">
    <part name="parameters" element="bdt:GetImportJobLogResponse">
    </part>
  </message>
  <message name="GetEfficientFrontierSummaryOutput">
    <part name="parameters" element="bdt:GetEfficientFrontierSummaryResponse">
    </part>
  </message>
  <message name="SubmitHVRJobOutput">
    <part name="parameters" element="bdt:SubmitHVRJobResponse">
    </part>
  </message>
  <message name="GetBFMProcessingStatusInput">
    <part name="parameters" element="bdt:GetBFMProcessingStatusRequest">
    </part>
  </message>
  <message name="CreateExportSetOutput">
    <part name="parameters" element="bdt:CreateExportSetResponse">
    </part>
  </message>
  <message name="SubmitExportJobOutputV2">
    <part name="parameters" element="bdt:SubmitExportJobResponseV2">
    </part>
  </message>
  <message name="RetrieveTemplateReportsOutput">
    <part name="parameters" element="bdt:RetrieveTemplateReportsResponse">
    </part>
  </message>
  <message name="GetFlexExportJobResultsInput">
    <part name="parameters" element="bdt:GetFlexExportJobResultsRequest">
    </part>
  </message>
  <message name="GetPAVizJobStatusAndErrorDetailsInput">
    <part name="parameters" element="bdt:GetPAVizJobStatusAndErrorDetailsRequest">
    </part>
  </message>
  <message name="SubmitBbgJobOutput">
    <part name="parameters" element="bdt:SubmitBbgJobResponse">
    </part>
  </message>
  <message name="CPAPICallInput">
    <part name="parameters" element="bdt:CPAPIRequest">
    </part>
  </message>
  <message name="StoreRiskModelOutput">
    <part name="parameters" element="bdt:StoreRiskModelResponse">
    </part>
  </message>
  <message name="GetOptimizationPositionReportInput">
    <part name="parameters" element="bdt:GetOptimizationPositionReportRequest">
    </part>
  </message>
  <message name="CreatePAVizAnalysisSettingOutput">
    <part name="parameters" element="bdt:CreatePAVizAnalysisSettingResponse">
    </part>
  </message>
  <message name="GetOptimizationJobStatusOutput">
    <part name="parameters" element="bdt:GetOptimizationJobStatusResponse">
    </part>
  </message>
  <message name="GetLatestHVRJobIdInput">
    <part name="parameters" element="bdt:GetLatestHVRJobIdRequest">
    </part>
  </message>
  <message name="DeleteExportJobScheduleInput">
    <part name="parameters" element="bdt:DeleteExportJobScheduleRequest">
    </part>
  </message>
  <message name="ModifyReportScheduleInput">
    <part name="parameters" element="bdt:ModifyReportScheduleRequest">
    </part>
  </message>
  <message name="DeleteReportScheduleInput">
    <part name="parameters" element="bdt:DeleteReportScheduleRequest">
    </part>
  </message>
  <message name="GetEstimationStatusOutput">
    <part name="parameters" element="bdt:GetEstimationStatusResponse">
    </part>
  </message>
  <message name="SubmitExportJobOutput">
    <part name="parameters" element="bdt:SubmitExportJobResponse">
    </part>
  </message>
  <message name="SubmitPAVisualizationJobOutput">
    <part name="parameters" element="bdt:SubmitPAVisualizationJobResponse">
    </part>
  </message>
  <message name="GetVisualizationJobReportsOutput">
    <part name="parameters" element="bdt:GetVisualizationJobResponse">
    </part>
  </message>
  <message name="SubmitHVRJobInput">
    <part name="parameters" element="bdt:SubmitHVRJobRequest">
    </part>
  </message>
  <message name="DeleteHVRJobDefOutput">
    <part name="parameters" element="bdt:DeleteHVRJobDefResponse">
    </part>
  </message>
  <message name="GetAssetCoverageOutput">
    <part name="parameters" element="bdt:GetAssetCoverageResponse">
    </part>
  </message>
  <message name="GetCurrentVersionOutput">
    <part name="parameters" element="bdt:GetCurrentVersionResponse">
    </part>
  </message>
  <message name="DeleteRebalanceJobInput">
    <part name="parameters" element="bdt:DeleteRebalanceJobRequest">
    </part>
  </message>
  <message name="ListSupportedReportsOutput">
    <part name="parameters" element="bdt:ListSupportedReportsResponse">
    </part>
  </message>
  <message name="ListImportJobsOutput">
    <part name="parameters" element="bdt:ListImportJobsResponse">
    </part>
  </message>
  <message name="GetLatestHVRJobIdOutput">
    <part name="parameters" element="bdt:GetLatestHVRJobIdResponse">
    </part>
  </message>
  <message name="GetEfficientFrontierSummaryInput">
    <part name="parameters" element="bdt:GetEfficientFrontierSummaryRequest">
    </part>
  </message>
  <message name="DeletePortfolioGroupInput">
    <part name="parameters" element="bdt:DeletePortfolioGroupRequest">
    </part>
  </message>
  <message name="GetAssetLevelReportInput">
    <part name="parameters" element="bdt:GetAssetLevelReportRequest">
    </part>
  </message>
  <message name="GetExportJobResponse">
    <part name="parameters" element="bdt:GetExportJobResponse">
    </part>
  </message>
  <message name="GetPAVizReportStatusOutput">
    <part name="parameters" element="bdt:GetPAVizReportStatusResponse">
    </part>
  </message>
  <message name="ListRebalanceJobsInput">
    <part name="parameters" element="bdt:ListRebalanceJobsRequest">
    </part>
  </message>
  <message name="CreateAnalysisSettingInput">
    <part name="parameters" element="bdt:CreateAnalysisSettingRequest">
    </part>
  </message>
  <message name="FactorGroupExportOutput">
    <part name="parameters" element="bdt:FactorGroupExportResponse">
    </part>
  </message>
  <message name="GetPAVisualizationJobStatusOutput">
    <part name="parameters" element="bdt:GetPAVisualizationJobStatusResponse">
    </part>
  </message>
  <message name="DeleteExportJobScheduleOutput">
    <part name="parameters" element="bdt:DeleteExportJobScheduleResponse">
    </part>
  </message>
  <message name="CreateOptimizationProfileInput">
    <part name="parameters" element="bdt:CreateOptimizationProfileRequest">
    </part>
  </message>
  <message name="DeleteReportScheduleOutput">
    <part name="parameters" element="bdt:DeleteReportScheduleResponse">
    </part>
  </message>
  <message name="FetchStressTestScenarioDataOutput">
    <part name="parameters" element="bdt:FetchStressTestScenarioDataResponse">
    </part>
  </message>
  <message name="SaveOptimizationPortfolioOutput">
    <part name="parameters" element="bdt:SaveOptimizationPortfolioResponse">
    </part>
  </message>
  <message name="ListPartnerLinkJobsInput">
    <part name="parameters" element="bdt:ListPartnerLinkJobsRequest">
    </part>
  </message>
  <message name="GetImportJobStatusInput">
    <part name="parameters" element="bdt:GetImportJobStatusRequest">
    </part>
  </message>
  <message name="GetRebalanceInputFilesOutput">
    <part name="parameters" element="bdt:GetRebalanceInputFilesResponse">
    </part>
  </message>
  <message name="ModifyReportScheduleOutput">
    <part name="parameters" element="bdt:ModifyReportScheduleResponse">
    </part>
  </message>
  <message name="GetFactorTreesOutput">
    <part name="parameters" element="bdt:GetFactorTreesResponse">
    </part>
  </message>
  <message name="DeleteExportSetInput">
    <part name="parameters" element="bdt:DeleteExportSetRequest">
    </part>
  </message>
  <message name="GetHvrReportsOutput">
    <part name="parameters" element="bdt:GetHvrReportsResponse">
    </part>
  </message>
  <message name="GetExportJobResponse2ADB">
    <part name="parameters" element="bdt:GetExportJobResponse2ADB">
    </part>
  </message>
  <message name="GetVisualizationJobLogsOutput">
    <part name="parameters" element="bdt:GetVisualizationJobLogsResponse">
    </part>
  </message>
  <message name="GetReportParametersOutput">
    <part name="parameters" element="bdt:GetReportParametersResponse">
    </part>
  </message>
  <message name="CreateExportSetInput">
    <part name="parameters" element="bdt:CreateExportSetRequest">
    </part>
  </message>
  <message name="GetImportJobLogCSVInput">
    <part name="parameters" element="bdt:GetImportJobLogCSVRequest">
    </part>
  </message>
  <message name="GetAvailableColumnsInput">
    <part name="parameters" element="bdt:GetAvailableColumnsRequest">
    </part>
  </message>
  <message name="GetExportJobStatusInput">
    <part name="parameters" element="bdt:GetExportJobStatusRequest">
    </part>
  </message>
  <message name="RetrieveExportSetInput">
    <part name="parameters" element="bdt:RetrieveExportSetRequest">
    </part>
  </message>
  <message name="GetRebalanceJobStatusOutput">
    <part name="parameters" element="bdt:GetRebalanceJobStatusResponse">
    </part>
  </message>
  <message name="GetReportJobStatusOutput">
    <part name="parameters" element="bdt:GetReportJobStatusResponse">
    </part>
  </message>
  <message name="CreateOptimizationProfileOutput">
    <part name="parameters" element="bdt:CreateOptimizationProfileResponse">
    </part>
  </message>
  <message name="GetReportJobStatusInput">
    <part name="parameters" element="bdt:GetReportJobStatusRequest">
    </part>
  </message>
  <message name="SubmitReportJobOutput">
    <part name="parameters" element="bdt:SubmitReportJobResponse">
    </part>
  </message>
  <message name="GetOptimizationSummaryReportInput">
    <part name="parameters" element="bdt:GetOptimizationSummaryReportRequest">
    </part>
  </message>
  <message name="SubmitPAVizInvalidationRequestInput">
    <part name="parameters" element="bdt:SubmitPAVizInvalidationRequest">
    </part>
  </message>
  <message name="ListPartnerLinkJobsOutput">
    <part name="parameters" element="bdt:ListPartnerLinkJobsResponse">
    </part>
  </message>
  <message name="SubmitOnDemandPAVizReportInput">
    <part name="parameters" element="bdt:SubmitOnDemandPAVizReportRequest">
    </part>
  </message>
  <message name="GetPAVizReportStatusInput">
    <part name="parameters" element="bdt:GetPAVizReportStatusRequest">
    </part>
  </message>
  <message name="GetAssetProfileJobResultsInput">
    <part name="parameters" element="bdt:GetAssetProfileJobResultsRequest">
    </part>
  </message>
  <message name="GetColumnBucketingSchemesOutput">
    <part name="parameters" element="bdt:GetColumnBucketingSchemesResponse">
    </part>
  </message>
  <message name="DeletePAVizAnalysisSettingInput">
    <part name="parameters" element="bdt:DeletePAVizAnalysisSettingRequest">
    </part>
  </message>
  <message name="SaveOptimizationPortfolioInput">
    <part name="parameters" element="bdt:SaveOptimizationPortfolioRequest">
    </part>
  </message>
  <message name="SubmitOnDemandPaVizReportOutput">
    <part name="parameters" element="bdt:SubmitOnDemandPAVizReportResponse">
    </part>
  </message>
  <message name="GetPartnerLinkFilesOutput">
    <part name="parameters" element="bdt:GetPartnerLinkFilesResponse">
    </part>
  </message>
  <message name="DeleteRebalanceJobOutput">
    <part name="parameters" element="bdt:DeleteRebalanceJobResponse">
    </part>
  </message>
  <message name="GetAssetLevelReportFileNamesInput">
    <part name="parameters" element="bdt:GetAssetLevelReportFileNamesRequest">
    </part>
  </message>
  <message name="DeleteGroupingHierarchyInput">
    <part name="parameters" element="bdt:DeleteGroupingHierarchyRequest">
    </part>
  </message>
  <message name="SubmitReportJobInput">
    <part name="parameters" element="bdt:SubmitReportJobRequest">
    </part>
  </message>
  <message name="GetBFMProcessingStatusOutput">
    <part name="parameters" element="bdt:GetBFMProcessingStatusResponse">
    </part>
  </message>
  <message name="GetPAAssetSelReportsOutput">
    <part name="parameters" element="bdt:GetPAAssetSelReportsResponse">
    </part>
  </message>
  <message name="GetExportJobStatusOutput">
    <part name="parameters" element="bdt:GetExportJobStatusResponse">
    </part>
  </message>
  <message name="PASharedIndexRCDataAvailabilityInput">
    <part name="parameters" element="bdt:PASharedIndexRCDataAvailabilityRequest">
    </part>
  </message>
  <message name="CreatePortfolioGroupInput">
    <part name="parameters" element="bdt:CreatePortfolioGroupRequest">
    </part>
  </message>
  <message name="GetAvailableColumnsOutput">
    <part name="parameters" element="bdt:GetAvailableColumnsResponse">
    </part>
  </message>
  <message name="SubmitExportJobInput">
    <part name="parameters" element="bdt:SubmitExportJobRequest">
    </part>
  </message>
  <message name="RetrieveReportsInput">
    <part name="parameters" element="bdt:RetrieveReportsRequest">
    </part>
  </message>
  <message name="GetReportScheduleOutput">
    <part name="parameters" element="bdt:GetReportScheduleResponse">
    </part>
  </message>
  <message name="GetRebalanceSummaryReportInput">
    <part name="parameters" element="bdt:GetRebalanceSummaryReportRequest">
    </part>
  </message>
  <message name="CreateAttributesOutput">
    <part name="parameters" element="bdt:CreateAttributesResponse">
    </part>
  </message>
  <message name="GetHvrReportsInput">
    <part name="parameters" element="bdt:GetHvrReportsRequest">
    </part>
  </message>
  <message name="SubmitExtendCFAJobInput">
    <part name="parameters" element="bdt:SubmitExtendCFAJobRequest">
    </part>
  </message>
  <message name="CreatePortfolioGroupOutput">
    <part name="parameters" element="bdt:CreatePortfolioGroupResponse">
    </part>
  </message>
  <message name="SubmitOptimizationJobOutput">
    <part name="parameters" element="bdt:SubmitOptimizationJobResponse">
    </part>
  </message>
  <message name="StoreRiskModelInput">
    <part name="parameters" element="bdt:StoreRiskModelRequest">
    </part>
  </message>
  <message name="GetPAVizReportFilterConfigOutput">
    <part name="parameters" element="bdt:GetPAVizReportFilterConfigResponse">
    </part>
  </message>
  <message name="UpdateHVRJobDefOutput">
    <part name="parameters" element="bdt:UpdateHVRJobDefResponse">
    </part>
  </message>
  <message name="ModifyPortfolioGroupInput">
    <part name="parameters" element="bdt:ModifyPortfolioGroupRequest">
    </part>
  </message>
  <message name="GetImportJobStatusOutput">
    <part name="parameters" element="bdt:GetImportJobStatusResponse">
    </part>
  </message>
  <message name="GetAnalysisSettingOutput">
    <part name="parameters" element="bdt:GetAnalysisSettingResponse">
    </part>
  </message>
  <message name="DeleteExportSetOutput">
    <part name="parameters" element="bdt:DeleteExportSetResponse">
    </part>
  </message>
  <message name="GetOptimizationPositionReportOutput">
    <part name="parameters" element="bdt:GetOptimizationPositionReportResponse">
    </part>
  </message>
  <message name="GetAssetProfileJobResultsOutput">
    <part name="parameters" element="bdt:GetAssetProfileJobResultsResponse">
    </part>
  </message>
  <message name="ListExportJobsOutput">
    <part name="parameters" element="bdt:ListExportJobsResponse">
    </part>
  </message>
  <message name="GetPortfolioAdminReportOutput">
    <part name="parameters" element="bdt:GetPortfolioAdminReportResponse">
    </part>
  </message>
  <message name="UpdateHVRJobDefInput">
    <part name="parameters" element="bdt:UpdateHVRJobDefRequest">
    </part>
  </message>
  <message name="PASharedIndexRCDataAvailabilityForAnalysisSettingInput">
    <part name="parameters" element="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingRequest">
    </part>
  </message>
  <message name="GetVisualizationJobReportsInput">
    <part name="parameters" element="bdt:GetVisualizationJobInput">
    </part>
  </message>
  <message name="DeleteOptimizationJobInput">
    <part name="parameters" element="bdt:DeleteOptimizationJobRequest">
    </part>
  </message>
  <message name="CreateHVRJobDefOutput">
    <part name="parameters" element="bdt:CreateHVRJobDefResponse">
    </part>
  </message>
  <message name="GetReportScheduleInput">
    <part name="parameters" element="bdt:GetReportScheduleRequest">
    </part>
  </message>
  <message name="ModifyGroupingSchemeUniverseOutput">
    <part name="parameters" element="bdt:ModifyGroupingSchemeUniverseResponse">
    </part>
  </message>
  <message name="GetPartnerLinkFilesInput">
    <part name="parameters" element="bdt:GetPartnerLinkFilesRequest">
    </part>
  </message>
  <message name="DeleteOptimizationJobOutput">
    <part name="parameters" element="bdt:DeleteOptimizationJobResponse">
    </part>
  </message>
  <message name="GetLatestAnalysisDatesOutput">
    <part name="parameters" element="bdt:GetLatestAnalysisDatesResponse">
    </part>
  </message>
  <message name="SubmitAssetProfileJobOutput">
    <part name="parameters" element="bdt:SubmitAssetProfileJobResponse">
    </part>
  </message>
  <message name="GetFlexExportJobResultsOutput">
    <part name="parameters" element="bdt:GetFlexExportJobResultsResponse">
    </part>
  </message>
  <message name="GetPAAllocSelReportsOutput">
    <part name="parameters" element="bdt:GetPAAllocSelReportsResponse">
    </part>
  </message>
  <message name="GetRebalanceStatisticsOutput">
    <part name="parameters" element="bdt:GetRebalanceStatisticsResponse">
    </part>
  </message>
  <message name="GetAnalysisSettingInput">
    <part name="parameters" element="bdt:GetAnalysisSettingRequest">
    </part>
  </message>
  <message name="SubmitExportJobWithScheduleOutput">
    <part name="parameters" element="bdt:SubmitExportJobWithScheduleResponse">
    </part>
  </message>
  <message name="GetAllUserDetailsOutput">
    <part name="parameters" element="bdt:GetAllUserDetailsResponse">
    </part>
  </message>
  <message name="GetOnDemandPAVizReportStatusInput">
    <part name="parameters" element="bdt:GetOnDemandPAVizReportStatusRequest">
    </part>
  </message>
  <message name="GetPAVizReportFilterConfigInput">
    <part name="parameters" element="bdt:GetPAVizReportFilterConfigRequest">
    </part>
  </message>
  <message name="RetrieveOptimizationProfileOutput">
    <part name="parameters" element="bdt:RetrieveOptimizationProfileResponse">
    </part>
  </message>
  <message name="GetJobPerformanceInfoInput">
    <part name="parameters" element="bdt:GetJobPerformanceInfoRequest">
    </part>
  </message>
  <message name="GetAssetProfileJobStatusInput">
    <part name="parameters" element="bdt:GetAssetProfileJobStatusRequest">
    </part>
  </message>
  <message name="SetPortfolioPermissionOutput">
    <part name="parameters" element="bdt:SetPortfolioPermissionResponse">
    </part>
  </message>
  <message name="GetRebalanceStatusAndOptimalWeightsOutput">
    <part name="parameters" element="bdt:GetRebalanceStatusAndOptimalWeightsResponse">
    </part>
  </message>
  <message name="ImportExportStressTestScenarioInput">
    <part name="parameters" element="bdt:ImportExportStressTestScenarioRequest">
    </part>
  </message>
  <message name="RetrieveOptimizationProfileInput">
    <part name="parameters" element="bdt:RetrieveOptimizationProfileRequest">
    </part>
  </message>
  <message name="ListOptimizationJobsOutput">
    <part name="parameters" element="bdt:ListOptimizationJobsResponse">
    </part>
  </message>
  <message name="FactorGroupExportInput">
    <part name="parameters" element="bdt:FactorGroupExportRequest">
    </part>
  </message>
  <message name="SetPortfolioPermissionInput">
    <part name="parameters" element="bdt:SetPortfolioPermissionRequest">
    </part>
  </message>
  <message name="GetRebalanceTradeListOutput">
    <part name="parameters" element="bdt:GetRebalanceTradeListResponse">
    </part>
  </message>
  <message name="PASharedIndexRCDataAvailabilityOutput">
    <part name="parameters" element="bdt:PASharedIndexRCDataAvailabilityResponse">
    </part>
  </message>
  <message name="ImportExportStressTestScenarioOutput">
    <part name="parameters" element="bdt:ImportExportStressTestScenarioResponse">
    </part>
  </message>
  <message name="GetVisualizationJobReportsInput2ADB">
    <part name="parameters" element="bdt:GetVisualizationJobInput2ADB">
    </part>
  </message>
  <message name="GetRebalanceInputFilesInput">
    <part name="parameters" element="bdt:GetRebalanceInputFilesRequest">
    </part>
  </message>
  <message name="SubmitFlexExportJobOutput">
    <part name="parameters" element="bdt:SubmitFlexExportJobResponse">
    </part>
  </message>
  <message name="DeleteHVRJobDefInput">
    <part name="parameters" element="bdt:DeleteHVRJobDefRequest">
    </part>
  </message>
  <message name="ListExportJobsInput">
    <part name="parameters" element="bdt:ListExportJobsRequest">
    </part>
  </message>
  <message name="GetOnDemandPAVizReportStatusOutput">
    <part name="parameters" element="bdt:GetOnDemandPAVizReportStatusResponse">
    </part>
  </message>
  <message name="ModifyPortfolioGroupOutput">
    <part name="parameters" element="bdt:ModifyPortfolioGroupResponse">
    </part>
  </message>
  <message name="PAListAnalysisSettingsInput">
    <part name="parameters" element="bdt:PAListAnalysisSettingsRequest">
    </part>
  </message>
  <message name="PASharedIndexRCDataAvailabilityForPortfolioGroupOutput">
    <part name="parameters" element="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupResponse">
    </part>
  </message>
  <message name="ListRebalanceJobsOutput">
    <part name="parameters" element="bdt:ListRebalanceJobsResponse">
    </part>
  </message>
  <message name="GetLatestAnalysisDatesInput">
    <part name="parameters" element="bdt:GetLatestAnalysisDatesRequest">
    </part>
  </message>
  <message name="SubmitRebalanceJobInput">
    <part name="parameters" element="bdt:SubmitRebalanceJobRequest">
    </part>
  </message>
  <message name="GetRebalanceJobStatusInput">
    <part name="parameters" element="bdt:GetRebalanceJobStatusRequest">
    </part>
  </message>
  <message name="GetVisualizationJobLogsInput">
    <part name="parameters" element="bdt:GetVisualizationJobLogsRequest">
    </part>
  </message>
  <message name="SubmitExtendCFAJobOutput">
    <part name="parameters" element="bdt:SubmitExtendCFAJobResponse">
    </part>
  </message>
  <message name="DeleteAnalysisSettingInput">
    <part name="parameters" element="bdt:DeleteAnalysisSettingRequest">
    </part>
  </message>
  <message name="GetPAVisualizationJobStatusInput">
    <part name="parameters" element="bdt:GetPAVisualizationJobStatusRequest">
    </part>
  </message>
  <message name="GetOptimizationTradeListInput">
    <part name="parameters" element="bdt:GetOptimizationTradeListRequest">
    </part>
  </message>
  <message name="GetRebalanceOptimalWeightsOutput">
    <part name="parameters" element="bdt:GetRebalanceOptimalWeightsResponse">
    </part>
  </message>
  <message name="CreateHVRJobDefInput">
    <part name="parameters" element="bdt:CreateHVRJobDefRequest">
    </part>
  </message>
  <message name="GetRebalanceStatusAndOptimalWeightsInput">
    <part name="parameters" element="bdt:GetRebalanceStatusAndOptimalWeightsRequest">
    </part>
  </message>
  <message name="DeleteAnalysisSettingOutput">
    <part name="parameters" element="bdt:DeleteAnalysisSettingResponse">
    </part>
  </message>
  <message name="CPAPICallOutput">
    <part name="parameters" element="bdt:CPAPIResponse">
    </part>
  </message>
  <message name="RetrieveExportSetOutput">
    <part name="parameters" element="bdt:RetrieveExportSetResponse">
    </part>
  </message>
  <message name="GetExportJobInput2ADB">
    <part name="parameters" element="bdt:GetExportJobRequest2ADB">
    </part>
  </message>
  <message name="GetOptimizationInputFilesInput">
    <part name="parameters" element="bdt:GetOptimizationInputFilesRequest">
    </part>
  </message>
  <message name="GetRebalanceSummaryReportOutput">
    <part name="parameters" element="bdt:GetRebalanceSummaryReportResponse">
    </part>
  </message>
  <message name="PASharedIndexRCDataAvailabilityForPortfolioGroupInput">
    <part name="parameters" element="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupRequest">
    </part>
  </message>
  <message name="DeleteGroupingHierarchyOutput">
    <part name="parameters" element="bdt:DeleteGroupingHierarchyResponse">
    </part>
  </message>
  <message name="CreateAnalysisSettingOutput">
    <part name="parameters" element="bdt:CreateAnalysisSettingResponse">
    </part>
  </message>
  <message name="ExportFactorTreeInput">
    <part name="parameters" element="bdt:ExportFactorTreeRequest">
    </part>
  </message>
  <message name="GetAllUserDetailsInput">
    <part name="parameters" element="bdt:GetAllUserDetailsRequest">
    </part>
  </message>
  <message name="GetBfmRegressorsInput">
    <part name="parameters" element="bdt:GetBfmRegressorsRequest">
    </part>
  </message>
  <message name="ListImportJobsInput">
    <part name="parameters" element="bdt:ListImportJobsRequest">
    </part>
  </message>
  <message name="GetGroupingSchemeUniverseOutput">
    <part name="parameters" element="bdt:GetGroupingSchemeUniverseResponse">
    </part>
  </message>
  <portType name="BDTPortType">
    <operation name="SubmitImportJob">
      <input message="bdt:SubmitImportJobInput">
    </input>
      <output message="bdt:SubmitImportJobOutput">
    </output>
    </operation>
    <operation name="SubmitBbgJob">
      <input message="bdt:SubmitBbgJobInput">
    </input>
      <output message="bdt:SubmitBbgJobOutput">
    </output>
    </operation>
    <operation name="GetImportJobLog">
      <input message="bdt:GetImportJobLogInput">
    </input>
      <output message="bdt:GetImportJobLogOutput">
    </output>
    </operation>
    <operation name="GetImportJobLogCSV">
      <input message="bdt:GetImportJobLogCSVInput">
    </input>
      <output message="bdt:GetImportJobLogCSVOutput">
    </output>
    </operation>
    <operation name="CreateAttributes">
      <input message="bdt:CreateAttributesInput">
    </input>
      <output message="bdt:CreateAttributesOutput">
    </output>
    </operation>
    <operation name="DeleteAttribute">
      <input message="bdt:DeleteAttributeInput">
    </input>
      <output message="bdt:DeleteAttributeOutput">
    </output>
    </operation>
    <operation name="GetImportJobStatus">
      <input message="bdt:GetImportJobStatusInput">
    </input>
      <output message="bdt:GetImportJobStatusOutput">
    </output>
    </operation>
    <operation name="ListImportJobs">
      <input message="bdt:ListImportJobsInput">
    </input>
      <output message="bdt:ListImportJobsOutput">
    </output>
    </operation>
    <operation name="ListPartnerLinkJobs">
      <input message="bdt:ListPartnerLinkJobsInput">
    </input>
      <output message="bdt:ListPartnerLinkJobsOutput">
    </output>
    </operation>
    <operation name="GetPartnerLinkFiles">
      <input message="bdt:GetPartnerLinkFilesInput">
    </input>
      <output message="bdt:GetPartnerLinkFilesOutput">
    </output>
    </operation>
    <operation name="GetAssetLevelReportFileNames">
      <input message="bdt:GetAssetLevelReportFileNamesInput">
    </input>
      <output message="bdt:GetAssetLevelReportFileNamesOutput">
    </output>
    </operation>
    <operation name="GetAssetLevelReport">
      <input message="bdt:GetAssetLevelReportInput">
    </input>
      <output message="bdt:GetAssetLevelReportOutput">
    </output>
    </operation>
    <operation name="GetAssetCoverage">
      <input message="bdt:GetAssetCoverageInput">
    </input>
      <output message="bdt:GetAssetCoverageOutput">
    </output>
    </operation>
    <operation name="GetAssetProfileJobResults">
      <input message="bdt:GetAssetProfileJobResultsInput">
    </input>
      <output message="bdt:GetAssetProfileJobResultsOutput">
    </output>
    </operation>
    <operation name="GetFlexExportJobResults">
      <input message="bdt:GetFlexExportJobResultsInput">
    </input>
      <output message="bdt:GetFlexExportJobResultsOutput">
    </output>
    </operation>
    <operation name="SubmitFlexExportJob">
      <input message="bdt:SubmitFlexExportJobInput">
    </input>
      <output message="bdt:SubmitFlexExportJobOutput">
    </output>
    </operation>
    <operation name="SubmitAssetProfileJob">
      <input message="bdt:SubmitAssetProfileJobInput">
    </input>
      <output message="bdt:SubmitAssetProfileJobOutput">
    </output>
    </operation>
    <operation name="GetBFMProcessingStatus">
      <input message="bdt:GetBFMProcessingStatusInput">
    </input>
      <output message="bdt:GetBFMProcessingStatusOutput">
    </output>
    </operation>
    <operation name="GetEstimationStatus">
      <input message="bdt:GetEstimationStatusInput">
    </input>
      <output message="bdt:GetEstimationStatusOutput">
    </output>
    </operation>
    <operation name="ListExportJobs">
      <input message="bdt:ListExportJobsInput">
    </input>
      <output message="bdt:ListExportJobsOutput">
    </output>
    </operation>
    <operation name="GetExportJob">
      <input message="bdt:GetExportJobInput">
    </input>
      <output message="bdt:GetExportJobResponse">
    </output>
    </operation>
    <operation name="GetExportJob2ADB">
      <input message="bdt:GetExportJobInput2ADB">
    </input>
      <output message="bdt:GetExportJobResponse2ADB">
    </output>
    </operation>
    <operation name="SubmitExportJob">
      <input message="bdt:SubmitExportJobInput">
    </input>
      <output message="bdt:SubmitExportJobOutput">
    </output>
    </operation>
    <operation name="SubmitDynamicExportJob">
      <input message="bdt:SubmitDynamicExportJobInput">
    </input>
      <output message="bdt:SubmitDynamicExportJobOutput">
    </output>
    </operation>
    <operation name="SubmitExportJobV2">
      <input message="bdt:SubmitExportJobInputV2">
    </input>
      <output message="bdt:SubmitExportJobOutputV2">
    </output>
    </operation>
    <operation name="GetVisualizationJobReports">
      <input message="bdt:GetVisualizationJobReportsInput">
    </input>
      <output message="bdt:GetVisualizationJobReportsOutput">
    </output>
    </operation>
    <operation name="GetVisualizationJobReports2ADB">
      <input message="bdt:GetVisualizationJobReportsInput2ADB">
    </input>
      <output message="bdt:GetVisualizationJobReportsOutput2ADB">
    </output>
    </operation>
    <operation name="GetPAAllocSelReports">
      <input message="bdt:GetPAAllocSelReportsInput">
    </input>
      <output message="bdt:GetPAAllocSelReportsOutput">
    </output>
    </operation>
    <operation name="GetPAAssetSelReports">
      <input message="bdt:GetPAAssetSelReportsInput">
    </input>
      <output message="bdt:GetPAAssetSelReportsOutput">
    </output>
    </operation>
    <operation name="SubmitPAVizInvalidationRequest">
      <input message="bdt:SubmitPAVizInvalidationRequestInput">
    </input>
      <output message="bdt:SubmitPAVizInvalidationRequestOutput">
    </output>
    </operation>
    <operation name="SubmitPAVizInvalidationJob">
      <input message="bdt:SubmitPAVizInvalidationRequestInput">
    </input>
      <output message="bdt:SubmitPAVizInvalidationRequestOutput">
    </output>
    </operation>
    <operation name="SubmitOnDemandPAVizReport">
      <input message="bdt:SubmitOnDemandPAVizReportInput">
    </input>
      <output message="bdt:SubmitOnDemandPaVizReportOutput">
    </output>
    </operation>
    <operation name="GetVisualizationJobLogs">
      <input message="bdt:GetVisualizationJobLogsInput">
    </input>
      <output message="bdt:GetVisualizationJobLogsOutput">
    </output>
    </operation>
    <operation name="SubmitPAVisualizationJob">
      <input message="bdt:SubmitPAVisualizationJobInput">
    </input>
      <output message="bdt:SubmitPAVisualizationJobOutput">
    </output>
    </operation>
    <operation name="GetPAVisualizationJobStatus">
      <input message="bdt:GetPAVisualizationJobStatusInput">
    </input>
      <output message="bdt:GetPAVisualizationJobStatusOutput">
    </output>
    </operation>
    <operation name="GetJobPerformanceInfo">
      <input message="bdt:GetJobPerformanceInfoInput">
    </input>
      <output message="bdt:GetJobPerformanceInfoOutput">
    </output>
    </operation>
    <operation name="SubmitExportJobWithSchedule">
      <input message="bdt:SubmitExportJobWithScheduleInput">
    </input>
      <output message="bdt:SubmitExportJobWithScheduleOutput">
    </output>
    </operation>
    <operation name="GetExportJobStatus">
      <input message="bdt:GetExportJobStatusInput">
    </input>
      <output message="bdt:GetExportJobStatusOutput">
    </output>
    </operation>
    <operation name="GetAssetProfileJobStatus">
      <input message="bdt:GetAssetProfileJobStatusInput">
    </input>
      <output message="bdt:GetAssetProfileJobStatusOutput">
    </output>
    </operation>
    <operation name="CreateExportSet">
      <input message="bdt:CreateExportSetInput">
    </input>
      <output message="bdt:CreateExportSetOutput">
    </output>
    </operation>
    <operation name="CreatePAVizAnalysisSetting">
      <input message="bdt:CreatePAVizAnalysisSettingInput">
    </input>
      <output message="bdt:CreatePAVizAnalysisSettingOutput">
    </output>
    </operation>
    <operation name="SetPortfolioPermission">
      <input message="bdt:SetPortfolioPermissionInput">
    </input>
      <output message="bdt:SetPortfolioPermissionOutput">
    </output>
    </operation>
    <operation name="PAListAnalysisSettings">
      <input message="bdt:PAListAnalysisSettingsInput">
    </input>
      <output message="bdt:PAListAnalysisSettingsOutput">
    </output>
    </operation>
    <operation name="PASharedIndexRCDataAvailability">
      <input message="bdt:PASharedIndexRCDataAvailabilityInput">
    </input>
      <output message="bdt:PASharedIndexRCDataAvailabilityOutput">
    </output>
    </operation>
    <operation name="PASharedIndexRCDataAvailabilityForPortfolioGroup">
      <input message="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupInput">
    </input>
      <output message="bdt:PASharedIndexRCDataAvailabilityForPortfolioGroupOutput">
    </output>
    </operation>
    <operation name="PASharedIndexRCDataAvailabilityForAnalysisSetting">
      <input message="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingInput">
    </input>
      <output message="bdt:PASharedIndexRCDataAvailabilityForAnalysisSettingOutput">
    </output>
    </operation>
    <operation name="DeleteExportSet">
      <input message="bdt:DeleteExportSetInput">
    </input>
      <output message="bdt:DeleteExportSetOutput">
    </output>
    </operation>
    <operation name="RetrieveExportSet">
      <input message="bdt:RetrieveExportSetInput">
    </input>
      <output message="bdt:RetrieveExportSetOutput">
    </output>
    </operation>
    <operation name="RetrieveOptimizationProfile">
      <input message="bdt:RetrieveOptimizationProfileInput">
    </input>
      <output message="bdt:RetrieveOptimizationProfileOutput">
    </output>
    </operation>
    <operation name="SubmitRebalanceJob">
      <input message="bdt:SubmitRebalanceJobInput">
    </input>
      <output message="bdt:SubmitRebalanceJobOutput">
    </output>
    </operation>
    <operation name="CreateOptimizationProfile">
      <input message="bdt:CreateOptimizationProfileInput">
    </input>
      <output message="bdt:CreateOptimizationProfileOutput">
    </output>
    </operation>
    <operation name="DeleteExportJobSchedule">
      <input message="bdt:DeleteExportJobScheduleInput">
    </input>
      <output message="bdt:DeleteExportJobScheduleOutput">
    </output>
    </operation>
    <operation name="ListOptimizationJobs">
      <input message="bdt:ListOptimizationJobsInput">
    </input>
      <output message="bdt:ListOptimizationJobsOutput">
    </output>
    </operation>
    <operation name="ListRebalanceJobs">
      <input message="bdt:ListRebalanceJobsInput">
    </input>
      <output message="bdt:ListRebalanceJobsOutput">
    </output>
    </operation>
    <operation name="GetOptimizationJobStatus">
      <input message="bdt:GetOptimizationJobStatusInput">
    </input>
      <output message="bdt:GetOptimizationJobStatusOutput">
    </output>
    </operation>
    <operation name="GetRebalanceJobStatus">
      <input message="bdt:GetRebalanceJobStatusInput">
    </input>
      <output message="bdt:GetRebalanceJobStatusOutput">
    </output>
    </operation>
    <operation name="DeleteOptimizationJob">
      <input message="bdt:DeleteOptimizationJobInput">
    </input>
      <output message="bdt:DeleteOptimizationJobOutput">
    </output>
    </operation>
    <operation name="DeleteRebalanceJob">
      <input message="bdt:DeleteRebalanceJobInput">
    </input>
      <output message="bdt:DeleteRebalanceJobOutput">
    </output>
    </operation>
    <operation name="GetEfficientFrontierSummary">
      <input message="bdt:GetEfficientFrontierSummaryInput">
    </input>
      <output message="bdt:GetEfficientFrontierSummaryOutput">
    </output>
    </operation>
    <operation name="SaveOptimizationPortfolio">
      <input message="bdt:SaveOptimizationPortfolioInput">
    </input>
      <output message="bdt:SaveOptimizationPortfolioOutput">
    </output>
    </operation>
    <operation name="SubmitOptimizationJob">
      <input message="bdt:SubmitOptimizationJobInput">
    </input>
      <output message="bdt:SubmitOptimizationJobOutput">
    </output>
    </operation>
    <operation name="GetRebalanceSummaryReport">
      <input message="bdt:GetRebalanceSummaryReportInput">
    </input>
      <output message="bdt:GetRebalanceSummaryReportOutput">
    </output>
    </operation>
    <operation name="GetRebalanceInputFiles">
      <input message="bdt:GetRebalanceInputFilesInput">
    </input>
      <output message="bdt:GetRebalanceInputFilesOutput">
    </output>
    </operation>
    <operation name="GetOptimizationInputFiles">
      <input message="bdt:GetOptimizationInputFilesInput">
    </input>
      <output message="bdt:GetOptimizationInputFilesOutput">
    </output>
    </operation>
    <operation name="GetRebalanceStatistics">
      <input message="bdt:GetRebalanceStatisticsInput">
    </input>
      <output message="bdt:GetRebalanceStatisticsOutput">
    </output>
    </operation>
    <operation name="GetRebalanceOptimalWeights">
      <input message="bdt:GetRebalanceOptimalWeightsInput">
    </input>
      <output message="bdt:GetRebalanceOptimalWeightsOutput">
    </output>
    </operation>
    <operation name="GetRebalanceStatusAndOptimalWeights">
      <input message="bdt:GetRebalanceStatusAndOptimalWeightsInput">
    </input>
      <output message="bdt:GetRebalanceStatusAndOptimalWeightsOutput">
    </output>
    </operation>
    <operation name="GetRebalanceTradeList">
      <input message="bdt:GetRebalanceTradeListInput">
    </input>
      <output message="bdt:GetRebalanceTradeListOutput">
    </output>
    </operation>
    <operation name="GetOptimizationTradeList">
      <input message="bdt:GetOptimizationTradeListInput">
    </input>
      <output message="bdt:GetOptimizationTradeListOutput">
    </output>
    </operation>
    <operation name="GetOptimizationPositionReport">
      <input message="bdt:GetOptimizationPositionReportInput">
    </input>
      <output message="bdt:GetOptimizationPositionReportOutput">
    </output>
    </operation>
    <operation name="GetOptimizationSummaryReport">
      <input message="bdt:GetOptimizationSummaryReportInput">
    </input>
      <output message="bdt:GetOptimizationSummaryReportOutput">
    </output>
    </operation>
    <operation name="GetPortfolioAdminReport">
      <input message="bdt:GetPortfolioAdminReportInput">
    </input>
      <output message="bdt:GetPortfolioAdminReportOutput">
    </output>
    </operation>
    <operation name="GetCurrentVersion">
      <input message="bdt:GetCurrentVersionInput">
    </input>
      <output message="bdt:GetCurrentVersionOutput">
    </output>
    </operation>
    <operation name="GetLatestAnalysisDates">
      <input message="bdt:GetLatestAnalysisDatesInput">
    </input>
      <output message="bdt:GetLatestAnalysisDatesOutput">
    </output>
    </operation>
    <operation name="CancelExportJob">
      <input message="bdt:CancelExportJobInput">
    </input>
      <output message="bdt:CancelExportJobOutput">
    </output>
    </operation>
    <operation name="StoreRiskModel">
      <input message="bdt:StoreRiskModelInput">
    </input>
      <output message="bdt:StoreRiskModelOutput">
    </output>
    </operation>
    <operation name="GetAllUserDetails">
      <input message="bdt:GetAllUserDetailsInput">
    </input>
      <output message="bdt:GetAllUserDetailsOutput">
    </output>
    </operation>
    <operation name="GetBfmRegressors">
      <input message="bdt:GetBfmRegressorsInput">
    </input>
      <output message="bdt:GetBfmRegressorsOutput">
    </output>
    </operation>
    <operation name="GetHvrReports">
      <input message="bdt:GetHvrReportsInput">
    </input>
      <output message="bdt:GetHvrReportsOutput">
    </output>
    </operation>
    <operation name="SubmitReportJob">
      <input message="bdt:SubmitReportJobInput">
    </input>
      <output message="bdt:SubmitReportJobOutput">
    </output>
    </operation>
    <operation name="RetrieveReports">
      <input message="bdt:RetrieveReportsInput">
    </input>
      <output message="bdt:RetrieveReportsOutput">
    </output>
    </operation>
    <operation name="RetrieveTemplateReports">
      <input message="bdt:RetrieveTemplateReportsInput">
    </input>
      <output message="bdt:RetrieveTemplateReportsOutput">
    </output>
    </operation>
    <operation name="ListSupportedReports">
      <input message="bdt:ListSupportedReportsInput">
    </input>
      <output message="bdt:ListSupportedReportsOutput">
    </output>
    </operation>
    <operation name="GetReportParameters">
      <input message="bdt:GetReportParametersInput">
    </input>
      <output message="bdt:GetReportParametersOutput">
    </output>
    </operation>
    <operation name="GetReportJobStatus">
      <input message="bdt:GetReportJobStatusInput">
    </input>
      <output message="bdt:GetReportJobStatusOutput">
    </output>
    </operation>
    <operation name="GetOnDemandPAVizReportStatus">
      <input message="bdt:GetOnDemandPAVizReportStatusInput">
    </input>
      <output message="bdt:GetOnDemandPAVizReportStatusOutput">
    </output>
    </operation>
    <operation name="GetPAVizJobStatusAndErrorDetails">
      <input message="bdt:GetPAVizJobStatusAndErrorDetailsInput">
    </input>
      <output message="bdt:GetPAVizJobStatusAndErrorDetailsOutput">
    </output>
    </operation>
    <operation name="GetPAVizReportStatus">
      <input message="bdt:GetPAVizReportStatusInput">
    </input>
      <output message="bdt:GetPAVizReportStatusOutput">
    </output>
    </operation>
    <operation name="GetPAVizReportFilterConfig">
      <input message="bdt:GetPAVizReportFilterConfigInput">
    </input>
      <output message="bdt:GetPAVizReportFilterConfigOutput">
    </output>
    </operation>
    <operation name="GetReportSchedule">
      <input message="bdt:GetReportScheduleInput">
    </input>
      <output message="bdt:GetReportScheduleOutput">
    </output>
    </operation>
    <operation name="DeleteReportSchedule">
      <input message="bdt:DeleteReportScheduleInput">
    </input>
      <output message="bdt:DeleteReportScheduleOutput">
    </output>
    </operation>
    <operation name="DeletePAVizAnalysisSetting">
      <input message="bdt:DeletePAVizAnalysisSettingInput">
    </input>
      <output message="bdt:DeletePAVizAnalysisSettingOutput">
    </output>
    </operation>
    <operation name="CreatePortfolioGroup">
      <input message="bdt:CreatePortfolioGroupInput">
    </input>
      <output message="bdt:CreatePortfolioGroupOutput">
    </output>
    </operation>
    <operation name="ModifyPortfolioGroup">
      <input message="bdt:ModifyPortfolioGroupInput">
    </input>
      <output message="bdt:ModifyPortfolioGroupOutput">
    </output>
    </operation>
    <operation name="DeletePortfolioGroup">
      <input message="bdt:DeletePortfolioGroupInput">
    </input>
      <output message="bdt:DeletePortfolioGroupOutput">
    </output>
    </operation>
    <operation name="CreateHVRJobDef">
      <input message="bdt:CreateHVRJobDefInput">
    </input>
      <output message="bdt:CreateHVRJobDefOutput">
    </output>
    </operation>
    <operation name="UpdateHVRJobDef">
      <input message="bdt:UpdateHVRJobDefInput">
    </input>
      <output message="bdt:UpdateHVRJobDefOutput">
    </output>
    </operation>
    <operation name="DeleteHVRJobDef">
      <input message="bdt:DeleteHVRJobDefInput">
    </input>
      <output message="bdt:DeleteHVRJobDefOutput">
    </output>
    </operation>
    <operation name="CreateReportSchedule">
      <input message="bdt:CreateReportScheduleInput">
    </input>
      <output message="bdt:CreateReportScheduleOutput">
    </output>
    </operation>
    <operation name="ModifyReportSchedule">
      <input message="bdt:ModifyReportScheduleInput">
    </input>
      <output message="bdt:ModifyReportScheduleOutput">
    </output>
    </operation>
    <operation name="SubmitHVRJob">
      <input message="bdt:SubmitHVRJobInput">
    </input>
      <output message="bdt:SubmitHVRJobOutput">
    </output>
    </operation>
    <operation name="GetLatestHVRJobId">
      <input message="bdt:GetLatestHVRJobIdInput">
    </input>
      <output message="bdt:GetLatestHVRJobIdOutput">
    </output>
    </operation>
    <operation name="GetAnalysisSetting">
      <input message="bdt:GetAnalysisSettingInput">
    </input>
      <output message="bdt:GetAnalysisSettingOutput">
    </output>
    </operation>
    <operation name="CreateAnalysisSetting">
      <input message="bdt:CreateAnalysisSettingInput">
    </input>
      <output message="bdt:CreateAnalysisSettingOutput">
    </output>
    </operation>
    <operation name="DeleteAnalysisSetting">
      <input message="bdt:DeleteAnalysisSettingInput">
    </input>
      <output message="bdt:DeleteAnalysisSettingOutput">
    </output>
    </operation>
    <operation name="CreateTimeSeriesSettings">
      <input message="bdt:CreateTimeSeriesSettingsInput">
    </input>
      <output message="bdt:CreateTimeSeriesSettingsOutput">
    </output>
    </operation>
    <operation name="DeleteTimeSeriesSettings">
      <input message="bdt:DeleteTimeSeriesSettingsInput">
    </input>
      <output message="bdt:DeleteTimeSeriesSettingsOutput">
    </output>
    </operation>
    <operation name="SubmitExtendCFAJob">
      <input message="bdt:SubmitExtendCFAJobInput">
    </input>
      <output message="bdt:SubmitExtendCFAJobOutput">
    </output>
    </operation>
    <operation name="CPAPICall">
      <input message="bdt:CPAPICallInput">
    </input>
      <output message="bdt:CPAPICallOutput">
    </output>
    </operation>
    <operation name="ImportExportStressTestScenarioOperation">
      <input message="bdt:ImportExportStressTestScenarioInput">
    </input>
      <output message="bdt:ImportExportStressTestScenarioOutput">
    </output>
    </operation>
    <operation name="FactorGroupExportOperation">
      <input message="bdt:FactorGroupExportInput">
    </input>
      <output message="bdt:FactorGroupExportOutput">
    </output>
    </operation>
    <operation name="ExportFactorTree">
      <input message="bdt:ExportFactorTreeInput">
    </input>
      <output message="bdt:ExportFactorTreeOutput">
    </output>
    </operation>
    <operation name="FetchStressTestScenarioData">
      <input message="bdt:FetchStressTestScenarioDataInput">
    </input>
      <output message="bdt:FetchStressTestScenarioDataOutput">
    </output>
    </operation>
    <operation name="GetAvailableColumns">
      <input message="bdt:GetAvailableColumnsInput">
    </input>
      <output message="bdt:GetAvailableColumnsOutput">
    </output>
    </operation>
    <operation name="GetColumnBucketingSchemes">
      <input message="bdt:GetColumnBucketingSchemesInput">
    </input>
      <output message="bdt:GetColumnBucketingSchemesOutput">
    </output>
    </operation>
    <operation name="GetFactorTrees">
      <input message="bdt:GetFactorTreesInput">
    </input>
      <output message="bdt:GetFactorTreesOutput">
    </output>
    </operation>
    <operation name="ModifyGroupingSchemeUniverse">
      <input message="bdt:ModifyGroupingSchemeUniverseInput">
    </input>
      <output message="bdt:ModifyGroupingSchemeUniverseOutput">
    </output>
    </operation>
    <operation name="CreateGroupingHierarchy">
      <input message="bdt:CreateGroupingHierarchyInput">
    </input>
      <output message="bdt:CreateGroupingHierarchyOutput">
    </output>
    </operation>
    <operation name="DeleteGroupingHierarchy">
      <input message="bdt:DeleteGroupingHierarchyInput">
    </input>
      <output message="bdt:DeleteGroupingHierarchyOutput">
    </output>
    </operation>
    <operation name="GetGroupingSchemeUniverse">
      <input message="bdt:GetGroupingSchemeUniverseInput">
    </input>
      <output message="bdt:GetGroupingSchemeUniverseOutput">
    </output>
    </operation>
  </portType>
  <binding name="BDTBinding" type="bdt:BDTPortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="SubmitImportJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitImportJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ExportFactorTree">
      <soap:operation soapAction="http://barra.com/bdt/ExportFactorTree" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitBbgJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitBbgJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetImportJobStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetImportJobStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetImportJobLog">
      <soap:operation soapAction="http://barra.com/bdt/GetImportJobLog" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetImportJobLogCSV">
      <soap:operation soapAction="http://barra.com/bdt/GetImportJobLogCSV" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateAttributes">
      <soap:operation soapAction="http://barra.com/bdt/CreateAttributes" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteAttribute">
      <soap:operation soapAction="http://barra.com/bdt/DeleteAttribute" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAssetCoverage">
      <soap:operation soapAction="http://barra.com/bdt/GetAssetCoverage" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAssetProfileJobResults">
      <soap:operation soapAction="http://barra.com/bdt/GetAssetProfileJobResults" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetFlexExportJobResults">
      <soap:operation soapAction="http://barra.com/bdt/GetFlexExportJobResults" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitFlexExportJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitFlexExportJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitAssetProfileJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitAssetProfileJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetBFMProcessingStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetBFMProcessingStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetEstimationStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetEstimationStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ListImportJobs">
      <soap:operation soapAction="http://barra.com/bdt/ListImportJobs" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ListPartnerLinkJobs">
      <soap:operation soapAction="http://barra.com/bdt/ListPartnerLinkJobs" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPartnerLinkFiles">
      <soap:operation soapAction="http://barra.com/bdt/GetPartnerLinkFiles" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAssetLevelReportFileNames">
      <soap:operation soapAction="http://barra.com/bdt/GetAssetLevelReportFileNames" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAssetLevelReport">
      <soap:operation soapAction="http://barra.com/bdt/GetAssetLevelReport" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ListExportJobs">
      <soap:operation soapAction="http://barra.com/bdt/ListExportJobs" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetExportJob">
      <soap:operation soapAction="http://barra.com/bdt/GetExportJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetExportJob2ADB">
      <soap:operation soapAction="http://barra.com/bdt/GetExportJob2ADB" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitExportJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitExportJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitDynamicExportJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitDynamicExportJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitExportJobV2">
      <soap:operation soapAction="http://barra.com/bdt/SubmitExportJobV2" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetVisualizationJobReports">
      <soap:operation soapAction="http://barra.com/bdt/GetVisualizationJobReports" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetVisualizationJobReports2ADB">
      <soap:operation soapAction="http://barra.com/bdt/GetVisualizationJobReports2ADB" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPAAllocSelReports">
      <soap:operation soapAction="http://barra.com/bdt/GetPAAllocSelReports" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPAAssetSelReports">
      <soap:operation soapAction="http://barra.com/bdt/GetPAAssetSelReports" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitPAVizInvalidationRequest">
      <soap:operation soapAction="http://barra.com/bdt/SubmitPAVizInvalidationRequest" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitPAVizInvalidationJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitPAVizInvalidationJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitOnDemandPAVizReport">
      <soap:operation soapAction="http://barra.com/bdt/SubmitOnDemandPAVizReport" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetVisualizationJobLogs">
      <soap:operation soapAction="http://barra.com/bdt/GetVisualizationJobLogs" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitPAVisualizationJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitPAVisualizationJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPAVisualizationJobStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetPAVisualizationJobStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetJobPerformanceInfo">
      <soap:operation soapAction="http://barra.com/bdt/GetJobPerformanceInfo" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitRebalanceJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitRebalanceJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateOptimizationProfile">
      <soap:operation soapAction="http://barra.com/bdt/CreateOptimizationProfile" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitExportJobWithSchedule">
      <soap:operation soapAction="http://barra.com/bdt/SubmitExportJobWithSchedule" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetExportJobStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetExportJobStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAssetProfileJobStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetAssetProfileJobStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateExportSet">
      <soap:operation soapAction="http://barra.com/bdt/CreateExportSet" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreatePAVizAnalysisSetting">
      <soap:operation soapAction="http://barra.com/bdt/CreatePAVizAnalysisSetting" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SetPortfolioPermission">
      <soap:operation soapAction="http://barra.com/bdt/SetPortfolioPermission" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="PAListAnalysisSettings">
      <soap:operation soapAction="http://barra.com/bdt/PAListAnalysisSettings" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteExportSet">
      <soap:operation soapAction="http://barra.com/bdt/DeleteExportSet" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RetrieveExportSet">
      <soap:operation soapAction="http://barra.com/bdt/RetrieveExportSet" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RetrieveOptimizationProfile">
      <soap:operation soapAction="http://barra.com/bdt/RetrieveOptimizationProfile" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteExportJobSchedule">
      <soap:operation soapAction="http://barra.com/bdt/DeleteExportJobSchedule" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ListOptimizationJobs">
      <soap:operation soapAction="http://barra.com/bdt/ListOptimizationJobs" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ListRebalanceJobs">
      <soap:operation soapAction="http://barra.com/bdt/ListRebalanceJobs" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetOptimizationJobStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetOptimizationJobStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetRebalanceJobStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetRebalanceJobStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteOptimizationJob">
      <soap:operation soapAction="http://barra.com/bdt/DeleteOptimizationJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteRebalanceJob">
      <soap:operation soapAction="http://barra.com/bdt/DeleteRebalanceJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetEfficientFrontierSummary">
      <soap:operation soapAction="http://barra.com/bdt/GetEfficientFrontierSummary" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SaveOptimizationPortfolio">
      <soap:operation soapAction="http://barra.com/bdt/SaveOptimizationPortfolio" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitOptimizationJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitOptimizationJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetRebalanceSummaryReport">
      <soap:operation soapAction="http://barra.com/bdt/GetRebalanceSummaryReport" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetRebalanceInputFiles">
      <soap:operation soapAction="http://barra.com/bdt/GetRebalanceInputFiles" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetOptimizationInputFiles">
      <soap:operation soapAction="http://barra.com/bdt/GetOptimizationInputFiles" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetRebalanceStatistics">
      <soap:operation soapAction="http://barra.com/bdt/GetRebalanceStatistics" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetRebalanceOptimalWeights">
      <soap:operation soapAction="http://barra.com/bdt/GetRebalanceOptimalWeights" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetRebalanceStatusAndOptimalWeights">
      <soap:operation soapAction="http://barra.com/bdt/GetRebalanceStatusAndOptimalWeights" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetRebalanceTradeList">
      <soap:operation soapAction="http://barra.com/bdt/GetRebalanceTradeList" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetOptimizationTradeList">
      <soap:operation soapAction="http://barra.com/bdt/GetOptimizationTradeList" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetOptimizationPositionReport">
      <soap:operation soapAction="http://barra.com/bdt/GetOptimizationPositionReport" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetOptimizationSummaryReport">
      <soap:operation soapAction="http://barra.com/bdt/GetOptimizationSummaryReport" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPortfolioAdminReport">
      <soap:operation soapAction="http://barra.com/bdt/GetPortfolioAdminReport" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetCurrentVersion">
      <soap:operation soapAction="http://barra.com/bdt/GetCurrentVersion" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetLatestAnalysisDates">
      <soap:operation soapAction="http://barra.com/bdt/GetLatestAnalysisDates" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CancelExportJob">
      <soap:operation soapAction="http://barra.com/bdt/CancelExportJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="StoreRiskModel">
      <soap:operation soapAction="http://barra.com/bdt/StoreRiskModel" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAllUserDetails">
      <soap:operation soapAction="http://barra.com/bdt/GetAllUserDetails" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetBfmRegressors">
      <soap:operation soapAction="http://barra.com/bdt/GetBfmRegressors" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetHvrReports">
      <soap:operation soapAction="http://barra.com/bdt/GetHvrReports" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitReportJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitReportJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RetrieveReports">
      <soap:operation soapAction="http://barra.com/bdt/RetrieveReports" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="RetrieveTemplateReports">
      <soap:operation soapAction="http://barra.com/bdt/RetrieveTemplateReports" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetReportJobStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetReportJobStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ListSupportedReports">
      <soap:operation soapAction="http://barra.com/bdt/ListSupportedReports" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetReportParameters">
      <soap:operation soapAction="http://barra.com/bdt/GetReportParameters" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetOnDemandPAVizReportStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetOnDemandPAVizReportStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetReportSchedule">
      <soap:operation soapAction="http://barra.com/bdt/GetReportSchedule" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeletePAVizAnalysisSetting">
      <soap:operation soapAction="http://barra.com/bdt/DeletePAVizAnalysisSetting" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreatePortfolioGroup">
      <soap:operation soapAction="http://barra.com/bdt/CreatePortfolioGroup" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ModifyPortfolioGroup">
      <soap:operation soapAction="http://barra.com/bdt/ModifyPortfolioGroup" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeletePortfolioGroup">
      <soap:operation soapAction="http://barra.com/bdt/DeletePortfolioGroup" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPAVizJobStatusAndErrorDetails">
      <soap:operation soapAction="http://barra.com/bdt/GetPAVizJobStatusAndErrorDetails" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPAVizReportStatus">
      <soap:operation soapAction="http://barra.com/bdt/GetPAVizReportStatus" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetPAVizReportFilterConfig">
      <soap:operation soapAction="http://barra.com/bdt/GetPAVizReportFilterConfig" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateHVRJobDef">
      <soap:operation soapAction="http://barra.com/bdt/CreateHVRJobDef" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="UpdateHVRJobDef">
      <soap:operation soapAction="http://barra.com/bdt/UpdateHVRJobDef" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteHVRJobDef">
      <soap:operation soapAction="http://barra.com/bdt/DeleteHVRJobDef" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateReportSchedule">
      <soap:operation soapAction="http://barra.com/bdt/CreateReportSchedule" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteReportSchedule">
      <soap:operation soapAction="http://barra.com/bdt/DeleteReportSchedule" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ModifyReportSchedule">
      <soap:operation soapAction="http://barra.com/bdt/ModifyReportSchedule" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="PASharedIndexRCDataAvailability">
      <soap:operation soapAction="http://barra.com/bdt/PASharedIndexRCDataAvailability" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="PASharedIndexRCDataAvailabilityForPortfolioGroup">
      <soap:operation soapAction="http://barra.com/bdt/PASharedIndexRCDataAvailabilityForPortfolioGroup" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="PASharedIndexRCDataAvailabilityForAnalysisSetting">
      <soap:operation soapAction="http://barra.com/bdt/PASharedIndexRCDataAvailabilityForAnalysisSetting" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitHVRJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitHVRJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetLatestHVRJobId">
      <soap:operation soapAction="http://barra.com/bdt/GetLatestHVRJobId" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateTimeSeriesSettings">
      <soap:operation soapAction="http://barra.com/bdt/CreateTimeSeriesSettings" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteTimeSeriesSettings">
      <soap:operation soapAction="http://barra.com/bdt/DeleteTimeSeriesSettings" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAnalysisSetting">
      <soap:operation soapAction="http://barra.com/bdt/GetAnalysisSetting" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateAnalysisSetting">
      <soap:operation soapAction="http://barra.com/bdt/CreateAnalysisSetting" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteAnalysisSetting">
      <soap:operation soapAction="http://barra.com/bdt/DeleteAnalysisSetting" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="SubmitExtendCFAJob">
      <soap:operation soapAction="http://barra.com/bdt/SubmitExtendCFAJob" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CPAPICall">
      <soap:operation soapAction="http://barra.com/bdt/CPAPICall" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ImportExportStressTestScenarioOperation">
      <soap:operation soapAction="http://barra.com/bdt/ImportExportStressTestScenarioOperation" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="FactorGroupExportOperation">
      <soap:operation soapAction="http://barra.com/bdt/FactorGroupExportOperation" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="FetchStressTestScenarioData">
      <soap:operation soapAction="http://barra.com/bdt/FetchStressTestScenarioData" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetAvailableColumns">
      <soap:operation soapAction="http://barra.com/bdt/GetAvailableColumns" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetColumnBucketingSchemes">
      <soap:operation soapAction="http://barra.com/bdt/GetColumnBucketingSchemes" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetFactorTrees">
      <soap:operation soapAction="http://barra.com/bdt/GetFactorTrees" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="ModifyGroupingSchemeUniverse">
      <soap:operation soapAction="http://barra.com/bdt/ModifyGroupingSchemeUniverse" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="CreateGroupingHierarchy">
      <soap:operation soapAction="http://barra.com/bdt/CreateGroupingHierarchy" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="DeleteGroupingHierarchy">
      <soap:operation soapAction="http://barra.com/bdt/DeleteGroupingHierarchy" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="GetGroupingSchemeUniverse">
      <soap:operation soapAction="http://barra.com/bdt/GetGroupingSchemeUniverse" style="document"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="BDTService">
<documentation>BarraOne Developers Toolkit Web Service</documentation>
    <port name="BDTPortType" binding="bdt:BDTBinding">
      <soap:address location="https://www.barraone.com/axis2/services/BDTService"/>
    </port>
  </service>
</definitions>
