Configuring TIBCO iProcess Objects Director
TIBCO iProcess Objects Director is configured with the use of process attributes in the Process Manager, using the following command line:
SWDIR\util\swadm set_attributeMachIDDIRECTORProcInstAttrNameAttrValue
where:
| • | MachID = Machine ID. If 0 (zero) is specified, the attribute is set on all machines in the cluster. |
| • | ProcInst = Instance of the TIBCO iProcess Objects Director process. If 0 (zero) is specified, the attribute is set on all instances of TIBCO iProcess Objects Director on the machine specified by MachID. (Note - Using 0 (zero) for ProcInst for the TCP_SERVICE_NAME or UDP_SERVICE_NAME process attributes causes a “base” TCP or UDP port to be established. This is used to determine the TCP or UDP port for each instance of TIBCO iProcess Objects Director when using multiple instances of TIBCO iProcess Objects Director. For more information, see TCP and UDP Ports When Running Multiple Instances of the Director.) |
| • | AttrName = Name of the process attribute. |
| • | AttrValue = Value to assign to the process attribute. |
|
Note |
If an invalid value is specified for a TIBCO iProcess Objects Director process attribute, the attribute is set to its default value, plus an entry is written to the Windows Event Log (Windows systems) or the Also, if you delete an instance-specific TIBCO iProcess Objects Director process attribute (with delete_attribute), the process attribute value reverts to the default value for that attribute (see the table on the following pages for the default values for each attribute). Note that this only applies to the process attributes that can be changed while TIBCO iProcess Objects Director is running. |
TIBCO iProcess Objects Director Process Attributes
The following table lists the process attributes that are used to control TIBCO iProcess Objects Director.
|
Process Attribute |
Description |
||||||||||||||||||
|
Type: Integer Range: 1 to 7 Default: 1 |
This is the method TIBCO iProcess Objects Director uses when selecting a TIBCO iProcess Objects Server to connect the client to. They are: 1 - RandomTIBCO iProcess Objects Director randomly selects one of TIBCO iProcess Objects Servers. 2 - Round-RobinTIBCO iProcess Objects Director selects TIBCO iProcess Objects Servers in the order in which they appear in TIBCO iProcess Objects Director’s list of known Servers. 3 - Loaded RandomEach TIBCO iProcess Objects Server is given a certain percentage of the connections, based on a random number between 1 and 10 and the load factor that you’ve specified using the For example, suppose two TIBCO iProcess Objects Servers exist with specified load balances of 30% and 70%. If the random number falls between 1 and 3, the first TIBCO iProcess Objects Server (the one with a load balance of 30%) is given the connection; if the random number falls between 4 and 10, the second TIBCO iProcess Objects Server is given the connection. The LOAD_BALANCE attribute must be specified if using this pick method. |
||||||||||||||||||
|
|
4 - Connection Count Over a PeriodEach TIBCO iProcess Objects Server is given connections, based on the following factors:
TIBCO iProcess Objects Director determines the number of connections each TIBCO iProcess Objects Server has received during the delta period. It converts that number of connections to a percentage of the total number of connections for all TIBCO iProcess Objects Servers during the delta period. It then attempts to match that percentage with the percentage specified in the LOAD_BALANCE attribute, giving connections to TIBCO iProcess Objects Server that is furthest away from the percentage you’ve specified for that TIBCO iProcess Objects Server in the LOAD_BALANCE attribute. The connection statistics are updated periodically in the number of seconds specified in the SERVER_CHECK_PERIOD process attribute. The variance from the percentage specified by LOAD_BALANCE depends on how often the statistical information is checked. The LOAD_BALANCE attribute must be specified if using this pick method. |
||||||||||||||||||
|
|
5 - Total Connection CountEach TIBCO iProcess Objects Server is given connections, based on the following factors:
TIBCO iProcess Objects Director determines the total number of connections each TIBCO iProcess Objects Server has received since it was started. It converts that number of connections to a percentage of the total number of connections for all TIBCO iProcess Objects Servers. It then attempts to match that percentage with the percentage specified in the LOAD_BALANCE attribute, giving connections to TIBCO iProcess Objects Server that is furthest away from the percentage you’ve specified for that TIBCO iProcess Objects Server in the LOAD_BALANCE attribute. The connection statistics are updated periodically in the number of seconds specified in the SERVER_CHECK_PERIOD process attribute. The variance from the percentage specified by LOAD_BALANCE depends on how often the statistical information is checked. The LOAD_BALANCE attribute must be specified if using this pick method. |
||||||||||||||||||
|
|
6 - Transaction Count Over a PeriodEach TIBCO iProcess Objects Server is given connections, based on the following factors:
TIBCO iProcess Objects Director determines the number of transactions each TIBCO iProcess Objects Server has processed during the delta period. It converts that number of transactions to a percentage of the total number of transactions for all TIBCO iProcess Objects Servers during the delta period. It then attempts to match that percentage with the percentage specified in the LOAD_BALANCE attribute, giving connections to TIBCO iProcess Objects Server that is furthest away from the percentage you’ve specified for that TIBCO iProcess Objects Server in the LOAD_BALANCE attribute. The transaction statistics are updated periodically in the number of seconds specified in the SERVER_CHECK_PERIOD process attribute. The variance from the percentage specified by LOAD_BALANCE depends on how often the statistical information is checked. Note: A transaction consists of a request from the client to TIBCO iProcess Objects Server, and the response from TIBCO iProcess Objects Server back to the client. It is synonymous with "message" request/response (it has nothing to do with database transactions). This pick method allows you to balance load based on network traffic (for example, messages) rather than connections. The LOAD_BALANCE attribute must be specified if using this pick method. |
||||||||||||||||||
|
|
7 - Total Transaction CountEach TIBCO iProcess Objects Server is given connections, based on the following factors:
TIBCO iProcess Objects Director determines the total number of transactions each TIBCO iProcess Objects Server has processed since the server was started. It converts that number of transactions to a percentage of the total number of transactions for all TIBCO iProcess Objects Servers. It then attempts to match that percentage with the percentage specified in the LOAD_BALANCE attribute, giving connections to TIBCO iProcess Objects Server that is furthest away from the percentage you’ve specified for that TIBCO iProcess Objects Server in the LOAD_BALANCE attribute. The transaction statistics are updated periodically in the number of seconds specified in the SERVER_CHECK_PERIOD process attribute. The variance from the percentage specified by LOAD_BALANCE depends on how often the statistical information is checked. Note: A transaction consists of a request from the client to TIBCO iProcess Objects Server, and the response from TIBCO iProcess Objects Server back to the client. It is synonymous with "message" request/response (it has nothing to do with database transactions). This pick method allows you to balance load based on network traffic (i.e., messages) rather than connections. The total transaction count for a TIBCO iProcess Objects Server can be determined using the TotTransCnt property on the SWNodeInfoEx object (TIBCO iProcess Objects), or the getTotalTransCnt method on the vANode object (TIBCO iProcess Server Objects). The LOAD_BALANCE attribute must be specified if using this pick method. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: String Range: N/A Default: Undefined
|
This attribute allocates a load to each TIBCO iProcess Objects Server in the cluster. It calculates a percentage for each instance based on the total you’ve specified. Format : For example: 1|1=40,1|2=40,2|1=120 allocates the load as follows:
TIBCO iProcess Objects Director recalculates the load percentages, if TIBCO iProcess Objects Server becomes unavailable. So, if in our example, server Instance 1 on Node 2 became unavailable, the percentages would be recalculated as follows:
If a load balance is not specified for a known TIBCO iProcess Objects Server, it defaults to 0 (zero); it will not be given connections. This process attribute must be specified when using pick methods 3-7. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 4 Default: 2 |
Level of information written to the TIBCO iProcess Objects Director log file. The possible values are:
Note that if this attribute is set to level 4 (Debug), request/response messages are automatically written to the log, regardless of the setting of the TRACE_MSG attribute. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 9999 MB Default: 15 |
The maximum size in MB of the TIBCO iProcess Objects Director log file before it is rolled over. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 to 99999 Default: 0 |
The maximum number of archived log files created if the log rolls over. A value of 0 means, do not archive logs. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 (no) or 1 (yes) Default: 0 |
A flag that specifies if the client request and the response messages should be written to the log file. Note that request/response messages are written to the log if the LOG_LEVEL attribute is set to 4 (Debug), regardless of the setting of this attribute. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: String Range: N/A Default: 0xFFFFFFFF |
A set of bit flags to indicate which logging areas should be switched on. An individual category may be specified, or you can combine the category values, then set this attribute to the calculated value. LOGCAT_ALL 0xFFFFFFFF LOGCAT_MAIN_THREAD 0x00000001 LOGCAT_STATUS_UPDATE_THREAD 0x00000002 LOGCAT_PERIODIC_STATS_THREAD 0x00000004 LOGCAT_STATS_SEND_THREAD 0x00000008 LOGCAT_STATS_RECV_THREAD 0x00000010 LOGCAT_RECV_UDP_THREAD 0x00000020 LOGCAT_MESSAGE_SEND_THREAD 0x00000040 LOGCAT_MESSAGE_RECV_THREAD 0x00000080 LOGCAT_GET_ONE_NODE 0x00000100 LOGCAT_GET_ALL_NODES 0x00000200 LOGCAT_LOAD_BALANCE_THREAD 0x00000400 LOGCAT_LOG 0x01000000 LOGCAT_SAL_TIMING 0x02000000 This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 512 Default: 5 |
The number of threads TIBCO iProcess Objects Director has for processing client requests. This process attribute cannot be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 300 secs. Default: 15 |
The time in seconds that TIBCO iProcess Objects Director waits for a socket response from one of the TIBCO iProcess Objects Servers after requesting a statistics update. If a response is not received, the request is resent up to a maximum number of times indicated by MAX_SOCKET_ATTEMPTS. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 to 999999 Default: 1024 |
Used only on UNIX systems. This is used to allocate the proper amount of memory. Do not change the value of this attribute unless instructed by TIBCO Technical Support. This process attribute cannot be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 50 Default: 3 |
The maximum number of attempts to send a statistics message to a TIBCO iProcess Objects Server. Also, the maximum number of attempts to receive a response from a successfully sent statistics message. This is also the number of times TIBCO iProcess Objects Director attempts to connect to an iProcess Objects Server. It tries the specified number of times, wait for the period specified by the SERVER_CHECK_PERIOD attribute, then try this number of times again, indefinitely (or until the Process Manager notifies the TIBCO iProcess Objects Director that the iProcess Objects Server is no longer running). This process attribute can be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 (no) or 1 (yes) Default: 1 |
This flag specifies if TIBCO iProcess Objects Director should allocate the user to the TIBCO iProcess Objects Server instance that has already opened a SAL session for this user. If the value of this parameter is set to Note: This attribute is not defined on a newly installed TIBCO iProcess Objects Director. To use this attribute, you must explicitly assign a value to it using the |
||||||||||||||||||
|
Range: NA Default: DEFAULT
|
Specifies the “base” TCP port for TIBCO iProcess Objects Servers that uses TIBCO iProcess Objects Director. TIBCO iProcess Objects Director uses this to determine the port on which to establish the connection between a client and TIBCO iProcess Objects Server. It’s also used to send statistics messages to TIBCO iProcess Objects Server instances. The first instance of each TIBCO iProcess Objects Server uses the “base” TCP port, the second instance uses the “base” TCP port plus 1, and so on. The base TCP port can be specified in the following ways:
For more information, see TIBCO iProcess Objects Server TCP Port Configuration. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: String Range: NA Default: DEFAULT
|
Identifies the port number on which TIBCO iProcess Objects Director listens for client connections. This can be specified in the following ways:
To configure the TIBCO iProcess Objects Director to use a static TCP port, either specify the desired TCP port number in this process attribute or specify a “service name” that can map to the TCP port number. If using a service name, you must add the service name to the For information about configuring TCP ports when running multiple instances of the TIBCO iProcess Objects Director, see TCP and UDP Ports When Running Multiple Instances of the Director. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 8 pages Default: 1 |
Size of the TCP response buffer in pages. Each page is 2k bytes. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 to 999999 Default: 0 |
The number of TCP connection requests to allow the TCP kernel to queue up. The default of 0 (zero) means the maximum allowed by the kernel. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 (no) or 1 (yes) Default: 0
|
This flag specifies if the TIBCO iProcess Objects Director should employ TCP name resolution (DNS, host file, YP, etc.) for all client connection requests. If set to 0, the TIBCO iProcess Objects Director uses the client IP address and TCP connection port to identify clients. This parameter is used for debugging purposes. When set to 1, the machine name of the client appears in the log file, instead of the client’s IP address. This process attribute can be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Range: NA Default: DEFAULT |
Identifies the port number on which TIBCO iProcess Objects Director listens for UDP messages/broadcasts. This can be specified in one of the following ways:
For information about configuring UDP ports when running multiple instances of the TIBCO iProcess Objects Director, see TCP and UDP Ports When Running Multiple Instances of the Director. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: String Range: NA Default: TIBCO iProcess Objects Director |
UDP service description that TIBCO iProcess Objects Director sends in response to UDP broadcasts. This can be any string that can be useful to the client to identify the TIBCO iProcess Objects Director. This description is available in the SWNodeInfo.SWEOSrvDesc property (TIBCO iProcess Objects), or with the This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 - 3600 secs. Default: 30 |
The period in seconds that the TIBCO iProcess Objects Director waits between checking statistical information (number of connections, number of transactions) on the iProcess Objects Servers that are running. The TIBCO iProcess Objects Director uses this statistical information for pick methods 4-7. This is also the period that TIBCO iProcess Objects Director waits between attempts to connect to an iProcess Objects Server. It tries to connect the number of times specified by the MAX_SOCKET_ATTEMPTS attribute, wait for the specified time, then attempt again, indefinitely (or until the Process Manager notifies the TIBCO iProcess Objects Director that the iProcess Objects Server is no longer running). This process attribute can be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 60 – 3600 secs. Default: 600 |
The amount of time taken in the past to check for the number of connections and transactions that have occurred during that period. This time is used when the PICK_METHOD attribute is set to 4 or 6 (“connection count over a period” and “transaction count over a period”). For example, if the delta length is 600 seconds (the default), these pick methods look at the number of connections or transactions over the last 600 seconds to determine which TIBCO iProcess Objects Server should receive the next connection. This process attribute can be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 (no) or 1 (yes) Default: 0 |
Specifies whether or not to write errors to the system log (in UNIX systems) and the event log (in Windows systems). This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: String Range: N/A Default: HOSTNAME |
Specifies which TIBCO iProcess Objects Server the client connects to in two ways. They are:
|
||||||||||||||||||
|
Type: String Range: N/A Default: 0xFFFFFFFF |
A set of bit flags to indicate which logging areas should be switched on. An individual category may be specified, or you can combine the category values, then set this attribute to the calculated value. LOGCAT_ALL 0xFFFFFFFF LOGCAT_MAIN_THREAD 0x00000001 LOGCAT_STATUS_UPDATE_THREAD 0x00000002 LOGCAT_PERIODIC_STATS_THREAD 0x00000004 LOGCAT_STATS_SEND_THREAD 0x00000008 LOGCAT_STATS_RECV_THREAD 0x00000010 LOGCAT_RECV_UDP_THREAD 0x00000020 LOGCAT_MESSAGE_SEND_THREAD 0x00000040 LOGCAT_MESSAGE_RECV_THREAD 0x00000080 LOGCAT_GET_ONE_NODE 0x00000100 LOGCAT_GET_ALL_NODES 0x00000200 LOGCAT_LOAD_BALANCE_THREAD 0x00000400 LOGCAT_LOG 0x01000000 LOGCAT_SAL_TIMING 0x02000000 This process attribute can be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 512 Default: 5 |
The number of threads the TIBCO iProcess Objects Director has for processing client requests. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 300 secs. Default: 15 |
The time in seconds the TIBCO iProcess Objects Director will wait for a socket response from one of the TIBCO iProcess Objects Servers after requesting a statistics update. If a response is not received, the request is resent up to a maximum number of times indicated by MAX_SOCKET_ATTEMPTS (see ). This process attribute can be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 to 999999 Default: 1024 |
Used only on UNIX systems. This is used to allocate the proper amount of memory. Do not change the value of this attribute unless instructed by TIBCO Technical Support. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 1 to 50 Default: 3 |
Maximum number of attempts to send a statistics message to a TIBCO iProcess Objects Server. Also, the maximum number of attempts to receive a response from a successfully sent statistics message. This is also the number of times the TIBCO iProcess Objects Director will attempt to connect to an iProcess Objects Server. It will try this number of times, wait the period of time specified by the SERVER_CHECK_PERIOD attribute, then try this number of times again, indefinitely (or until the Process Manager notifies the TIBCO iProcess Objects Director that the iProcess Objects Server is no longer running). This process attribute can be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: Integer Range: 0 (no) or 1 (yes) Default: 1 |
This flag specifies if TIBCO iProcess Objects Director should allocate the user to the TIBCO iProcess Objects Server instance that has already opened a SAL session for this user. If the value of this parameter is set to Note: This attribute is not defined on a newly installed TIBCO iProcess Objects Director. To use this attribute, you must explicitly assign a value to it using the |
||||||||||||||||||
|
Range: NA Default: DEFAULT
|
Specifies the “base” TCP port for TIBCO iProcess Objects Servers that will be using this TIBCO iProcess Objects Director. The TIBCO iProcess Objects Director uses this to determine the port on which to establish the connection between a client and TIBCO iProcess Objects Server. It’s also used to send statistics messages to TIBCO iProcess Objects Server instances. The first instance of each TIBCO iProcess Objects Server uses the “base” TCP port, the second instance uses the “base” TCP port plus 1, and so on. The base TCP port can be specified in the following ways:
For more information, see TIBCO iProcess Objects Server TCP Port Configuration. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
||||||||||||||||||
|
Type: String Range: NA Default: DEFAULT
|
Identifies the port number on which the TIBCO iProcess Objects Director will listen for client connections. This can be specified in the following ways:
To configure the TIBCO iProcess Objects Director to use a static TCP port, either specify the desired TCP port number in this process attribute, or specify a “service name” that will map to the TCP port number. If using a service name, you must add the service name to the For information about configuring TCP ports when running multiple instances of the TIBCO iProcess Objects Director, see TCP and UDP Ports When Running Multiple Instances of the Director. This process attribute cannot be changed while the TIBCO iProcess Objects Director is running. |
|
Process Attribute |
Description |
||||||||||||
|
Type: Integer Range: 1 to 8 pages Default: 1 |
Size of the TCP response buffer in pages. Each page is 2k bytes. This process attribute cannot be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Type: Integer Range: 0 to 999999 Default: 0 |
Number of TCP connection requests to allow the TCP kernel to queue up. The default of 0 (zero) means the maximum allowed by the kernel. This process attribute cannot be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Type: Integer Range: 0 (no) or 1 (yes) Default: 0
|
This flag specifies if TIBCO iProcess Objects Director should employ TCP name resolution (DNS, host file, YP, etc.) for all client connection requests. If set to 0, TIBCO iProcess Objects Director uses the client IP address and TCP connection port to identify clients. This parameter is used for debugging purposes. When set to 1, the machine name of the client appears in the log file, instead of the client’s IP address. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Range: NA Default: DEFAULT |
Identifies the port number on which TIBCO iProcess Objects Director will listen for UDP messages/broadcasts. This can be specified in one of the following ways:
For information about configuring UDP ports when running multiple instances of TIBCO iProcess Objects Director, see TCP and UDP Ports When Running Multiple Instances of the Director. This process attribute cannot be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Type: String Range: NA Default: TIBCO iProcess Objects Director |
UDP service description that TIBCO iProcess Objects Director will send in response to UDP broadcasts. This can be any string that will be useful to the client to identify TIBCO iProcess Objects Director. This description is available in the SWNodeInfo.SWEOSrvDesc property (TIBCO iProcess Objects), or with the This process attribute cannot be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Type: Integer Range: 1 - 3600 secs. Default: 30 |
The time in seconds that TIBCO iProcess Objects Director waits between checking statistical information (number of connections, number of transactions) on the iProcess Objects Servers that are running. TIBCO iProcess Objects Director uses this statistical information for pick methods 4-7. This is also the amount of time that TIBCO iProcess Objects Director will wait between attempts to connect to an iProcess Objects Server. It will try to connect the number of times specified by the MAX_SOCKET_ATTEMPTS attribute, wait for the specified time, then attempt again, indefinitely (or until the Process Manager notifies TIBCO iProcess Objects Director that iProcess Objects Server is no longer running). This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Type: Integer Range: 60 – 3600 secs. Default: 600 |
The time taken in the past to check the number of connections and transactions that have occurred during that period. This duration is used when the PICK_METHOD attribute is set to 4 or 6 (“connection count over a period” and “transaction count over a period”). For example, if the delta length is 600 seconds (the default), these pick methods will look at the number of connections or transactions over the last 600 seconds to determine which TIBCO iProcess Objects Server should receive the next connection. This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Type: Integer Range: 0 (no) or 1 (yes) Default: 0 |
Specifies whether or not to write errors to the system log (in UNIX systems) and the event log (in Windows systems). This process attribute can be changed while TIBCO iProcess Objects Director is running. |
||||||||||||
|
Type: String Range: N/A Default: HOSTNAME |
Specifies which TIBCO iProcess Objects Server the client connects to in two ways. They are:
|