blob: d6acbea0621720ab579c20f4b7f3eef23072aff2 [file] [log] [blame]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="dialogflow_v2beta1.html">Dialogflow API</a> . <a href="dialogflow_v2beta1.projects.html">projects</a> . <a href="dialogflow_v2beta1.projects.answerRecords.html">answerRecords</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
<code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Deprecated. Retrieves a specific answer record.</p>
<p class="toc_element">
<code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns the list of all answer records in the specified project in reverse chronological order.</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
<code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates the specified answer record.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="close">close()</code>
<pre>Close httplib2 connections.</pre>
</div>
<div class="method">
<code class="details" id="get">get(name, x__xgafv=None)</code>
<pre>Deprecated. Retrieves a specific answer record.
Args:
name: string, Required. The name of the answer record to retrieve. Format: `projects//locations//answerRecords/`. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn&#x27;t include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there&#x27;s a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
&quot;agentAssistantRecord&quot;: { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
&quot;articleSuggestionAnswer&quot;: { # Represents article answer. # Output only. The article suggestion answer.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;snippets&quot;: [ # Output only. Article snippets.
&quot;A String&quot;,
],
&quot;title&quot;: &quot;A String&quot;, # The article title.
&quot;uri&quot;: &quot;A String&quot;, # The article URI.
},
&quot;faqAnswer&quot;: { # Represents answer from &quot;frequently asked questions&quot;. # Output only. The FAQ answer.
&quot;answer&quot;: &quot;A String&quot;, # The piece of text from the `source` knowledge base document.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;confidence&quot;: 3.14, # The system&#x27;s confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;question&quot;: &quot;A String&quot;, # The corresponding FAQ question.
&quot;source&quot;: &quot;A String&quot;, # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
},
},
&quot;answerFeedback&quot;: { # Represents feedback the customer has about the quality &amp; correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
&quot;agentAssistantDetailFeedback&quot;: { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
&quot;answerRelevance&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested answer is relevant. For example: * Query: &quot;Can I change my mailing address?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * answer_relevance: AnswerRelevance.IRRELEVANT
&quot;documentCorrectness&quot;: &quot;A String&quot;, # Optional. Whether or not the information in the document is correct. For example: * Query: &quot;Can I return the package in 2 days once received?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * Ground truth: &quot;No return or exchange is allowed.&quot; * [document_correctness]: INCORRECT
&quot;documentEfficiency&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
&quot;summarizationFeedback&quot;: { # Feedback for conversation summarization. # Feedback for conversation summarization.
&quot;startTimestamp&quot;: &quot;A String&quot;, # Timestamp when composing of the summary starts.
&quot;submitTimestamp&quot;: &quot;A String&quot;, # Timestamp when the summary was submitted.
&quot;summaryText&quot;: &quot;A String&quot;, # Text of actual submitted summary.
},
},
&quot;clickTime&quot;: &quot;A String&quot;, # Time when the answer/item was clicked.
&quot;clicked&quot;: True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false.
&quot;correctnessLevel&quot;: &quot;A String&quot;, # The correctness level of the specific answer.
&quot;displayTime&quot;: &quot;A String&quot;, # Time when the answer/item was displayed.
&quot;displayed&quot;: True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
}</pre>
</div>
<div class="method">
<code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
<pre>Returns the list of all answer records in the specified project in reverse chronological order.
Args:
parent: string, Required. The project to list all answer records for in reverse chronological order. Format: `projects//locations/`. (required)
pageSize: integer, Optional. The maximum number of records to return in a single page. The server may return fewer records than this. If unspecified, we use 10. The maximum is 100.
pageToken: string, Optional. The ListAnswerRecordsResponse.next_page_token value returned from a previous list request used to continue listing on the next page.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response message for AnswerRecords.ListAnswerRecords.
&quot;answerRecords&quot;: [ # The list of answer records.
{ # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn&#x27;t include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there&#x27;s a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
&quot;agentAssistantRecord&quot;: { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
&quot;articleSuggestionAnswer&quot;: { # Represents article answer. # Output only. The article suggestion answer.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;snippets&quot;: [ # Output only. Article snippets.
&quot;A String&quot;,
],
&quot;title&quot;: &quot;A String&quot;, # The article title.
&quot;uri&quot;: &quot;A String&quot;, # The article URI.
},
&quot;faqAnswer&quot;: { # Represents answer from &quot;frequently asked questions&quot;. # Output only. The FAQ answer.
&quot;answer&quot;: &quot;A String&quot;, # The piece of text from the `source` knowledge base document.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;confidence&quot;: 3.14, # The system&#x27;s confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;question&quot;: &quot;A String&quot;, # The corresponding FAQ question.
&quot;source&quot;: &quot;A String&quot;, # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
},
},
&quot;answerFeedback&quot;: { # Represents feedback the customer has about the quality &amp; correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
&quot;agentAssistantDetailFeedback&quot;: { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
&quot;answerRelevance&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested answer is relevant. For example: * Query: &quot;Can I change my mailing address?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * answer_relevance: AnswerRelevance.IRRELEVANT
&quot;documentCorrectness&quot;: &quot;A String&quot;, # Optional. Whether or not the information in the document is correct. For example: * Query: &quot;Can I return the package in 2 days once received?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * Ground truth: &quot;No return or exchange is allowed.&quot; * [document_correctness]: INCORRECT
&quot;documentEfficiency&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
&quot;summarizationFeedback&quot;: { # Feedback for conversation summarization. # Feedback for conversation summarization.
&quot;startTimestamp&quot;: &quot;A String&quot;, # Timestamp when composing of the summary starts.
&quot;submitTimestamp&quot;: &quot;A String&quot;, # Timestamp when the summary was submitted.
&quot;summaryText&quot;: &quot;A String&quot;, # Text of actual submitted summary.
},
},
&quot;clickTime&quot;: &quot;A String&quot;, # Time when the answer/item was clicked.
&quot;clicked&quot;: True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false.
&quot;correctnessLevel&quot;: &quot;A String&quot;, # The correctness level of the specific answer.
&quot;displayTime&quot;: &quot;A String&quot;, # Time when the answer/item was displayed.
&quot;displayed&quot;: True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
},
],
&quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve next page of results. Or empty if there are no more results. Pass this value in the ListAnswerRecordsRequest.page_token field in the subsequent call to `ListAnswerRecords` method to retrieve the next page of results.
}</pre>
</div>
<div class="method">
<code class="details" id="list_next">list_next(previous_request, previous_response)</code>
<pre>Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call &#x27;execute()&#x27; on to request the next
page. Returns None if there are no more items in the collection.
</pre>
</div>
<div class="method">
<code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
<pre>Updates the specified answer record.
Args:
name: string, The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`. (required)
body: object, The request body.
The object takes the form of:
{ # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn&#x27;t include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there&#x27;s a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
&quot;agentAssistantRecord&quot;: { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
&quot;articleSuggestionAnswer&quot;: { # Represents article answer. # Output only. The article suggestion answer.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;snippets&quot;: [ # Output only. Article snippets.
&quot;A String&quot;,
],
&quot;title&quot;: &quot;A String&quot;, # The article title.
&quot;uri&quot;: &quot;A String&quot;, # The article URI.
},
&quot;faqAnswer&quot;: { # Represents answer from &quot;frequently asked questions&quot;. # Output only. The FAQ answer.
&quot;answer&quot;: &quot;A String&quot;, # The piece of text from the `source` knowledge base document.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;confidence&quot;: 3.14, # The system&#x27;s confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;question&quot;: &quot;A String&quot;, # The corresponding FAQ question.
&quot;source&quot;: &quot;A String&quot;, # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
},
},
&quot;answerFeedback&quot;: { # Represents feedback the customer has about the quality &amp; correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
&quot;agentAssistantDetailFeedback&quot;: { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
&quot;answerRelevance&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested answer is relevant. For example: * Query: &quot;Can I change my mailing address?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * answer_relevance: AnswerRelevance.IRRELEVANT
&quot;documentCorrectness&quot;: &quot;A String&quot;, # Optional. Whether or not the information in the document is correct. For example: * Query: &quot;Can I return the package in 2 days once received?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * Ground truth: &quot;No return or exchange is allowed.&quot; * [document_correctness]: INCORRECT
&quot;documentEfficiency&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
&quot;summarizationFeedback&quot;: { # Feedback for conversation summarization. # Feedback for conversation summarization.
&quot;startTimestamp&quot;: &quot;A String&quot;, # Timestamp when composing of the summary starts.
&quot;submitTimestamp&quot;: &quot;A String&quot;, # Timestamp when the summary was submitted.
&quot;summaryText&quot;: &quot;A String&quot;, # Text of actual submitted summary.
},
},
&quot;clickTime&quot;: &quot;A String&quot;, # Time when the answer/item was clicked.
&quot;clicked&quot;: True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false.
&quot;correctnessLevel&quot;: &quot;A String&quot;, # The correctness level of the specific answer.
&quot;displayTime&quot;: &quot;A String&quot;, # Time when the answer/item was displayed.
&quot;displayed&quot;: True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
}
updateMask: string, Required. The mask to control which fields get updated.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn&#x27;t include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there&#x27;s a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
&quot;agentAssistantRecord&quot;: { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
&quot;articleSuggestionAnswer&quot;: { # Represents article answer. # Output only. The article suggestion answer.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;snippets&quot;: [ # Output only. Article snippets.
&quot;A String&quot;,
],
&quot;title&quot;: &quot;A String&quot;, # The article title.
&quot;uri&quot;: &quot;A String&quot;, # The article URI.
},
&quot;faqAnswer&quot;: { # Represents answer from &quot;frequently asked questions&quot;. # Output only. The FAQ answer.
&quot;answer&quot;: &quot;A String&quot;, # The piece of text from the `source` knowledge base document.
&quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
&quot;confidence&quot;: 3.14, # The system&#x27;s confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
&quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;question&quot;: &quot;A String&quot;, # The corresponding FAQ question.
&quot;source&quot;: &quot;A String&quot;, # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
},
},
&quot;answerFeedback&quot;: { # Represents feedback the customer has about the quality &amp; correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
&quot;agentAssistantDetailFeedback&quot;: { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
&quot;answerRelevance&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested answer is relevant. For example: * Query: &quot;Can I change my mailing address?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * answer_relevance: AnswerRelevance.IRRELEVANT
&quot;documentCorrectness&quot;: &quot;A String&quot;, # Optional. Whether or not the information in the document is correct. For example: * Query: &quot;Can I return the package in 2 days once received?&quot; * Suggested document says: &quot;Items must be returned/exchanged within 60 days of the purchase date.&quot; * Ground truth: &quot;No return or exchange is allowed.&quot; * [document_correctness]: INCORRECT
&quot;documentEfficiency&quot;: &quot;A String&quot;, # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
&quot;summarizationFeedback&quot;: { # Feedback for conversation summarization. # Feedback for conversation summarization.
&quot;startTimestamp&quot;: &quot;A String&quot;, # Timestamp when composing of the summary starts.
&quot;submitTimestamp&quot;: &quot;A String&quot;, # Timestamp when the summary was submitted.
&quot;summaryText&quot;: &quot;A String&quot;, # Text of actual submitted summary.
},
},
&quot;clickTime&quot;: &quot;A String&quot;, # Time when the answer/item was clicked.
&quot;clicked&quot;: True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false.
&quot;correctnessLevel&quot;: &quot;A String&quot;, # The correctness level of the specific answer.
&quot;displayTime&quot;: &quot;A String&quot;, # Time when the answer/item was displayed.
&quot;displayed&quot;: True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
},
&quot;name&quot;: &quot;A String&quot;, # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
}</pre>
</div>
</body></html>