Overview
When sending the instrument component block in a FIX client request, you can specify the instrument in any of the following methods:
By security ID
You can use the security ID method for all cases. Instead of including the entire instrument block when communicating with TT FIX, client applications can use Tag 48 (SecurityID) and Tag 55 (Symbol).
By security Alt ID
You can only use the security Alt ID method for contracts for which the exchange populates Tag 455 (SecurityAltID). For those exchanges that support alternate security ID (sometimes called aliases), client applications can use Tag 455 (SecurityAltID) to specify its alternate security ID. As instruments on different exchanges can share the same value for SecurityAltID, including SecurityExchange creates a unique identifier for each instrument.
By security name
You can use the security name method for all contracts on all exchanges with the following exceptions. Note that you cannot use the security name method for ICE contracts that use daily, weekly, variable, and undefined delivery terms. You can also identify instruments by specifying its name and characteristics. You might use this method if your application or business practices do not use security IDs.
| Tag | Name | Type | Required | Comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 48 | SecurityID | STRING | Y | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22 | IDSource | STRING | Y | Source for the value of tag 48 (SecurityID). Note: The following markets support RIC codes (22=5) for identifying futures, spreads and options
Note: The combination of this tag and tag 48 (SecurityID) must uniquely identify an instrument in the TT platform. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 207 | SecurityExchange | EXCHANGE | C Required when Tag 100 (ExtDestination) is absent and when tag 22 (IDSource) is 8 (Exchange symbol), 97 (Alias) or 9 (Name). | Name of the market where the instrument trades. TT FIX uses this value to identify the exchange that offers the Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 207 | SecurityExchange | EXCHANGE | C Required when Tag 100 (ExtDestination) is absent | Name of the market where the instrument trades. TT FIX uses this value to identify the exchange that offers the Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 207 | SecurityExchange | EXCHANGE | C Required when Tag 100 (ExtDestination) is absent | Name of the market where the instrument trades. TT FIX uses this value to identify the exchange that offers the Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 100 | ExDestination | EXCHANGE | C Required when Tag 207 (SecurityExchange) is absent and when tag 22 (IDSource) is 8 (Exchange symbol), 97 (Alias) or 9 (Name). | Market Identifier Code (MIC) of the sub-market where the instrument trades. Execution destination for the order as defined by the institution Some traders use this tag in place of Tag 207 (SecurityExchange) to ISO 10383 defines a comprehensive list of MIC codes. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 100 | ExDestination | EXCHANGE | C Required when Tag 207 (SecurityExchange) is absent | Market Identifier Code (MIC) of the sub-market where the instrument trades. Execution destination for the order as defined by the institution Some traders use this tag in place of Tag 207 (SecurityExchange) to ISO 10383 defines a comprehensive list of MIC codes. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 100 | ExDestination | EXCHANGE | C Required when Tag 207 (SecurityExchange) is absent | Name of the sub-market where the instrument trades. Execution destination for the order as defined by the institution Some traders use this tag in place of Tag 207 (SecurityExchange) to ISO 10383 defines a comprehensive list of MIC codes. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 461 | CFICode | STRING | N |
Type of security using ISO 10962 standard,
Note: For SPOT and CUR products, you must also Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 167 | SecurityType | STRING | Y | Asset class of the instrument. Possible values:
Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 167 | SecurityType | STRING | Y | Asset class of the instrument. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 460 | Product | INT | N | Product type associated with the security. Note: Sent only in Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 107 | SecurityDesc | STRING | N | Security description. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 454 | NoSecurityAltID | NUMINGROUP | Y | Number of alternate security IDs in this repeating group | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 455 | SecurityAltID | STRING | Y |
Alternate ID for an instrument or security, typically for display | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 456 | SecurityAltIDSource | STRING | Y | Identifies class or source of the SecurityAltID (455) value. Notes: 99 (Other) is not valid for order routing requests. At this time, TT does not support FIX order routing or FIX market data subscriptions using CUSIP numbers for BrokerTec Treasury securities on CME. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 16207 | BloombergSecurityExchange | STRING | C | Name of the market where the instrument of the SecurityAltID (455) value trades. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | Symbol | STRING | Y | Exchange-provided product symbol for the tradable product. When specifying instruments for NewOrderMultileg (AB) and MultilegOrderCancelReplace (AC):
Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | Symbol | STRING | Y | Exchange-provided product symbol for the tradable product. When specifying instruments for NewOrderMultileg (AB) and MultilegOrderCancelReplace (AC):
Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 55 | Symbol | STRING | C Not used when Tag 167 (SecurityType)=MLEG. | Exchange-provided product symbol for the tradable product. When specifying instruments for NewOrderMultileg (AB) and MultilegOrderCancelReplace (AC):
Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 200 | MaturityMonthYear | MONTHYEAR | C Required when Tag 541 is not specified and Tag 167 (SecurityType) is not MLEG or SPOT | Month and year the instrument reaches maturity in the format YYYYMM. Note: If included, tag 541 (MaturityDate) will override this tag. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 541 | MaturityDate | LOCALMKTDATE | C Required when Tag 200 is not specified and Tag 167 (SecurityType) is not MLEG or SPOT | Maturity date in format YYYYMMDD. Note: This tag value overrides tag 200 (MaturityMonthYear) and tag 205 (MaturityDay), if they are also specified. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. Note: This tag value overrides tag 200 (MaturityMonthYear) and tag 205 (MaturityDay), if they are also specified. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 205 | MaturityDay | DAYOFMONTH | C Required when multiple contracts exist for the same month | Day of expiration for the instrument. TT FIX uses this value and tag 200 (MaturityMonthYear) to specify the maturity date when tag 167 Whenever possible, tag 200 will match the Month & Year shown in TT Market Explorer, not the tag 541/Maturity Note: If included, tag 541 (MaturityDate) will Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. Range: 1-31 TT FIX uses this value and tag 200 (MaturityMonthYear) to specify the maturity date when tag 167 (SecurityType) is not MLEG and tag 18211 (DeliveryTerm) is not Month. Whenever possible, tag 200 will match the Month & Year shown in TT Market Explorer, not the tag 541/Maturity Date field. In those cases where the MonthYear does not match, the value in tag 205 will be the day from tag 541, not necessarily the day associated with tag 200 MonthYear. Range: 1-31 Note: If included, tag 541 (MaturityDate) will override this tag. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18223 | ContractYearMonth | STRING | N | Contract term in the form, YYYYMM Condition: Sent when Tag 167 (SecurityType) is not MLEG | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 18211 | DeliveryTerm | CHAR | C Required when both of the following are true:
| Term of delivery for the instrument. TT FIX uses this value to identify contracts that do not have a monthly delivery term. Note: When Tag 18211 DeliveryTerm equals any value except ‘M’, ‘Y’ or ‘Q’, then you must specify the delivery day/date in Tag 205 MaturityDay or Tag 541 MaturityDate. Note: If you include this tag for instrument’s that do not require it, TT FIX rejects the request. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. Possible values:
Note: If you include this tag for instrument’s that do not require it, TT FIX rejects the request. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 743 | DeliveryDate | LOCALMKTDATE | N | Date for contract delivery Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 201 | PutOrCall | INT | C Required when Tag 167 (SecurityType) is OPT | Whether the option represents a put or call Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 202 | StrikePrice | PRICE | C Required when Tag 167 (SecurityType) is OPT | Strike price for an option Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 15 | Currency | CURRENCY | C | ISO-standard symbol for the instrument’s trading currency. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 206 | OptAttribute | CHAR | C Required when both of the following are true:
| Additional information about the option contract. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 762 | SecuritySubType | STRING | N | Sub-type qualification or identification of the SecurityType For example, an instrument with SecurityType(167)=”MLEG” might use this tag to specify the name of the option or futures strategy, such as “Calendar”, “Vertical”, or “Butterfly”. For synthetic staged orders, i.e., HandlInst (21)=3 and SecurityType(167)=”Synthetic”, the TT FIX engine checks whether the instrument already exists and automatically creates the synthetic spread if the instrument does not exist. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. For synthetic staged orders, i.e., HandlInst (21)=3 and SecurityType(167)=”Synthetic”, the TT FIX engine checks whether the instrument already exists and automatically creates the synthetic spread if the instrument does not exist. Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1194 | ExerciseStyle | INT | N | Type of exercise for a derivatives security. Conditional: This value only sent if supported by the exchange. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1194 | ExerciseStyle | INT | N | Type of exercise for a derivatives security. Conditional: This value only sent if supported by the exchange. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1194 | ExerciseStyle | INT | N | Type of exercise for a derivatives security. Conditional: This value only sent if supported by the exchange. Possible values:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| LegInstrumentGrp | C Required when the value of tag 167 (SecurityType) is MLEG for New Order Single (D) and Order Cancel/Replace Request (G) messages. | Repeating group of legs in a multileg instrument The leg instrument group component block uses the same structure as the instrument component block sent from TT FIX to FIX clients, except that all of its tags represent the legs of an exchange-traded strategy. For example, instead of Tag 55 (Symbol) this block contains Tag 600 (LegSymbol). Note: This tag can be included in messages sent from TT FIX Drop Copy sessions when the Compliance Feed (Send original order/cancel/change messages and pending execution reports) setting is enabled in Setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||