<?xml version="1.0" encoding="UTF-8"?>
<fix type="FIX" major="5" minor="0" servicepack="2">
  <header>
    <field name="BeginString" required="Y"/>
    <field name="BodyLength" required="Y"/>
    <field name="MsgType" required="Y"/>
    <field name="SenderCompID" required="Y"/>
    <field name="TargetCompID" required="Y"/>
    <field name="MsgSeqNum" required="Y"/>
    <field name="SendingTime" required="Y"/>
  </header>
  <trailer>
    <field name="CheckSum" required="Y"/>
  </trailer>
  <messages>
    <message name="MarketDataRequest" msgtype="V" msgcat="app">
      <field name="MDReqID" required="Y"/>
      <field name="SubscriptionRequestType" required="Y"/>
      <field name="MarketDepth" required="Y"/>
      <field name="MDUpdateType" required="N"/>
      <field name="AggregatedBook" required="N"/>
      <group name="NoMDEntryTypes" required="Y">
        <field name="MDEntryType" required="Y"/>
      </group>
      <group name="NoRelatedSym" required="Y">
        <field name="Symbol" required="Y"/>
      </group>
    </message>
    <message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
      <field name="MDReqID" required="N"/>
      <field name="Symbol" required="Y"/>
      <group name="NoMDEntries" required="N">
        <field name="MDEntryType" required="Y"/>
        <field name="MDEntryID" required="N"/>
        <field name="MDEntryPx" required="N"/>
        <field name="MDEntrySize" required="N"/>
        <field name="MDEntryDate" required="N"/>
        <field name="MDEntryTime" required="N"/>
        <field name="MDEntryPositionNo" required="N"/>
      </group>
    </message>
    <message name="MarketDataIncrementalRefresh" msgtype="X" msgcat="app">
      <field name="MDReqID" required="N"/>
      <group name="NoMDEntries" required="Y">
        <field name="MDUpdateAction" required="Y"/>
        <field name="MDEntryType" required="N"/>
        <field name="Symbol" required="N"/>
        <field name="MDEntryPx" required="N"/>
        <field name="MDEntrySize" required="N"/>
        <field name="MDEntryDate" required="N"/>
        <field name="MDEntryTime" required="N"/>
        <field name="MDEntryPositionNo" required="N"/>
        <field name="TrdType" required="N"/>
        <field name="AggressorSide" required="N"/>
      </group>
    </message>
    <message name="MarketDataRequestReject" msgtype="Y" msgcat="app">
      <field name="MDReqID" required="Y"/>
      <field name="MDReqRejReason" required="N"/>
      <field name="Text" required="N"/>
    </message>
    <message name="SecurityListRequest" msgtype="x" msgcat="app">
      <field name="SecurityReqID" required="Y"/>
      <field name="SecurityListRequestType" required="Y"/>
      <field name="Symbol" required="N"/>
      <field name="SecurityType" required="N"/>
      <field name="SubscriptionRequestType" required="N"/>
    </message>
    <message name="SecurityList" msgtype="y" msgcat="app">
      <field name="SecurityReqID" required="Y"/>
      <field name="SecurityResponseID" required="Y"/>
      <field name="SecurityRequestResult" required="N"/>
      <group name="NoRelatedSym" required="N">
        <field name="Symbol" required="Y"/>
        <field name="MinPriceIncrement" required="Y"/>
        <field name="MinTradeVol" required="N"/>
        <field name="LowLimitPrice" required="N"/>
        <field name="HighLimitPrice" required="N"/>
        <group name="NoLegs" required="N">
          <field name="LegSymbol" required="Y"/>
        </group>
      </group>
    </message>
    <message name="SecurityStatusRequest" msgtype="e" msgcat="app">
      <field name="SecurityStatusReqID" required="Y"/>
      <field name="SubscriptionRequestType" required="Y"/>
      <field name="Symbol" required="Y"/>
    </message>
    <message name="SecurityStatus" msgtype="f" msgcat="app">
      <field name="SecurityStatusReqID" required="Y"/>
      <field name="Symbol" required="Y"/>
      <field name="SecurityTradingStatus" required="N"/>
      <field name="Text" required="N"/>
    </message>
    <message name="SecurityMassStatusRequest" msgtype="CN" msgcat="app">
      <field name="SecurityStatusReqID" required="Y"/>
      <field name="SubscriptionRequestType" required="Y"/>
      <group name="NoInstrumentScopes" required="N">
        <field name="InstrumentScopeOperator" required="Y"/>
        <field name="InstrumentScopeSecurityType" required="Y"/>
      </group>
    </message>
    <message name="SecurityMassStatus" msgtype="CO" msgcat="app">
      <field name="SecurityStatusReqID" required="Y"/>
      <group name="NoRelatedSym" required="Y">
        <field name="Symbol" required="Y"/>
        <field name="SecurityTradingStatus" required="Y"/>
      </group>
    </message>
    <message name="SecurityListUpdateReport" msgtype="BK" msgcat="app">
      <field name="SecurityReqID" required="Y"/>
      <field name="SecurityUpdateAction" required="Y"/>
      <group name="NoRelatedSym" required="Y">
        <field name="Symbol" required="Y"/>
        <field name="MinPriceIncrement" required="N"/>
        <field name="MinTradeVol" required="N"/>
        <field name="LowLimitPrice" required="N"/>
        <field name="HighLimitPrice" required="N"/>
        <group name="NoLegs" required="N">
          <field name="LegSymbol" required="Y"/>
        </group>
      </group>
    </message>
  </messages>
  <fields>
    <field number="8" name="BeginString" type="STRING"/>
    <field number="9" name="BodyLength" type="LENGTH"/>
    <field number="10" name="CheckSum" type="STRING"/>
    <field number="7" name="BeginSeqNo" type="SEQNUM"/>
    <field number="16" name="EndSeqNo" type="SEQNUM"/>
    <field number="34" name="MsgSeqNum" type="SEQNUM"/>
    <field number="35" name="MsgType" type="STRING"/>
    <field number="36" name="NewSeqNo" type="SEQNUM"/>
    <field number="43" name="PossDupFlag" type="BOOLEAN"/>
    <field number="45" name="RefSeqNum" type="SEQNUM"/>
    <field number="49" name="SenderCompID" type="STRING"/>
    <field number="52" name="SendingTime" type="UTCTIMESTAMP"/>
    <field number="55" name="Symbol" type="STRING"/>
    <field number="56" name="TargetCompID" type="STRING"/>
    <field number="167" name="SecurityType" type="STRING"/>
    <field number="58" name="Text" type="STRING"/>
    <field number="97" name="PossResend" type="BOOLEAN"/>
    <field number="98" name="EncryptMethod" type="INT"/>
    <field number="108" name="HeartBtInt" type="INT"/>
    <field number="112" name="TestReqID" type="STRING"/>
    <field number="123" name="GapFillFlag" type="BOOLEAN"/>
    <field number="141" name="ResetSeqNumFlag" type="BOOLEAN"/>
    <field number="262" name="MDReqID" type="STRING"/>
    <field number="263" name="SubscriptionRequestType" type="CHAR">
      <value enum="0" description="SNAPSHOT"/>
      <value enum="1" description="SNAPSHOT_PLUS_UPDATES"/>
      <value enum="2" description="DISABLE_PREVIOUS_SNAPSHOT_PLUS_UPDATE_REQUEST"/>
    </field>
    <field number="264" name="MarketDepth" type="INT"/>
    <field number="265" name="MDUpdateType" type="INT">
      <value enum="0" description="FULL_REFRESH"/>
      <value enum="1" description="INCREMENTAL_REFRESH"/>
    </field>
    <field number="266" name="AggregatedBook" type="BOOLEAN"/>
    <field number="267" name="NoMDEntryTypes" type="NUMINGROUP"/>
    <field number="268" name="NoMDEntries" type="NUMINGROUP"/>
    <field number="146" name="NoRelatedSym" type="NUMINGROUP"/>
    <field number="269" name="MDEntryType" type="CHAR">
      <value enum="0" description="BID"/>
      <value enum="1" description="OFFER"/>
      <value enum="2" description="TRADE"/>
    </field>
    <field number="270" name="MDEntryPx" type="PRICE"/>
    <field number="271" name="MDEntrySize" type="QTY"/>
    <field number="272" name="MDEntryDate" type="UTCDATEONLY"/>
    <field number="273" name="MDEntryTime" type="UTCTIMEONLY"/>
    <field number="278" name="MDEntryID" type="STRING"/>
    <field number="279" name="MDUpdateAction" type="CHAR">
      <value enum="0" description="NEW"/>
      <value enum="1" description="CHANGE"/>
      <value enum="2" description="DELETE"/>
    </field>
    <field number="281" name="MDReqRejReason" type="CHAR">
      <value enum="0" description="UNKNOWN_SYMBOL"/>
      <value enum="1" description="DUPLICATE_MDREQID"/>
      <value enum="4" description="UNSUPPORTED_SUBSCRIPTIONREQUESTTYPE"/>
      <value enum="5" description="UNSUPPORTED_MARKETDEPTH"/>
      <value enum="6" description="UNSUPPORTED_MDUPDATETYPE"/>
      <value enum="8" description="UNSUPPORTED_MDENTRYTYPE"/>
    </field>
    <field number="828" name="TrdType" type="INT">
      <value enum="0" description="REGULAR_TRADE"/>
    </field>
    <field number="2446" name="AggressorSide" type="CHAR">
      <value enum="1" description="BUY"/>
      <value enum="2" description="SELL"/>
    </field>
    <field number="326" name="SecurityTradingStatus" type="INT">
      <value enum="2" description="TRADING_HALT"/>
      <value enum="17" description="READY_TO_TRADE"/>
    </field>
    <field number="290" name="MDEntryPositionNo" type="INT"/>
    <field number="371" name="RefTagID" type="INT"/>
    <field number="372" name="RefMsgType" type="STRING"/>
    <field number="373" name="SessionRejectReason" type="INT"/>
    <field number="320" name="SecurityReqID" type="STRING"/>
    <field number="322" name="SecurityResponseID" type="STRING"/>
    <field number="559" name="SecurityListRequestType" type="INT">
      <value enum="0" description="SYMBOL"/>
      <value enum="1" description="SECURITYTYPE_AND_OR_CFICODE"/>
      <value enum="2" description="PRODUCT"/>
      <value enum="3" description="TRADINGSESSIONID"/>
      <value enum="4" description="ALL_SECURITIES"/>
    </field>
    <field number="560" name="SecurityRequestResult" type="INT">
      <value enum="0" description="VALID_REQUEST"/>
      <value enum="1" description="INVALID_OR_UNSUPPORTED_REQUEST"/>
      <value enum="2" description="NO_INSTRUMENTS_FOUND"/>
      <value enum="5" description="NOT_SUPPORTED"/>
    </field>
    <field number="980" name="SecurityUpdateAction" type="CHAR">
      <value enum="A" description="ADD"/>
      <value enum="D" description="DELETE"/>
    </field>
    <field number="969" name="MinPriceIncrement" type="PRICE"/>
    <field number="562" name="MinTradeVol" type="QTY"/>
    <field number="1148" name="LowLimitPrice" type="PRICE"/>
    <field number="1149" name="HighLimitPrice" type="PRICE"/>
    <field number="555" name="NoLegs" type="NUMINGROUP"/>
    <field number="600" name="LegSymbol" type="STRING"/>
    <field number="324" name="SecurityStatusReqID" type="STRING"/>
    <field number="1656" name="NoInstrumentScopes" type="NUMINGROUP"/>
    <field number="1535" name="InstrumentScopeOperator" type="INT">
      <value enum="1" description="INCLUDE"/>
      <value enum="2" description="EXCLUDE"/>
    </field>
    <field number="1547" name="InstrumentScopeSecurityType" type="STRING">
      <value enum="EVENT" description="EVENT_CONTRACT"/>
      <value enum="MLEG" description="MULTILEG_INSTRUMENT"/>
    </field>
  </fields>
</fix>
