> ## Documentation Index
> Fetch the complete documentation index at: https://www.domo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows — AI Service Layer Integration

## Intro

Domo Workflows integrates with the Domo AI Service Layer, specifically the AI Playground services. There are standard and advanced options available.

To enable these services for your instance, contact [ai@domo.com](mailto:ai@domo.com).

Learn more about the [AI Service Layer](/docs/s/article/000005279) and [AI Playground](/docs/s/article/000005236).

Learn more about [Domo.AI](https://ai.domo.com/)

<img alt="external link.png" src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000Buen.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=83df15c523340cbbc12b920934e4801d" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="32" height="32" data-path="images/kb/0EMVq000000Buen.jpg" />

.

***

## Access AI Service Layer in Workflows

To access the AI Service Layer (both standard and advanced options) after they have been enabled in your instance, follow these steps:

1. In the navigation header, select **More** > **Workflows** to display the Workflows landing page.
2. Either select an existing workflow or select **+ New Workflow**.
3. In this article, go to either the instructions for [Standard AI Service Layer integration](#standard-ai-service-layer-integration) or [Advanced AI Service Layer integration](#advanced-ai-service-layer-integration) and follow the steps.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000BuTV.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=79a8bbd981d45b9da35c88ffbaa686a9" alt="workflows landing page.jpg" width="2286" height="1204" data-path="images/kb/0EMVq000000BuTV.jpg" />
</Frame>

## Standard AI Service Layer Integration

After opening your new or existing workflow, follow these steps to add a standard AI Service Layer function:

1. (Conditional) For a new workflow, first choose a Start type.
2. Select **Add** > **Service Task**.
3. In the configuration panel at the right of the canvas, under the **Mapping** tab, select **Explore Functions**. to display the available packages.

   <Frame>
     <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000CE7F.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=f3ed4bce53fda1f829c43971427c3ede" alt="explore functions.jpg" width="886" height="882" data-path="images/kb/0EMVq000000CE7F.jpg" />
   </Frame>

   The **Packages**modal displays.
4. In the modal, use the search bar to enter and locate the **Domo AI Services Layer**package.
5. In the search bar, locate the Domo AI Services Layer option.

   <Frame>
     <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000CEFJ.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=a7c02128ce97efa782387ecfe0779cba" alt="domo ai services layer.jpg" width="2490" height="1004" data-path="images/kb/0EMVq000000CEFJ.jpg" />
   </Frame>
6. Select Domo AI Services Layer to view the available functions. Choose which one to add to your flow.
   * Ask for SQL Query
   * Ask for Text
   * Ask for Beast Mode
   * Ask for Summary

     <Frame>
       <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000CENN.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=dbb1ff7ea830b4354225726bfec0b40e" alt="Screenshot 2024-01-12 at 1.43.41 PM.png" width="2332" height="1000" data-path="images/kb/0EMVq000000CENN.jpg" />
     </Frame>

### Ask for SQL Query

The Ask for SQL Query function allows you to transform your natural language questions into precise SQL queries. As with the AI Playground Text-to-SQL feature, you can input and map parameters for your output SQL query and test the input and output.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000BugP.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=eb74789cb0e4ef1fad3fe259587a42df" alt="Screenshot" width="774" height="340" data-path="images/kb/0EMVq000000BugP.jpg" />
</Frame>

### Ask for Text

The Ask for Text function allows you to generate a prompt-specific response to meet your needs. You can input and map parameters for your output text query and test the input and output.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000Bui1.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=c94f98c928f634740e86fb5105b98654" alt="testing for text.jpg" width="592" height="482" data-path="images/kb/0EMVq000000Bui1.jpg" />
</Frame>

### Ask for Beast Mode

The Ask for Beast Mode function allows you to transform your natural language questions into precise Beast Mode queries. You can input and map parameters for your output Beast Mode query and test the input and output.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000Bujd.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=49d2d0aafc525ee7e1f7a5192fdb1df8" alt="testing for beast mode.jpg" width="680" height="556" data-path="images/kb/0EMVq000000Bujd.jpg" />
</Frame>

### Ask for Summary

The Ask for Summary function allows you to summarize a prompt. You can input and map parameters for your output summary query and test the input and output.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000BulF.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=0a9a24c1544c5f5e2073d4301972f424" alt="Screenshot" width="720" height="372" data-path="images/kb/0EMVq000000BulF.jpg" />
</Frame>

***

## Advanced AI Service Layer Integration

After opening your new or existing workflow, follow these steps to add an advanced AI Service Layer function:

1. Add a new action and select **Explore Functions**.
2. In the search bar, locate the **Domo AI Services Layer – Advanced** option.
3. Select **Domo AI Services Layer – Advanced** to view the available functions and choose which one to add:
   * [Ask for SQL payload](#ask-for-sql-payload)
   * [Ask for text payload](#ask-for-text-payload)
   * [Ask for Beast Mode payload](#ask-for-beast-mode-payload)
   * Ask for summary payload

The advanced options allow more configuration than the standard option.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000ButJ.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=b2b4537e6c10c0139a06923aa895950e" alt="Screenshot" width="864" height="338" data-path="images/kb/0EMVq000000ButJ.jpg" />
</Frame>

### Ask for SQL Payload

The Ask for SQL Payload function transforms your natural language questions into precise SQL queries, returns the payload, and allows for more input and output options. You can define the following input parameters:

* dataset
* input prompt
* model
* modelConfiguration
* parameters
* promptTemplate

You can also define the following output parameters and mapping for the output.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000BvKj.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=e3040c9d0fff70713173869c047d979a" alt="Screenshot" width="850" height="496" data-path="images/kb/0EMVq000000BvKj.jpg" />
</Frame>

### Ask for Text Payload

The Ask for Text Payload function generates a prompt-specific response to meet your needs, returns the payload, and allows for increased input and output options.  This function allows you to set up mapping for the following:

* input prompt
* model
* modelConfiguration
* parameters
* promptTemplate

The following output parameters can also be mapped:

* generatedText
* isCustomerModel
* modelId
* prompt

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000BvPZ.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=40395a5101f4b3452db93755ab65dabc" alt="Screenshot" width="720" height="390" data-path="images/kb/0EMVq000000BvPZ.jpg" />
</Frame>

### Ask for Beast Mode Payload

The Ask for Beast Mode Payload function transforms your natural language questions into precise Beast Mode calculations, returns the payload, and allows for increased input and output options. This function allows you to map the following parameters:

* chatContext
* dataSet
* input prompt
* modelConfiguration
* parameters
* promptTemplate
* system

The following output parameters can also be mapped:

* beastMode
* isCustomerModel
* modelId
* prompt
* choices

### <Frame><img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000BvRB.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=6b11889389697e3f2451bd6170a3e583" alt="Screenshot" width="720" height="416" data-path="images/kb/0EMVq000000BvRB.jpg" /></Frame>

### Ask for Summary Payload

The Ask for Summary Payload function summarizes a prompt and returns the payload. This function allows you to map the following [input parameters](#output-parameters). Required parameters are starred (\*).

* chatContext
* chunkingConfiguration
* model
* modelConfiguration
* parameters
* prompt\*
* promptTemplate
* sizeBoundary
* summarizationOutputStyle
* summarizationStrategy
* system

For Ask for Summary Payload, you can map the following [output parameters](#output-parameters):

* choices
* isCustomerModel
* modelId
* prompt
* summary

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000CDcb.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=7f62420a1b62e940da4cdcd881987e6c" alt="Screenshot 2024-01-12 at 1.06.33 PM.png" width="2688" height="1304" data-path="images/kb/0EMVq000000CDcb.jpg" />
</Frame>

***

## Input Parameter Reference

| Parameter                | Data type | Definition                                                                                                                                                                                                                            |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| ------------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | - | - | --- | --- | - | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - | -------------- | ------------------------------------------------------------ | - | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | --------------- | ------------------------------------------------------------------------------------------ | - |
| chatContext              |           | A list of historical messages between the AI and the user to be considered in the current request.                                                                                                                                    |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| chunkingConfiguration    |           | With large documents, not all text can be included in every request because the document may be too long to fit in the context window. The chunking configuration helps guide how we split our document into smaller parts or chunks. |   |   |   | --- | --- |   | `chunkOverlap` | Text can be overlapped to help give context to how the chunks in a document are grouped. An integer value defines the size of the overlap between successive chunks. |   | `disallowIntermediateChunks` | Sometimes when trying to summarize very long texts, chunks are summarized and put together only to find that the text is still too long. In these cases, you would get summaries of the summaries unless `disallowIntermediateChunks` is set to false. |   | `maxChunkSize` | An integer value that specifies the maximum size for a chunk |   | `separators` | A list of String values that is used to separate chunks in order of most to least desired.  For example: \["\n\n", "\n", ".", ""] separates double new lines first (within the max chunk size) followed by a single new line, then a period, followed by any character. |   | `separatorType` | Out of the box separator types. The default is Text and includes HTML, JavaScript, Python. |   |
| dataSet                  |           | The ID for the DataSet used in the request.                                                                                                                                                                                           |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| generatedText            |           | The object that contains the pompt,                                                                                                                                                                                                   |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| isCustomerModel          |           |                                                                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| model                    | text      | The AI you want to send your request to.   Examples: GPT-4, Claude-2.1                                                                                                                                                                |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| modelConfiguration       |           | A map with custom configuration parameters for a selected language model.                                                                                                                                                             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| modelId                  |           |                                                                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| sizeBoundary             |           | The desired length of the output text represented as a boundary between min and max length.                                                                                                                                           |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| parameters               |           | The variables that can be inserted into the promptTemplate.                                                                                                                                                                           |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| prompt                   | text      | The field for any instructions needed to run the function.                                                                                                                                                                            |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| promptTemplate           | text      | A text template that supports placeholder variables allowing users to easily organize input to the Large Language Model.   Example: `Summarize the following text to be no longer than ${max_word_count} words: ${input}`             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| SQL                      |           | This is the output of the request in SQL.                                                                                                                                                                                             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| summarizationOutputStyle |           | Bulleted, numbered, or paragraph                                                                                                                                                                                                      |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| summarizationStrategy    |           | The strategy to follow while summarizing the given input. Currently available strategies include STUFFING or MAP\_REDUCE.                                                                                                             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| system                   |           | Allows you to set a system prompt for the model.                                                                                                                                                                                      |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |

## Output Parameters

Required parameters have an \*.

| Parameter                        | Definition                                                                                                                                                                                                                            |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | - | - | --- | --- | - | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - | -------------- | ------------------------------------------------------------ | - | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | --------------- | ------------------------------------------------------------------------------------------ | - |
| beastMode                        | The output object of the Ask for Beast Mode Payload service. It contains the following parameters:   - isCustomerModel - modelId - prompt                                                                                             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| chatContext                      | A list of historical messages between the AI and the user to be considered in the current request.                                                                                                                                    |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| choices                          | A list of the outputs that the service creates.                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| chunkingConfiguration            | With large documents, not all text can be included in every request because the document may be too long to fit in the context window. The chunking configuration helps guide how we split our document into smaller parts or chunks. |   |   |   | --- | --- |   | `chunkOverlap` | Text can be overlapped to help give context to how the chunks in a document are grouped. An integer value defines the size of the overlap between successive chunks. |   | `disallowIntermediateChunks` | Sometimes when trying to summarize very long texts, chunks are summarized and put together only to find that the text is still too long. In these cases, you would get summaries of the summaries unless `disallowIntermediateChunks` is set to false. |   | `maxChunkSize` | An integer value that specifies the maximum size for a chunk |   | `separators` | A list of String values that is used to separate chunks in order of most to least desired.  For example: \["\n\n", "\n", ".", ""] separates double new lines first (within the max chunk size) followed by a single new line, then a period, followed by any character. |   | `separatorType` | Out of the box separator types. The default is Text and includes HTML, JavaScript, Python. |   |
| dataSet                          | The ID for the DataSet used in the request.                                                                                                                                                                                           |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| generatedText                    |                                                                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| isCustomerModel                  |                                                                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| model                            | The AI you want to send your request to.   Examples: GPT-4, Claude-2.1                                                                                                                                                                |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| modelConfiguration               | A map with custom configuration parameters for a selected language model.                                                                                                                                                             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| modelId                          |                                                                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| outputWordLength — Size Boundary | The desired length of the output text represented as a boundary between min and max length.                                                                                                                                           |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| parameters                       |                                                                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| prompt                           | The field for the user to input any instructions that should be included in the prompt needed to run the function.                                                                                                                    |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| promptTemplate                   | A text template that supports placeholder variables allowing users to easily organize input to the Large Language Model.   Example: `Summarize the following text to be no longer than ${max_word_count} words: ${input}`             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| SQL                              | This is the output of the request in SQL.                                                                                                                                                                                             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| summarizationOutputStyle         | Bulleted, numbered, or paragraph                                                                                                                                                                                                      |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| summarizationStrategy            | The strategy to follow while summarizing the given input. Currently available strategies include STUFFING or MAP\_REDUCE.                                                                                                             |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| summary                          | The output of the function.                                                                                                                                                                                                           |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
| system                           |                                                                                                                                                                                                                                       |   |   |   |     |     |   |                |                                                                                                                                                                      |   |                              |                                                                                                                                                                                                                                                        |   |                |                                                              |   |              |                                                                                                                                                                                                                                                                         |   |                 |                                                                                            |   |
