{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/common/bot_structure/configuration_file/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"0a68d532-b96c-579d-8132-f8d788e343fc","excerpt":"Конфигурационный файл chatbot.yaml  — конфигурационный файл чат-бота. Файл содержит основную информацию о конфигурации проекта, например: имя главного файла…","html":"<h1>Конфигурационный файл chatbot.yaml</h1>\n<hr>\n<p><code class=\"language-text\">chatbot.yaml</code> — конфигурационный файл чат-бота. Файл содержит основную информацию о конфигурации проекта, например:</p>\n<ul>\n<li>имя главного файла сценария;</li>\n<li>данные о подключаемых зависимостях;</li>\n<li>конфигурацию NLU;</li>\n<li>перечень файлов с тестами.</li>\n</ul>\n<p>В данном разделе перечислены настройки, которые можно задать в <code class=\"language-text\">chatbot.yaml</code>, и их назначение.</p>\n<p class='warn'><a href=https://ru.wikipedia.org/wiki/YAML target=\"_blank\" rel=\"noopener noreferrer\">Подробнее о синтаксисе YAML</a></p>\n<h2>Точка входа в сценарий</h2>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">entryPoint</span><span class=\"token punctuation\">:</span> main.sc</code></pre></div>\n<p>Поле используется для указания файла, с которого начинается загрузка сценария чат-бота при публикации.\nФайл должен находиться в папке <code class=\"language-text\">src</code> и обычно называется <code class=\"language-text\">main.sc</code> или <code class=\"language-text\">entryPoint.sc</code>.</p>\n<p class='warn'>Если код сценария состоит из нескольких файлов,\nвсе необходимые файлы должны быть прямо или опосредованно импортированы в основной файл.\nДля этого используйте тег <a href=/1.11.7/docs/ru/JAICP_DSL/tags/declarative_tags/require  ><code class=\"language-text\">require</code></a>.</p>\n<p class='tip'><code class=\"language-text\">entryPoint</code> — обязательное поле.</p>\n<h2>Имя бота</h2>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> zb<span class=\"token punctuation\">-</span>cailapub</code></pre></div>\n<p>Поле задает имя бота, которое будет использовано, например, в сообщениях о публикации бота в канал.\nЕсли поле отсутствует, в качестве имени используется системное название проекта.</p>\n<h2>Настройки NLU</h2>\n<h3>Диалоговый движок</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">botEngine</span><span class=\"token punctuation\">:</span> v2</code></pre></div>\n<p>Поле задает версию диалогового движка бота.</p>\n<p class='warn'>Движок второй версии <code class=\"language-text\">v2</code> позволяет использовать для понимания естественного языка (NLU) сервис <a href=/1.11.7/docs/ru/NLU_core/nlu_core  >CAILA</a>.\nЭто рекомендуемое значение поля для всех новых проектов.</p>\n<p class='tip'>Если поле отсутствует или значение поля отличается от <code class=\"language-text\">v2</code>, будет использован движок первой версии <code class=\"language-text\">v1</code>.\nNLU на этом движке возможен только при помощи <a href=/1.11.7/docs/ru/Patterns/about_patterns  >паттернов</a> и <a href=/1.11.7/docs/ru/classificator/classificator  >групп примеров</a>.</p>\n<h3>Язык бота</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">language</span><span class=\"token punctuation\">:</span> ru</code></pre></div>\n<p>Поле задает язык, на котором общается бот. Значение поля должно быть <a href=\"https://fasttext.cc/docs/en/language-identification.html#list-of-supported-languages\" target=\"_blank\" rel=\"noopener noreferrer\">ISO-кодом</a> нужного языка.</p>\n<p class='tip'>На второй версии <a href=#Диалоговый-движок  >диалогового движка</a> поле является обязательным.</p>\n<h3>Пороговые значения классификатора</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">sts</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">noMatchThreshold</span><span class=\"token punctuation\">:</span> <span class=\"token number\">0.2</span>\n<span class=\"token key atrule\">caila</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">noMatchThreshold</span><span class=\"token punctuation\">:</span> <span class=\"token number\">0.2</span></code></pre></div>\n<p>Поля <code class=\"language-text\">noMatchThreshold</code> используются только на второй версии <a href=\"#%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9-%D0%B4%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA\">диалогового движка</a> и задают пороговое значение для гипотез классификатора.\nРассмотрим его поведение:</p>\n<ol>\n<li>Клиент отправляет запрос боту.</li>\n<li>Классификатор определяет гипотезы вхождения запроса в один из существующих классов и вычисляет вероятность для каждой гипотезы.</li>\n<li>Все гипотезы со значением вероятности, меньшим <code class=\"language-text\">noMatchThreshold</code>, не учитываются при дальнейшей обработке запроса.</li>\n</ol>\n<p>Таким образом, <code class=\"language-text\">noMatchThreshold</code> задает минимальную похожесть запроса на один из классов.\nЧем ближе его значение к <code class=\"language-text\">1</code>, тем строже классификатор и тем более точные требуются совпадения.</p>\n<p class='warn'>Было эмпирически определено, что оптимальное значение этого параметра — <code class=\"language-text\">0.2</code>.</p>\n<p>Поле <code class=\"language-text\">noMatchThreshold</code> в секции <code class=\"language-text\">sts</code> задает пороговое значение для <a href=\"/1.11.7/docs/ru/classificator/classificator\">классификатора на примерах</a>, а в секции <code class=\"language-text\">caila</code> — для NLU-сервиса <a href=\"/1.11.7/docs/ru/NLU_core/nlu_core\">CAILA</a>.</p>\n<h3>Длина $context.nBest</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">nlp</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">nbest</span><span class=\"token punctuation\">:</span> <span class=\"token number\">3</span>\n  <span class=\"token key atrule\">nbestPatterns</span><span class=\"token punctuation\">:</span> <span class=\"token number\">1</span>\n  <span class=\"token key atrule\">nbestIntents</span><span class=\"token punctuation\">:</span> <span class=\"token number\">2</span>\n  <span class=\"token key atrule\">nbestExamples</span><span class=\"token punctuation\">:</span> <span class=\"token number\">3</span></code></pre></div>\n<p>Поля семейства <code class=\"language-text\">nlp.nbest</code> задают число <a href=\"/1.11.7/docs/ru/NLU_core/activation/rules\">правил активации</a>,\nк которым можно получить доступ из сценария через объект <a href=\"/1.11.7/docs/ru/JS_API/variables/context\"><code class=\"language-text\">$context</code></a>.</p>\n<ul>\n<li>Поле <code class=\"language-text\">nbest</code> задает длину <code class=\"language-text\">$context.nBest</code> — массива сработавших для запроса правил активации всех типов: паттернов, интентов и примеров. Значение по умолчанию — <code class=\"language-text\">1</code>.</li>\n<li>Поле <code class=\"language-text\">nbestPatterns</code> задает длину <code class=\"language-text\">$context.nBestPatterns</code> — массива правил активации, сработавших только при помощи паттернов. Если поле не указано, то этот массив недоступен.</li>\n</ul>\n<p><code class=\"language-text\">nbestIntents</code> и <code class=\"language-text\">nbestExamples</code> работают аналогично для интентов и примеров.</p>\n<p class='warn'><a href=/1.11.7/docs/ru/NLU_core/activation/nBest  >Подробнее об использовании <code class=\"language-text\">$context.nBest</code></a></p>\n<h2>Ограничения при обработке запроса</h2>\n<h3>Ограничение на длину запроса</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">nlp</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">lengthLimit</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">enabled</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span>\n    <span class=\"token key atrule\">symbols</span><span class=\"token punctuation\">:</span> <span class=\"token number\">100</span>\n    <span class=\"token key atrule\">words</span><span class=\"token punctuation\">:</span> <span class=\"token number\">-1</span></code></pre></div>\n<p>Секция <code class=\"language-text\">nlp.lengthLimit</code> задает ограничение на длину запросов, которые принимает бот:</p>\n<ul>\n<li><code class=\"language-text\">enabled</code> включает или выключает проверку.</li>\n<li><code class=\"language-text\">symbols</code> — максимальное количество символов в запросе.</li>\n<li><code class=\"language-text\">words</code> — максимальное количество слов в запросе. Если указано <code class=\"language-text\">-1</code>, эта проверка не производится.</li>\n</ul>\n<p>По умолчанию включено ограничение на 400 символов, ограничение на количество слов отключено.</p>\n<p class='tip'>Если запрос превысит одно из ограничений, в сценарии возникнет <a href=/1.11.7/docs/ru/bot_answers/events_table  >событие</a> <code class=\"language-text\">lengthLimit</code>.</p>\n<h3>Ограничение на время обработки запроса</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">nlp</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">timeLimit</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">enabled</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span>\n    <span class=\"token key atrule\">timeout</span><span class=\"token punctuation\">:</span> <span class=\"token number\">500</span></code></pre></div>\n<p>Секция <code class=\"language-text\">nlp.timeLimit</code> задает ограничение на общее время, в течение которого будет обработан запрос:</p>\n<ul>\n<li><code class=\"language-text\">enabled</code> включает или выключает проверку.</li>\n<li><code class=\"language-text\">timeout</code> — максимальное время обработки запроса в миллисекундах.</li>\n</ul>\n<p>По умолчанию ограничение включено со значением таймаута <code class=\"language-text\">10000</code> (10 секунд).</p>\n<p class='tip'>Если запрос превысит ограничение, в сценарии возникнет <a href=/1.11.7/docs/ru/bot_answers/events_table  >событие</a> <code class=\"language-text\">timeLimit</code>.</p>\n<h2>XML-тесты</h2>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">tests</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">include</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token string\">\"authorization.xml\"</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token string\">\"integration-tests/*.xml\"</span>\n  <span class=\"token key atrule\">exclude</span><span class=\"token punctuation\">:</span>\n    <span class=\"token punctuation\">-</span> <span class=\"token string\">\"broken.xml\"</span>\n  <span class=\"token key atrule\">caseSensitive</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">false</span></code></pre></div>\n<p><a href=\"/1.11.7/docs/ru/Content_testing/tests_xml/tests_xml\">XML-тесты</a> сценариев позволяют проверить логику чат-бота, эмулируя запросы клиента и проверяя ответы от бота.\nТесты выполняются автоматически при публикации.</p>\n<p class='tip'>Если хотя бы один тест не прошел, публикация считается неудачной, и новые изменения в проекте не будут опубликованы в канал.</p>\n<p>По умолчанию выполняются все тесты из файлов в папке проекта <code class=\"language-text\">test</code>.\nЭто поведение можно переопределить в секции <code class=\"language-text\">tests</code>, задав значения для подсекций <code class=\"language-text\">include</code> и/или <code class=\"language-text\">exclude</code>:</p>\n<ul>\n<li><code class=\"language-text\">include</code> — будут выполнены тесты только из тех файлов, которые попадают под шаблоны, перечисленные в этой подсекции.</li>\n<li><code class=\"language-text\">exclude</code> — из выполнения будут исключены все файлы, которые попадают под шаблоны, перечисленные в этой подсекции.</li>\n</ul>\n<p class='warn'>Шаблоны используют синтаксис <a href=http://ant.apache.org/manual/dirtasks.html#patterns target=\"_blank\" rel=\"noopener noreferrer\">Apache Ant</a>.</p>\n<p>Поле <code class=\"language-text\">caseSensitive</code> определяет, должны ли шаблоны учитывать регистр названий файлов. Значение по умолчанию — <code class=\"language-text\">true</code>.</p>\n<h2>Зависимости</h2>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">dependencies</span><span class=\"token punctuation\">:</span>\n  <span class=\"token punctuation\">-</span> <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> common\n    <span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> git\n    <span class=\"token key atrule\">url</span><span class=\"token punctuation\">:</span> https<span class=\"token punctuation\">:</span>//&lt;repository<span class=\"token punctuation\">></span>\n    <span class=\"token key atrule\">version</span><span class=\"token punctuation\">:</span> heads/master</code></pre></div>\n<p>Секция <code class=\"language-text\">dependencies</code> позволяет задать список зависимостей проекта.</p>\n<p class='warn'><a href=/1.11.7/docs/ru/common/bot_structure/modules  >Подробнее о зависимостях</a></p>\n<h2>Сообщения об ошибках</h2>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">messages</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">onError</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">locales</span><span class=\"token punctuation\">:</span>\n      <span class=\"token key atrule\">ru</span><span class=\"token punctuation\">:</span> Что<span class=\"token punctuation\">-</span>то пошло не так.\n      <span class=\"token key atrule\">en</span><span class=\"token punctuation\">:</span> Failed on request processing.\n    <span class=\"token key atrule\">defaultMessage</span><span class=\"token punctuation\">:</span> Что<span class=\"token punctuation\">-</span>то пошло не так.\n    <span class=\"token comment\"># defaultMessages:</span>\n    <span class=\"token comment\">#   - Извините, что-то сломалось.</span>\n    <span class=\"token comment\">#   - Произошла ошибка при обработке запроса.</span></code></pre></div>\n<p>Секция <code class=\"language-text\">messages.onError</code> позволяет задать текст сообщения, которое бот отправит при возникновении какой-либо ошибки.</p>\n<p>В подсекции <code class=\"language-text\">locales</code> могут быть заданы тексты сообщений, локализованные исходя из данных о пользователе.\nВ данной подсекции ключи представляют собой <a href=\"https://fasttext.cc/docs/en/language-identification.html#list-of-supported-languages\" target=\"_blank\" rel=\"noopener noreferrer\">ISO-коды</a> языков, а значения — тексты сообщений.</p>\n<p>В поле <code class=\"language-text\">defaultMessage</code> указывается текст сообщения по умолчанию,\nкоторое отправляется в случае, если секция <code class=\"language-text\">locales</code> не задана или в ней не задан нужный язык.\nТакже можно задать список сообщений по умолчанию в поле <code class=\"language-text\">defaultMessages</code> — тогда при ответе будет выбрано случайное из них.</p>\n<p class='tip'>Если секция <code class=\"language-text\">messages.onError</code> не заполнена, то в случае возникновения ошибки бот не ответит клиенту.</p>\n<p class='warn'>Для настройки более гибкого поведения при внештатных ситуациях используйте <a href=/1.11.7/docs/ru/JS_API/built_in_functions/bind#Обработчики-ошибок  >обработчики ошибок</a>.</p>\n<h2>Injector</h2>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">injector</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">catchAllLimit</span><span class=\"token punctuation\">:</span> <span class=\"token number\">10</span>\n  <span class=\"token key atrule\">api</span><span class=\"token punctuation\">:</span>\n    <span class=\"token key atrule\">protocol</span><span class=\"token punctuation\">:</span> https\n    <span class=\"token key atrule\">host</span><span class=\"token punctuation\">:</span> example.com\n    <span class=\"token key atrule\">port</span><span class=\"token punctuation\">:</span> <span class=\"token number\">443</span></code></pre></div>\n<p>Секция <code class=\"language-text\">injector</code> позволяет задать параметры конфигурации чат-бота.\nЗаданные параметры будут доступны в скриптах чат-бота через переменную <code class=\"language-text\">$injector</code>.</p>\n<p class='warn'><a href=/1.11.7/docs/ru/JS_API/variables/injector  >Подробнее об <code class=\"language-text\">$injector</code></a></p>\n<h2>Другие настройки</h2>\n<h3>Возможность изменения запроса</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">nlp</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">modifyRequestInPreMatch</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span></code></pre></div>\n<p>Поле <code class=\"language-text\">nlp.modifyRequestInPreMatch</code> включает возможность изменять содержимое запроса в обработчике <a href=\"/1.11.7/docs/ru/JS_API/built_in_functions/bind#preMatch\"><code class=\"language-text\">preMatch</code></a> — например, редактировать текст запроса.</p>\n<h3>Токенизация слов в паттернах</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">tokenizeWordsInPatterns</span><span class=\"token punctuation\">:</span> <span class=\"token boolean important\">true</span></code></pre></div>\n<p>Поле <code class=\"language-text\">tokenizeWordsInPatterns</code> включает токенизацию слов в паттернах для языков без разделителей между словами.</p>\n<p class='tip'>Поле обязательно для корректной работы паттернов в проектах на китайском языке.</p>\n<h3>Порядок загрузки файлов</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">scenarioLoadStrategy</span><span class=\"token punctuation\">:</span> v2</code></pre></div>\n<p>Поле <code class=\"language-text\">scenarioLoadStrategy</code> задает порядок загрузки файлов в сценарий, состоящий из множества файлов.\nПоле имеет два возможных значения: <code class=\"language-text\">v1</code> (значение по умолчанию) и <code class=\"language-text\">v2</code>.\nПри стратегии <code class=\"language-text\">v1</code> загрузка производится в порядке сверху вниз по дереву импортируемых файлов, а при <code class=\"language-text\">v2</code> — снизу вверх.</p>\n<p>Рассмотрим пример.\nВ файл <code class=\"language-text\">main.sc</code>  при помощи тега <a href=\"/1.11.7/docs/ru/JAICP_DSL/tags/declarative_tags/require\"><code class=\"language-text\">require</code></a> импортируются файлы <code class=\"language-text\">r1.sc</code>, <code class=\"language-text\">r2.sc</code> и <code class=\"language-text\">r3.sc</code>, в файлы <code class=\"language-text\">r1.sc</code> и <code class=\"language-text\">r2.sc</code> также импортируются по два файла.\nПри публикации сценария файлы будут загружены в порядке, приведенном на изображении.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 821px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 57.29166666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAABLElEQVQoz2WSW66DMAxEs/9/2FWXgMQnlJZ3S6GAr46lQVavpSgTP8bOJOk8T8O+369t22bzPNv9freu6/y877uR87uO47DP52PDMPgufxIhTpKWZbFxHH3nvK6rx5WHEaPZ4/Hw5gyh5okEDkykQNM09nq9fGqKwJHs+Xx67P1+O4ZI2Ak50GmaJsci4UxSJAS3bevEDECcGm7FUIlO6ICTRWLUJF6V6SmUJCxqyCEGV2Kaqqo8SGcwnWXx0eq6djloCKZWGsuSBOYBuA7d2SlCG5k0g4B85Oj7/tL9euXIjkMdIWDJr68SfwVEwmqeok6QMYWShKOOkVAk+mIXIYaDF+O1IQajp4pi4/hfwXrlf4TSjquAY2ddGSvL0vI8t9vtZkVRWJZljiH8AwfFWFGJdcecAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"В стратегии v1 сначала загружается файл в корне дерева, затем листья. В стратегии v2 — наоборот\"\n        title=\"В стратегии v1 сначала загружается файл в корне дерева, затем листья. В стратегии v2 — наоборот\"\n        src=\"/1.11.7/static/7e763af06addfa5ed27099ac18230653/02cd5/scenario-load-strategy.png\"\n        srcset=\"/1.11.7/static/7e763af06addfa5ed27099ac18230653/e85cb/scenario-load-strategy.png 480w,\n/1.11.7/static/7e763af06addfa5ed27099ac18230653/02cd5/scenario-load-strategy.png 821w\"\n        sizes=\"(max-width: 821px) 100vw, 821px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n    </span></p>","frontmatter":{"title":"","description":null},"headings":[{"value":"Конфигурационный файл chatbot.yaml"}]}},"pageContext":{"slug":"/docs/ru/common/bot_structure/configuration_file/","previous":{"fields":{"slug":"/docs/ru/common/bot_structure/context-switch/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/common/bot_structure/caila_import/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}