<fix type="FIX" major="4" minor="4">
    <header>
        <field name="BeginString" required="Y"/>
        <field name="BodyLength" required="Y"/>
        <field name="MsgType" required="Y"/>
        <field name="SenderCompID" required="Y"/>
        <field name="SenderSubID" required="N"/>
        <field name="SenderLocationID" required="N"/>
        <field name="TargetCompID" required="Y"/>
        <field name="TargetSubID" required="N"/>
        <field name="TargetLocationID" required="N"/>
        <field name="MsgSeqNum" required="Y"/>
        <field name="PossDupFlag" required="N"/>
        <field name="PossResend" required="N"/>
        <field name="SendingTime" required="Y"/>
        <field name="OrigSendingTime" required="N"/>
        <field name="LastMsgSeqNumProcessed" required="N"/>
        <field name="OnBehalfOfCompID" required="N"/>
    </header>
    <trailer>
        <field name="CheckSum" required="Y"/>
    </trailer>
    <messages>

        <message name="Heartbeat" msgtype="0" msgcat="admin">
            <field name="TestReqID" required="N"/>
        </message>
        <message name="TestRequest" msgtype="1" msgcat="admin">
            <field name="TestReqID" required="Y"/>
        </message>
        <message name="ResendRequest" msgtype="2" msgcat="admin">
            <field name="BeginSeqNo" required="Y"/>
            <field name="EndSeqNo" required="Y"/>
        </message>
        <message name="Reject" msgtype="3" msgcat="admin">
            <field name="RefSeqNum" required="Y"/>
            <field name="RefTagID" required="N"/>
            <field name="RefMsgType" required="N"/>
            <field name="SessionRejectReason" required="N"/>
            <field name="Text" required="N"/>
        </message>
        <message name="SequenceReset" msgtype="4" msgcat="admin">
            <field name="GapFillFlag" required="N"/>
            <field name="NewSeqNo" required="Y"/>
        </message>
        <message name="Logout" msgtype="5" msgcat="admin">
            <field name="Text" required="N"/>
            <field name="SessionStatus" required="N"/>
        </message>
        <message name="Logon" msgtype="A" msgcat="admin">
            <field name="EncryptMethod" required="Y"/>
            <field name="HeartBtInt" required="Y"/>
            <field name="ResetSeqNumFlag" required="N"/>
            <field name="Password" required="N"/>
            <field name="SessionStatus" required="N"/>
        </message>
        <message name="News" msgtype="B" msgcat="admin">
            <field name="Headline" required="Y"/>
        </message>

        <message name="NewOrderSingle" msgtype="D" msgcat="app">
            <field name="ClOrdID" required="Y"/>
            <field name="Account" required="Y"/>
            <field name="Symbol" required="Y"/>
            <field name="Side" required="Y"/>
            <field name="TransactTime" required="Y"/>
            <field name="OrderQty" required="Y"/>
            <field name="OrdType" required="Y"/>
            <field name="Price" required="N"/>
            <field name="StopPx" required="N"/>
            <field name="TimeInForce" required="N"/>
            <field name="CashMargin" required="N"/>
            <field name="MmpEnabled" required="N"/>
        </message>
        <message name="ExecutionReport" msgtype="8" msgcat="app">
            <field name="OrderID" required="Y"/>
            <field name="ClOrdID" required="N"/>
            <field name="Account" required="Y"/>
            <field name="CashMargin" required="N"/>
            <field name="ExecID" required="N"/>
            <field name="MassActionReportID" required="N"/>
            <field name="ExecType" required="Y"/>
            <field name="ExecRestatementReason" required="N"/>
            <field name="OrdStatus" required="Y"/>
            <field name="OrdRejReason" required="N"/>
            <field name="Text" required="N"/>
            <field name="Symbol" required="Y"/>
            <field name="Side" required="Y"/>
            <field name="Price" required="N"/>
            <field name="StopPx" required="N"/>
            <field name="LastQty" required="N"/>
            <field name="LastPx" required="N"/>
            <field name="AvgPx" required="N"/>
            <field name="CumQty" required="Y"/>
            <field name="TransactTime" required="Y"/>
            <field name="OrderQty" required="Y"/>
            <field name="LeavesQty" required="Y"/>
            <field name="OrdType" required="Y"/>
            <field name="TimeInForce" required="Y"/>
            <group name="NoMiscFees" required="N">
                <field name="MiscFeeAmt" required="N"/>
                <field name="MiscFeeCurr" required="N"/>
                <field name="MiscFeeType" required="N"/>
            </group>
            <field name="GrossTradeAmt" required="N"/>
            <field name="CopyMsgIndicator" required="N"/>
            <field name="AggressorIndicator" required="N"/>
            <field name="BorrowedQty" required="N"/>
            <field name="BorrowedQtyCurr" required="N"/>
            <field name="TradeFeeRebateAmt" required="N"/>
            <field name="TradeFeeRebateAsset" required="N"/>
        </message>
        <message name="OrderCancelRequest" msgtype="F" msgcat="app">
            <field name="OrderID" required="N"/>
            <field name="OrigClOrdID" required="Y"/>
            <field name="ClOrdID" required="Y"/>
            <field name="Account" required="Y"/>
            <field name="Symbol" required="Y"/>
            <field name="TransactTime" required="Y"/>
        </message>
        <message name="OrderCancelReject" msgtype="9" msgcat="app">
            <field name="OrderID" required="N"/>
            <field name="OrigClOrdID" required="Y"/>
            <field name="ClOrdID" required="Y"/>
            <field name="OrdStatus" required="Y"/>
            <field name="CxlRejResponseTo" required="Y"/>
            <field name="CxlRejReason" required="Y"/>
            <field name="RejectText" required="Y"/>
            <field name="TransactTime" required="Y"/>
        </message>
        <message name="OrderMassCancelRequest" msgtype="q" msgcat="app">
            <field name="ClOrdID" required="Y"/>
            <field name="MassCancelRequestType" required="Y"/>
            <field name="TransactTime" required="Y"/>
            <field name="Account" required="Y"/>
            <field name="Symbol" required="N"/>
            <field name="SecurityType" required="N"/>
            <field name="UnderlyingBaseSymbol" required="N"/>
        </message>
        <message name="OrderMassCancelReport" msgtype="r" msgcat="app">
            <field name="ClOrdID" required="Y"/>
            <field name="MassActionReportID" required="Y"/>
            <field name="MassCancelRequestType" required="Y"/>
            <field name="MassCancelResponse" required="Y"/>
            <field name="MassCancelRejectReason" required="N"/>
            <field name="Text" required="N"/>
            <field name="TransactTime" required="Y"/>
        </message>
        <message name="OrderCancelReplaceRequest" msgtype="G" msgcat="app">
            <field name="OrderID" required="N"/>
            <field name="OrigClOrdID" required="Y"/>
            <field name="ClOrdID" required="Y"/>
            <field name="Account" required="Y"/>
            <field name="Symbol" required="Y"/>
            <field name="OrderQty" required="N"/>
            <field name="OrdType" required="N"/>
            <field name="Price" required="N"/>
            <field name="TransactTime" required="Y"/>
        </message>

        <message name="SecurityListRequest" msgtype="x" msgcat="app">
            <field name="SecurityReqID" required="Y"/>
            <field name="SecurityListRequestType" required="Y"/>
            <field name="Symbol" required="N"/>
        </message>
        <message name="SecurityList" msgtype="y" msgcat="app">
            <field name="SecurityReqID" required="Y"/>
            <field name="SecurityRequestResult" required="Y"/>
            <field name="SecurityRejectReason" required="N"/>
            <field name="TransactTime" required="Y"/>
            <field name="LastFragment" required="N"/>
            <group name="NoRelatedSym" required="Y">
                <field name="Symbol" required="Y"/>
                <group name="NoRelatedInstruments" required="Y">
                    <field name="RelatedSymbol" required="Y"/>
                    <field name="RelatedSecurityType" required="Y"/>
                </group>
                <field name="MinPriceIncrement" required="Y"/>
                <field name="MinQtySize" required="Y"/>
                <field name="MaxQtySize" required="Y"/>
                <field name="PricePrecision" required="Y"/>
                <field name="QtyPrecision" required="Y"/>
                <field name="MarginEnabled" required="Y"/>
            </group>
        </message>

        <message name="TradingSessionStatus" msgtype="h" msgcat="app">
            <field name="TradingSessionID" required="Y"/>
            <field name="UnsolicitedIndicator" required="Y"/>
            <field name="TradSesStatus" required="Y"/>
            <field name="TradSesEvent" required="Y"/>
            <field name="Text" required="N"/>
            <field name="Symbol" required="N"/>
        </message>
    </messages>
    <fields>

        <field number="8" name="BeginString" type="STRING"/>
        <field number="9" name="BodyLength" type="LENGTH"/>
        <field number="35" name="MsgType" type="STRING">
            <value enum="0" description="HEARTBEAT"/>
            <value enum="1" description="TEST_REQUEST"/>
            <value enum="2" description="RESEND_REQUEST"/>
            <value enum="3" description="REJECT"/>
            <value enum="4" description="SEQUENCE_RESET"/>
            <value enum="5" description="LOGOUT"/>
            <value enum="8" description="EXECUTION_REPORT"/>
            <value enum="A" description="LOGON"/>
            <value enum="B" description="NEWS"/>
            <value enum="D" description="ORDER_SINGLE"/>
            <value enum="F" description="ORDER_CANCEL_REQUEST"/>
            <value enum="G" description="ORDER_CANCEL_REPLACE_REQUEST"/>
            <value enum="9" description="ORDER_CANCEL_REJECT"/>
            <value enum="x" description="SECURITY_LIST_REQUEST"/>
            <value enum="y" description="SECURITY_LIST"/>
            <value enum="h" description="TRADING_SESSION_STATUS"/>
            <value enum="q" description="MASS_ORDER_CANCEL"/>
            <value enum="r" description="MASS_ORDER_CANCEL_REPORT"/>
        </field>
        <field number="10" name="CheckSum" type="STRING"/>
        <field number="49" name="SenderCompID" type="STRING"/>
        <field number="50" name="SenderSubID" type="STRING"/>
        <field number="115" name="OnBehalfOfCompID" type="STRING"/>
        <field number="142" name="SenderLocationID" type="STRING"/>
        <field number="56" name="TargetCompID" type="STRING"/>
        <field number="57" name="TargetSubID" type="STRING"/>
        <field number="143" name="TargetLocationID" type="STRING"/>
        <field number="34" name="MsgSeqNum" type="SEQNUM"/>
        <field number="43" name="PossDupFlag" type="BOOLEAN"/>
        <field number="97" name="PossResend" type="BOOLEAN"/>
        <field number="52" name="SendingTime" type="UTCTIMESTAMP"/>
        <field number="122" name="OrigSendingTime" type="UTCTIMESTAMP"/>
        <field number="369" name="LastMsgSeqNumProcessed" type="SEQNUM"/>
        <field number="112" name="TestReqID" type="STRING"/>
        <field number="7" name="BeginSeqNo" type="SEQNUM"/>
        <field number="16" name="EndSeqNo" type="SEQNUM"/>
        <field number="45" name="RefSeqNum" type="SEQNUM"/>
        <field number="371" name="RefTagID" type="INT"/>
        <field number="372" name="RefMsgType" type="STRING"/>
        <field number="1409" name="SessionStatus" type="INT">
            <value enum="0" description="SESSION_ACTIVE"/>
            <value enum="4" description="SESSION_LOGOUT_COMPLETE"/>
            <value enum="5" description="INVALID_USERNAME_OR_PASSWORD"/>
            <value enum="6" description="ACCOUNT_LOCKED"/>
            <value enum="7" description="LOGON_NOT_ALLOWED_AT_THIS_TIME"/>
            <value enum="8" description="PASSWORD_EXPIRED"/>
            <value enum="101" description="LOGOUT_DUE_TO_SEQUENCE_NUMBER_THRESHOLD"/>
            <value enum="102" description="CLOSED_DUE_TO_PLATFORM_HALT"/>
        </field>
        <field number="373" name="SessionRejectReason" type="INT">
            <value enum="0" description="INVALID_TAG_NUMBER"/>
            <value enum="1" description="REQUIRED_TAG_MISSING"/>
            <value enum="2" description="TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE"/>
            <value enum="3" description="UNDEFINED_TAG"/>
            <value enum="4" description="TAG_SPECIFIED_WITHOUT_A_VALUE"/>
            <value enum="5" description="VALUE_IS_INCORRECT"/>
            <value enum="6" description="INCORRECT_DATA_FORMAT_FOR_VALUE"/>

            <value enum="8" description="SIGNATURE_PROBLEM"/>
            <value enum="9" description="COMPID_PROBLEM"/>
            <value enum="10" description="SENDINGTIME_ACCURACY_PROBLEM"/>
            <value enum="11" description="INVALID_MSGTYPE"/>
            <value enum="13" description="TAG_APPEARS_MORE_THAN_ONCE"/>
            <value enum="14" description="TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER"/>
            <value enum="15" description="REPEATING_GROUP_FIELDS_OUT_OF_ORDER"/>
            <value enum="16" description="INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP"/>


            <value enum="99" description="OTHER"/>
        </field>
        <field number="58" name="Text" type="STRING"/>
        <field number="123" name="GapFillFlag" type="BOOLEAN"/>
        <field number="36" name="NewSeqNo" type="SEQNUM"/>
        <field number="98" name="EncryptMethod" type="INT">
            <value enum="0" description="NONE"/>
        </field>
        <field number="108" name="HeartBtInt" type="INT"/>
        <field number="148" name="Headline" type="STRING"/>
        <field number="141" name="ResetSeqNumFlag" type="BOOLEAN"/>
        <field number="554" name="Password" type="STRING"/>


        <field number="1" name="Account" type="STRING"/>
        <field number="6" name="AvgPx" type="PRICE"/>
        <field number="11" name="ClOrdID" type="STRING"/>
        <field number="14" name="CumQty" type="QTY"/>
        <field number="17" name="ExecID" type="STRING"/>
        <field number="31" name="LastPx" type="PRICE"/>
        <field number="32" name="LastQty" type="QTY"/>
        <field number="37" name="OrderID" type="STRING"/>
        <field number="38" name="OrderQty" type="QTY"/>
        <field number="39" name="OrdStatus" type="CHAR">
            <value enum="0" description="NEW"/>
            <value enum="1" description="PARTIALLY_FILLED"/>
            <value enum="2" description="FILLED"/>
            <value enum="4" description="CANCELED"/>
            <value enum="6" description="PENDING_CANCEL"/>
            <value enum="7" description="STOPPED"/>
            <value enum="8" description="REJECTED"/>
            <value enum="C" description="EXPIRED"/>
        </field>
        <field number="40" name="OrdType" type="CHAR">
            <value enum="1" description="MARKET"/>
            <value enum="2" description="LIMIT"/>
            <value enum="4" description="STOP_LIMIT"/>
            <value enum="p" description="POST_ONLY"/>
        </field>
        <field number="41" name="OrigClOrdID" type="STRING"/>
        <field number="44" name="Price" type="PRICE"/>
        <field number="54" name="Side" type="CHAR">
            <value enum="1" description="BUY"/>
            <value enum="2" description="SELL"/>
        </field>
        <field number="55" name="Symbol" type="STRING"/>
        <field number="59" name="TimeInForce" type="CHAR">
            <value enum="1" description="GTC"/>
            <value enum="3" description="IOC"/>
            <value enum="4" description="FOK"/>
        </field>
        <field number="60" name="TransactTime" type="UTCTIMESTAMP"/>
        <field number="99" name="StopPx" type="PRICE"/>
        <field number="102" name="CxlRejReason" type="INT">
            <value enum="0" description="TOO_LATE_TO_CANCEL"/>
            <value enum="1" description="UNKNOWN_ORDER"/>
            <value enum="6" description="DUPLICATE_CLORDID"/>
            <value enum="99" description="OTHER"/>
            <value enum="3034" description="RATE_LIMIT_EXCEEDED"/>
            <value enum="3035" description="GLOBAL_RATE_LIMIT_EXCEEDED"/>
            <value enum="3036" description="RATE_LIMIT_INIT_ERROR"/>
        </field>
        <field number="103" name="OrdRejReason" type="INT">
            <value enum="1" description="UNKNOWN_SYMBOL"/>
            <value enum="5" description="UNKNOWN_ORDER"/>
            <value enum="6" description="DUPLICATE_ORDER"/>
            <value enum="13" description="INCORRECT_QUANTITY"/>
            <value enum="15" description="INVALID_ACCOUNT"/>
            <value enum="18" description="INVALID_PRICE_INCREMENT"/>
            <value enum="99" description="OTHER"/>
            <value enum="2013" description="INVALID_ORDER_TYPE"/>
            <value enum="2015" description="EXCEEDED_MAX_OPEN_MARGIN_ORDERS"/>
            <value enum="2021" description="EXCEEDED_MAX_OPEN_SPOT_ORDERS"/>
            <value enum="3001" description="INSUFFICIENT_ACCOUNT_BALANCE"/>
            <value enum="3003" description="BORROWING_IS_UNAVAILABLE"/>
            <value enum="3020" description="UNSOLICITED_CANCEL"/>
            <value enum="3021" description="FORCED_CANCEL"/>
            <value enum="3031" description="PRICE_IS_OUT_OF_RANGE"/>
            <value enum="3032" description="ORDER_IS_CLOSED_OR_REJECTED"/>
            <value enum="3033" description="LEVERAGE_INCREASE_NOT_PERMITTED"/>
            <value enum="3034" description="RATE_LIMIT_EXCEEDED"/>
            <value enum="3035" description="GLOBAL_RATE_LIMIT_EXCEEDED"/>
            <value enum="3036" description="RATE_LIMIT_INIT_ERROR"/>
            <value enum="3064" description="ORDER_FAILED_TO_MAKE_OR_TAKE"/>
            <value enum="3065" description="MARKET_OPEN_INTEREST_LIMIT_REACHED"/>
            <value enum="3066" description="CONCENTRATION_LIMIT_REACHED"/>
            <value enum="3067" description="MARKET_IS_EXPIRING_OR_EXPIRED"/>
            <value enum="3068" description="MARKET_IS_NOT_EXPIRING"/>
            <value enum="3069" description="POSS_DUPLICATE"/>
            <value enum="3070" description="CANNOT_PLACE_ORDER_DURING_MMP_FROZEN_PERIOD"/>
            <value enum="3071" description="ACTION_REJECT_STALE_RISK_PROFILE"/>
        </field>
        <field number="136" name="NoMiscFees" type="NUMINGROUP"/>
        <field number="137" name="MiscFeeAmt" type="AMT"/>
        <field number="138" name="MiscFeeCurr" type="CURRENCY"/>
        <field number="139" name="MiscFeeType" type="INT">
            <value enum="4" description="EXCHANGE_FEE"/>
        </field>
        <field number="146" name="NoRelatedSym" type="INT"/>
        <field number="150" name="ExecType" type="CHAR">
            <value enum="0" description="NEW"/>
            <value enum="4" description="CANCELED"/>
            <value enum="5" description="REPLACED"/>
            <value enum="6" description="PENDING_CANCEL"/>
            <value enum="7" description="STOPPED"/>
            <value enum="8" description="REJECTED"/>
            <value enum="C" description="EXPIRED"/>
            <value enum="D" description="RESTATED"/>
            <value enum="F" description="TRADE"/>
        </field>
        <field number="151" name="LeavesQty" type="QTY"/>
        <field number="167" name="SecurityType" type="CHAR">
            <value enum="1" description="PERPETUAL"/>
            <value enum="2" description="DATED_FUTURE"/>
            <value enum="3" description="OPTION"/>
        </field>
        <field number="320" name="SecurityReqID" type="STRING"/>
        <field number="325" name="UnsolicitedIndicator" type="BOOLEAN">
            <value enum="Y" description="UNSOLICITED"/>
        </field>
        <field number="336" name="TradingSessionID" type="STRING"/>
        <field number="340" name="TradSesStatus" type="INT">
            <value enum="1" description="HALTED"/>
            <value enum="2" description="OPEN"/>
        </field>
        <field number="378" name="ExecRestatementReason" type="CHAR">
            <value enum="5" description="PARTIAL_DECLINE_OF_ORDER_QTY"/>
        </field>
        <field number="381" name="GrossTradeAmt" type="AMT"/>
        <field number="434" name="CxlRejResponseTo" type="CHAR">
            <value enum="1" description="ORDER_CANCEL_REQUEST"/>
            <value enum="2" description="ORDER_CANCEL_REPLACE_REQUEST"/>
        </field>
        <field number="530" name="MassCancelRequestType" type="CHAR">
            <value enum="7" description="CANCEL_ALL_ORDERS"/>
        </field>
        <field number="531" name="MassCancelResponse" type="CHAR">
            <value enum="0" description="CANCEL_REQUEST_REJECTED"/>
            <value enum="7" description="CANCEL_ALL_ORDERS"/>
        </field>
        <field number="532" name="MassCancelRejectReason" type="INT">
            <value enum="99" description="OTHER"/>
        </field>
        <field number="544" name="CashMargin" type="CHAR">
            <value enum="1" description="CASH"/>
            <value enum="2" description="MARGIN_OPEN"/>
            <value enum="3" description="MARGIN_CLOSE"/>
        </field>
        <field number="559" name="SecurityListRequestType" type="INT">
            <value enum="0" description="SINGLE_SYMBOL"/>
            <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="INSTRUMENT_NOT_FOUND"/>
        </field>
        <field number="797" name="CopyMsgIndicator" type="BOOLEAN"/>
        <field number="893" name="LastFragment" type="BOOLEAN"/>
        <field number="969" name="MinPriceIncrement" type="FLOAT"/>
        <field number="1057" name="AggressorIndicator" type="BOOLEAN"/>
        <field number="1328" name="RejectText" type="STRING"/>
        <field number="1368" name="TradSesEvent" type="INT">
            <value enum="0" description="TRADING_RESUMES"/>
            <value enum="3" description="CHANGE_OF_TRADING_STATUS"/>
        </field>
        <field number="1369" name="MassActionReportID" type="STRING"/>
        <field number="1607" name="SecurityRejectReason" type="INT"/>
        <field number="1647" name="NoRelatedInstruments" type="INT"/>
        <field number="1649" name="RelatedSymbol" type="STRING"/>
        <field number="1652" name="RelatedSecurityType" type="STRING">
            <value enum="DIGITAL" description="CRYPTOCURRENCY"/>
            <value enum="CASH" description="FIAT_CURRENCY"/>
        </field>
        <field number="8000" name="MinQtySize" type="FLOAT"/>
        <field number="8001" name="MaxQtySize" type="FLOAT"/>
        <field number="8002" name="PricePrecision" type="INT"/>
        <field number="8003" name="QtyPrecision" type="INT"/>
        <field number="8004" name="BorrowedQty" type="QTY"/>
        <field number="8005" name="MarginEnabled" type="BOOLEAN"/>
        <field number="8006" name="BorrowedQtyCurr" type="CURRENCY"/>
        <field number="20000" name="TradeFeeRebateAmt" type="AMT"/>
        <field number="20001" name="TradeFeeRebateAsset" type="STRING"/>
        <field number="20002" name="MmpEnabled" type="BOOLEAN"/>
        <field number="20003" name="UnderlyingBaseSymbol" type="STRING"/>
    </fields>
</fix>
