Hc_tts_prefix

Команда позволяет установить префикс по умолчанию для всех CDR-файлов, которые будут генерироваться системой.

Аналог команды в CoCon:

/domain/<domain>/cdr/prefix

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_prefix

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить двумя сообщениями:

  • 201 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="domainType">
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="prefix" type="xs:string" use="required"/>
    </xs:complexType>
        
	<xs:element name="in">
        <xs:complexType>
	        <xs:sequence>
                <xs:element name="domain" type="domainType" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

CODE

Пример:

Запрос: http://192.168.1.21:9999/commands/tts_prefix

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_prefix.xsd">
    <domain name="biysk.local" prefix="cdr_bsk" />
</in>
CODE

Ответ: 201

Hc_tts_mode

Команда позволяет установить режим генерации файла CDR-группы .default.

Аналог команды в CoCon:

/domain/<domain>/cdr/mode

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_mode

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 201 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- valueType -->
    <xs:complexType name="valueType">
        <xs:attribute name="value" type="xs:integer" use="required"/>
    </xs:complexType>
    <!-- time_of_dayType -->
    <xs:complexType name="time_of_dayType">
        <xs:attribute name="hours" type="xs:integer" use="required"/>
        <xs:attribute name="minutes" type="xs:integer" use="required"/>
        <xs:attribute name="seconds" type="xs:integer" use="required"/>
    </xs:complexType>
    <!-- modeType -->
    <xs:complexType name="modeType">
        <xs:choice>
            <xs:element name="count" type="valueType"/>
            <xs:element name="period" type="valueType"/>
            <xs:element name="time_of_day" type="time_of_dayType" maxOccurs="unbounded"/>
        </xs:choice>
        <xs:attribute name="domain" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="mode" type="modeType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
CODE

Пример:

Запрос: http://192.168.1.21:9999/commands/tts_mode

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="tts_mode.xsd">
    <mode domain="biysk.local">
        <time_of_day hours="12" minutes="00" seconds="00"/>
        <time_of_day hours="23" minutes="59" seconds="59"/>
    </mode>
</in>
CODE

Ответ: 201

Hc_tts_add_cdr_group

Команда позволяет создать новую CDR-группу.

Аналог команды в CoCon:

/domain/<domain>/cdr/add_cdr_group

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_add_cdr_group

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить двумя сообщениями:

  • 201 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="valueType">
        <xs:attribute name="value" type="xs:integer" use="required"/>
    </xs:complexType>
    <xs:complexType name="time_of_dayType">
        <xs:attribute name="hours" type="xs:integer" use="required"/>
        <xs:attribute name="minutes" type="xs:integer" use="required"/>
        <xs:attribute name="seconds" type="xs:integer" use="required"/>
    </xs:complexType>
    <xs:simpleType name="typeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="time"/>
            <xs:enumeration value="period"/>
            <xs:enumeration value="count"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="formatType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="csv"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="formatsType">
        <xs:sequence>
            <xs:element name="format" maxOccurs="4">
                <xs:complexType>
                    <xs:attribute name="value" type="formatType" use="required"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="cdrGroupType">
        <xs:sequence>
            <xs:choice>
                <xs:element name="count" type="valueType"/>
                <xs:element name="period" type="valueType"/>
                <xs:element name="time_of_day" type="time_of_dayType" maxOccurs="unbounded"/>
            </xs:choice>
            <xs:element name="formats" type="formatsType"/>
        </xs:sequence>
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="type" type="typeType" use="required"/>
        <xs:attribute name="prefix" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="domainType">
        <xs:all>
            <xs:element name="cdr_group" type="cdrGroupType"/>
        </xs:all>
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="domain" type="domainType"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>
CODE

Пример:

Запрос: http://192.168.1.21:9999/commands/tts_add_cdr_group

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_add_cdr_group.xsd">
    <domain name="biysk.local">
        <cdr_group name="group6" type="time" prefix="">
            <time_of_day hours="12" minutes="30" seconds="45" />
            <time_of_day hours="20" minutes="10" seconds="05" />
            <formats>
                <format value="csv" />
            </formats>
        </cdr_group>
    </domain>
</in>
CODE

Ответ: 201

Hc_tts_change_cdr_group

Команда позволяет изменять параметры CDR-группы.

Аналог команды в CoCon:

/domain/<domain>/cdr/change_cdr_group

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_change_cdr_group

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 201 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="error.xsd"/>

    <!-- types -->
	<xs:complexType name="valueType">
		<xs:attribute name="value" type="xs:integer" use="required"/>
	</xs:complexType>

	<xs:complexType name="time_of_dayType">
		<xs:attribute name="hours" type="xs:integer" use="required"/>
		<xs:attribute name="minutes" type="xs:integer" use="required"/>
		<xs:attribute name="seconds" type="xs:integer" use="required"/>
	</xs:complexType>

	<xs:simpleType name="typeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="time"/>
			<xs:enumeration value="period"/>
			<xs:enumeration value="count"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="formatType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="csv"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="formatsType">
		<xs:sequence>
			<xs:element name="format" maxOccurs="4">
				<xs:complexType>
					<xs:attribute name="value" type="formatType" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="cdrGroupType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="count" type="valueType"/>
				<xs:element name="period" type="valueType"/>
				<xs:element name="time_of_day" type="time_of_dayType" maxOccurs="unbounded"/>
			</xs:choice>
			<xs:element name="formats" type="formatsType"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="type" type="typeType" use="required"/>
		<xs:attribute name="prefix" type="xs:string" use="required"/>
		<xs:attribute name="new_name" type="xs:string"/>
	</xs:complexType>

	<xs:complexType name="domainType">
		<xs:choice>
		  <xs:element name="cdr_group" type="cdrGroupType"/>
		</xs:choice>
		<xs:attribute name="name" type="xs:string" use="required"/>
	</xs:complexType>

    <xs:simpleType name="resultType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ok"/>
            <xs:enumeration value="domain_not_exists"/>
            <xs:enumeration value="group_not_exists"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- types end -->

    <!-- in -->
	<xs:element name="in">
		<xs:complexType>
			<xs:all>
				<xs:element name="domain" type="domainType"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
    <!-- /in -->

    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:choice>
                <xs:element name="response" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:attribute name="result" type="resultType" use="required"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="error" type="errorType" minOccurs="1" maxOccurs="1"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <!-- /out -->

</xs:schema>

CODE

Запрос: http://192.168.1.21:9999/commands/tts_change_cdr_group

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_change_cdr_group.xsd">
    <domain name="biysk.local">
        <cdr_group name="group6" type="period" prefix="g222" >
            <period value="250" />
            <formats>
                <format value="csv" />
            </formats>
        </cdr_group>
    </domain>
</in>
CODE

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_change_cdr_group.xsd">
    <response result="ok"/>
</out>
CODE

Hc_tts_show_cdr_group

Команда позволяет просмотреть CDR-группы, декларированные в системе.

Аналог команды в CoCon:

/domain/<domain>/cdr/show

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_show_cdr_group

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:complexType name="domainType">
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="cdr_group" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="valueType">
		<xs:attribute name="value" type="xs:integer" use="required"/>
	</xs:complexType>
	<xs:complexType name="time_of_dayType">
		<xs:attribute name="hours" type="xs:integer" use="required"/>
		<xs:attribute name="minutes" type="xs:integer" use="required"/>
		<xs:attribute name="seconds" type="xs:integer" use="required"/>
	</xs:complexType>
	<xs:simpleType name="formatType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="csv"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="formatsType">
		<xs:sequence>
			<xs:element name="format" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="value" type="formatType" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="typeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="time"/>
			<xs:enumeration value="period"/>
			<xs:enumeration value="count"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="cdrGroupType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="count" type="valueType"/>
				<xs:element name="period" type="valueType"/>
				<xs:element name="time_of_day" type="time_of_dayType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:choice>
			<xs:element name="formats" type="formatsType" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="type" type="typeType" use="required"/>
		<xs:attribute name="prefix" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:element name="in">
		<xs:complexType>
			<xs:all>
				<xs:element name="domain" type="domainType"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<xs:element name="out">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="cdr_group" type="cdrGroupType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

CODE

Пример:

Запрос: http://192.168.1.21:9999/commands/tts_show_cdr_group

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
    <domain name="biysk.local" cdr_group="group6"/>
</in>
CODE

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
    <cdr_group name="group6" type="period" prefix="g222">
        <period value="250"/>
        <formats>
            <format value="csv"/>
        </formats>
    </cdr_group>
</out>
CODE

Запрос: http://192.168.1.21:9999/commands/tts_show_cdr_group

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
    <domain name="biysk.local"/>
</in>
CODE

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_show_cdr_group.xsd">
    <cdr_group name="bsk3" type="time" prefix="bsk3">
        <time_of_day hours="0" minutes="0" seconds="0"/>
        <formats>
            <format value="csv"/>
        </formats>
    </cdr_group>
    <cdr_group name="group6" type="period" prefix="g222">
        <period value="250"/>
        <formats>
            <format value="csv"/>
        </formats>
    </cdr_group>
</out>
CODE

Hc_tts_info

Команда позволяет просмотреть настройки группы .default.

Аналог команды в CoCon:

/domain/<domain>/cdr/info

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_info

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- valueType -->
    <xs:complexType name="valueType">
        <xs:attribute name="value" type="xs:integer" use="required"/>
    </xs:complexType>
    <!-- prefixType -->
    <xs:complexType name="prefixType">
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- time_of_dayType-->
    <xs:complexType name="time_of_dayType">
        <xs:attribute name="hours" type="xs:integer" use="required"/>
        <xs:attribute name="minutes" type="xs:integer" use="required"/>
        <xs:attribute name="seconds" type="xs:integer" use="required"/>
    </xs:complexType>
    <!-- formatType-->
    <xs:simpleType name="formatType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="csv"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- formatsType-->
    <xs:complexType name="formatsType">
        <xs:sequence>
            <xs:element name="format" maxOccurs="4">
                <xs:complexType>
                    <xs:attribute name="value" type="formatType" use="required"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- domainType-->
    <xs:complexType name="domainType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- infoType-->
    <xs:complexType name="infoType">
        <xs:all>
            <xs:element name="prefix" type="prefixType" minOccurs="0"/>
            <xs:element name="formats" type="formatsType" minOccurs="0"/>
            <xs:element name="mode" minOccurs="0">
                <xs:complexType>
                    <xs:choice>
                        <xs:element name="count" type="valueType" minOccurs="0"/>
                        <xs:element name="period" type="valueType" minOccurs="0"/>
                        <xs:element name="time_of_day" type="time_of_dayType" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:choice>
                </xs:complexType>
            </xs:element>
        </xs:all>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="domain" type="domainType"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="info" type="infoType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
CODE

Пример:

Запрос: http://192.168.1.21:9999/commands/tts_info

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_info.xsd">
   <domain name="biysk.local" />
</in>
CODE

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_info.xsd">
    <info>
        <prefix value="cdr_bsk"/>
        <mode>
            <time_of_day hours="12" minutes="0" seconds="0"/>
            <time_of_day hours="23" minutes="59" seconds="59"/>
        </mode>
    </info>
</out>
CODE

Hc_tts_remove_cdr_group

Команда позволяет удалить CDR-группу из системы.

Аналог команды в CoCon:

/domain/<domain>/cdr/remove

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_remove_cdr_group

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 204 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="domainType">
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="cdr_group" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="domain" type="domainType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
CODE

Пример:

Запрос: http://192.168.1.21:9999/commands/tts_remove_cdr_group

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_remove_cdr_group.xsd">
    <domain name="biysk.local" cdr_group="gs_test3" />
</in>
CODE

Ответ: 204

Hc_rename_cdr_group

Команда позволяет переименовать группу CDR

Аналог команды в CoCon:

domain/p.city/cdr/rename_cdr_group

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_rename_cdr_group

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить двумя сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла c ответом rename_cdr_group.xsd:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" id="rename_cdr_group">
    <xs:annotation>
        <xs:documentation xml:lang="en">
            Rename CDR group
            Copyright (C) 2015, Eltex. All right reserved.
        </xs:documentation>
    </xs:annotation>

    <xs:include schemaLocation="error.xsd"/>

    <xs:simpleType name="resultType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ok"/>
            <xs:enumeration value="domain_not_exists"/>
            <xs:enumeration value="group_not_exists"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="request" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:attribute name="domain" type="xs:string" use="required"/>
                        <xs:attribute name="old_name" type="xs:string" use="required"/>
                        <xs:attribute name="new_name" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- /in -->

    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:choice>
                <xs:element name="response" minOccurs="1" maxOccurs="1">
                    <xs:complexType>
                        <xs:attribute name="result" type="resultType" use="required"/>
                    </xs:complexType>
                </xs:element>
                <xs:element name="error" type="errorType" minOccurs="1" maxOccurs="1"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <!-- /out -->

</xs:schema>

CODE

Пример

Запрос:
http://192.168.1.21:9999/commands/tts_rename_cdr_group

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="rename_cdr_group.xsd">
    <request domain="biysk.local" old_name="group6" new_name="gs_test3"/>
</in>
CODE

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="rename_cdr_group.xsd">
    <response result="ok"/>
</out>
CODE

Hс_tts_validate_cdr

Команда позволяет проверить подпись CDR файла или определенной записи в CDR.

Аналог команды в CoCon:

domain/<DOMAIN>/cdr/validate

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/tts_validate_cdr

Код HTTP-ответа:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:annotation>
		<xs:documentation xml:lang="en">
			Common error message for HttpTerminal application.
			Copyright 2015, Eltex. All rights reserved.

			Command to check signature on the CDR file or specific line on the CDR file.
		</xs:documentation>
	</xs:annotation>
	<xs:include schemaLocation="error.xsd"/>
    <!-- cdrTypeType -->
    <xs:simpleType name="cdrTypeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="line"/>
            <xs:enumeration value="file"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- cdrType -->
	<xs:complexType name="cdrType">
		<xs:attribute name="type" type="cdrTypeType" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="en">
					line - request on validation specific line of the CDR file;
					file - request on validation whole CDR file
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="content" type="xs:base64Binary" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="en">
					Base64 encoded content (CDR file or one line of CDR file) to check signature.
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<!-- requestType -->
	<xs:complexType name="requestType">
		<xs:all>
			<xs:element name="cdr" type="cdrType"/>
		</xs:all>
		<xs:attribute name="domain" type="xs:string" use="required"/>
	</xs:complexType>
	<!-- responseType -->
	<xs:complexType name="responseType">
		<xs:attribute name="valid" type="xs:boolean" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="en">
					true - in case of entered CDR file of CDR line is valid;
					false - otherwise
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<!-- in -->
	<xs:element name="in">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="request" type="requestType"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!-- out -->
	<xs:element name="out">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="response" type="responseType"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

CODE

Пример

Запрос: http://192.168.1.21:9999/commands/tts_validate_cdr

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="tts_validate_cdr.xsd">
    <request domain="biysk.local">
        <cdr type="line" content="Y2RyIGxpbmU="/>
    </request>
</in>
CODE

Ответ:

<?xml version="1.0"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_validate_cdr.xsd">
   <response valid="false"/>
</out>
CODE

Запрос на валидацию всего файла (параметр cdr type="file") http://192.168.1.21:9999/commands/tts_validate_cdr:

 Нажмите здесь для раскрытия...
<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="tts_validate_cdr.xsd">
    <request domain="biysk.local">
        <cdr type="file" content="VFlQRTtEQVRJTUU7S09EX0E7S09EX0I7Tl9UUl9HUl9BO05fVFJfR1JfQjtUX0VDRDtUX0RCQTtU
X0ROQTtDQVVTRV9JU1VQO0NBVVNFX0lOVDtDT01QTEVUSU5EO0RJQUxFRF9ESUc7QUNUU1VTQjtD
QVRFR19BO1BMQUNFO1JFQ19TRVE7U0VSVlVTRVI7U0VSVklORElDO1RSRUFUTUVOVDtDT05OX0lE
O1JFRElSRUNURUQ7UkVESVJFQ1RJT047T1JJR19DQUxMRUQ7U1JDX0lQO0RTVF9JUDtQT1JUX0E7
UE9SVF9CO01FRElBX1BST1hZO0RJQUdOT1NUSUM7Q09ERUM7U0lHTgpDYWxsOzIwMTkuMDYuMDYg
MDc6MzU6MDA7MjQwNDcwOzI0MDEwMTs7OzI7OTswOzE2O25vcm1hbDs3OzI0MDEwMTs7MTA7Mjsw
OzI0MDQ3MDs7Q2FsbCBpcyBjb21wbGV0ZTszNzYxMTI5NTMwMjA5Njc3NDExOzs7OzsxOTIuMTY4
LjIuMjY7c3lzdGVtOml2cjswNjE2ZTFjZTRiNzg2YWYxOzE7Ozs2ZldMRnMrNEFuR2tvRjNuTE8w
ay9iYXhGbzh2N1FUeW0zUmgreDdIMWZxWmpuaFArTUxSVk9xVUhXVldIRWUzVXgvUW9yYVFkVnkr
dWowTEpJOThiUT09ClNlcnZpY2U7MjAxOS4wNi4wNiAwNzozNTowMDsyNDA0NzA7MjQwMTAxOzs7
MDswOzA7MDs7OztpbnZvY2F0aW9uOzs7MTsyNDAxMDE7Y2FsbF9yZWNvcmRpbmc7OzM3NjExMjk1
MzAyMDk2Nzc0MTE7Ozs7Ozs7Ozs7O0Y2dm52NEgxVlNMenZnM2dRc0FxRnptWmpoaC83SGNmRWg1
K3VFS3lkNnNVaVg5MkwrS1Q3T2lxdUNBaDQxMTNSTi9TQ0dXaG5HcjI5T3hkTVdSYkhnPT0KQ2Fs
bDsyMDE5LjA2LjA2IDA3OjM1OjExOzI0MDQ3MDsyNDA0NjQ7OzsyOzE7MDsxNjtub3JtYWw7Nzsy
NDA0NjQ7OzEwOzI7MDsyNDA0NzA7O0NhbGwgaXMgY29tcGxldGU7NzM3Nzc5ODAzMTM4Mzg2ODQ2
OTs7Ozs7MTkyLjE2OC4yLjIwMDtzeXN0ZW06aXZyOzA2MTZlMWNkZjg5YmE2ODQ7MTs7Oy9Rb3pa
WHVBNThMZnplVno2aWZOTHliL2xpT3hYNHZHcWoxQmdBOW1EOGYvR3BpZWlLQnU4L1pwNVpTamdT
ZGc4elduV29lczFLRDZDK3BMTEUyVnd3PT0KU2VydmljZTsyMDE5LjA2LjA2IDA3OjM1OjExOzI0
MDQ3MDsyNDA0NjQ7OzswOzA7MDswOzs7O2ludm9jYXRpb247OzsxOzI0MDQ2NDtjYWxsX3JlY29y
ZGluZzs7NzM3Nzc5ODAzMTM4Mzg2ODQ2OTs7Ozs7Ozs7Ozs7OXhOTTN3RDNuY25yUDZGdEFYRnpj
bWRlNFdHbkJMR3JkQjF6Rms2SS9raVVoMWQ3azM2NG1HRGlLeXpkTVJ0Ykp4UTFzaGZPRVZaT2RG
MS90WDBQRUE9PQpDYWxsOzIwMTkuMDYuMDYgMDc6MzU6MTU7Mzg1NDI0MDQ3MDs0MTY5Nzc7O2Jp
eXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTsyOzU7MDsxNjtub3JtYWw7Nzs0MTY5Nzc7
OzEwOzA7MDszODU0MjQwNDcwOztCeSBpdnIuIFNjcmlwdCBoYXMgYmVlbiBjb21wbGV0ZWQgYnkg
ZGVmYXVsdC47MzcwMjkxMzUwNjkyMzc4NzA1Nzs7Ozs7MTkyLjE2OC4yLjg7c3lzdGVtOml2cjtz
bWctNDsxOzs7VkhzOXk3M1lMU1NsZDBSd0d4K0RGVk1kdklrS2dwTW5NemNEdFJNQ3p5ZmJoYk1o
KzduR1JieEJSU0I4bHR5aDQ5RXZWMC9GejNHVlNlQzJES25SOXc9PQpDYWxsOzIwMTkuMDYuMDYg
MDg6MDA6MDA7Mzg1NDI0MDQ3MDswNTg7O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFt
ZTsyOzU7MDsxNjtub3JtYWw7NzswNTg7OzEwOzA7MDszODU0MjQwNDcwOztCeSBpdnIuIFNjcmlw
dCBoYXMgYmVlbiBjb21wbGV0ZWQgYnkgZGVmYXVsdC47MzQ3MzE3MzgyOTI1OTkxMTQ3Mzs7Ozs7
MTkyLjE2OC4yLjg7c3lzdGVtOml2cjtzbWctNDsxOzs7eFVaTEQzcTVPU1k1bkU1Rng2MTkyVWJz
ZUora0NHRkpDZW1rTmRYTTNRUHh6djJYeEIybzNzZnlLYXRYRWQ3REN4RDRUZVdrUXk2SmhMck5Q
YVJkMVE9PQpDYWxsOzIwMTkuMDYuMDYgMDg6MDA6MDg7MjQwNDcwOzI0MDEwMTs7OzM7NzswOzE2
O25vcm1hbDs3OzI0MDEwMTs7MTA7MjswOzI0MDQ3MDs7Q2FsbCBpcyBjb21wbGV0ZTs0MDQ5NjM2
Nzk0MzYzNDkxODk2Ozs7OzsxOTIuMTY4LjIuMjY7c3lzdGVtOml2cjswNjE2ZTFjZTRiNzg2YWYx
OzE7OzthY1drcVRqZ3hWT2FTSmNnNnlmeVU2ODlJbjRTZUZSWEM0NkVQVS9OOE5xS2N4d1I4SUEr
YWVvc21WLy9Sb3gyQ0NEUGR3OGZSS3FOajN6Zm12WVBoZz09ClNlcnZpY2U7MjAxOS4wNi4wNiAw
ODowMDowODsyNDA0NzA7MjQwMTAxOzs7MDswOzA7MDs7OztpbnZvY2F0aW9uOzs7MTsyNDAxMDE7
Y2FsbF9yZWNvcmRpbmc7OzQwNDk2MzY3OTQzNjM0OTE4OTY7Ozs7Ozs7Ozs7O096bGxyRG5TTU9n
RS9SUTk5RGRURHpwUHV2Qm12cFJaSm5QbkZFZG0rN2Yvd3ZsRVd4TjcyRkJnWEFlc2gxOUhkeGw0
WnNoZ1MwRU03RFYrdkxEdWZRPT0KQ2FsbDsyMDE5LjA2LjA2IDA4OjAwOjE4OzI0MDQ3MDsyNDA0
NjQ7OzsyOzE7MDsxNjtub3JtYWw7NzsyNDA0NjQ7OzEwOzI7MDsyNDA0NzA7O0NhbGwgaXMgY29t
cGxldGU7MzYxOTAzMDYzNTE2MzkwMjc2ODs7Ozs7MTkyLjE2OC4yLjIwMDtzeXN0ZW06aXZyOzA2
MTZlMWNkZjg5YmE2ODQ7MTs7O0JnYk04QisyYjd5b0tGV3FKQ3ZDMjhMdUt1Nk9JUWxIQmFKbHNZ
U3BVWThPRW0vMEY3Wk9sTVM4QklkWTVFd1R0S1crK0RGUFBVRGwvdnNuaDJOZGd3PT0KU2Vydmlj
ZTsyMDE5LjA2LjA2IDA4OjAwOjE4OzI0MDQ3MDsyNDA0NjQ7OzswOzA7MDswOzs7O2ludm9jYXRp
b247OzsxOzI0MDQ2NDtjYWxsX3JlY29yZGluZzs7MzYxOTAzMDYzNTE2MzkwMjc2ODs7Ozs7Ozs7
Ozs7T2N0YXBSRlMwNEVNanpXRzFNUkVQMXoyUHNkNjRhWkF0MVhlSndNU1RkUkpkQ0hpd0F0T0FK
Tng2Y1JYQXhzQnN0ZTZKeEphc2JEUEtlY1pPbVcxWGc9PQpDYWxsOzIwMTkuMDYuMDYgMDg6MzI6
MDY7OTYxNjI2NjE0OTsyNDUyODU7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2Jp
eXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTI4
NTs7MTA7MTswOzk2MTYyNjYxNDk7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNDM1
MTI0MjQ2Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVw
aG9uZS1ldmVudDtPSDhUN3RBL21SR0hWZ2RLc2tMR1h1eUJvOThQZkF1ZWtzcFVUeDdBYUdYZXRu
MlppVGRJdWljY3AzUXVLYmN4NWNpVVlOVnVqUEtGYmVkSDUyUWE0QT09CkNhbGw7MjAxOS4wNi4w
NiAwODo0MToxMjs5NjE5OTE4OTg5OzI0MDUwNztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0
b25hbWU7OzMwMDsxOzA7MDs7NzsyNDA1MDc7OzEwOzsxOzk2MTk5MTg5ODk7OzszNzI1NTAyNzQ5
Ozs7OzE5Mi4xNjguMi44OzE5Mi4xNjguMi4yNjtzbWctNDswNjE2ZTFjZTA0MzgzODk2OzE7O1BD
TUEsdGVsZXBob25lLWV2ZW50O3R2T1dyMlQ0b3hCNElxbTRIQjlHVHBxRVVNaHNYMHU4YVVMUjRB
M0R6MDFIMlpYdDFTakIwNkduWjNtUGNTWjdHdEQ2RFl6SWxlSzU0S21GZ083ZkR3PT0KQ2FsbDsy
MDE5LjA2LjA2IDA4OjQ2OjE0Ozk2MTk5MTg5ODk7MjQwNTA3O2JpeXNrLmxvY2FsLnNtZy5nci50
cnVuay5hdXRvbmFtZTs7MzAwOzA7MDswOzs3OzI0MDUwNzs7MTA7OzI7OTYxOTkxODk4OTs7OzM3
MjU1MDI3NDk7Ozs7MTkyLjE2OC4yLjg7MTkyLjE2OC4yLjI2O3NtZy00OzA2MTZlMWNlMDQzODM4
OTY7MTs7UENNQSx0ZWxlcGhvbmUtZXZlbnQ7SytyZnN2SHFDU3diRHh0UzNhOXdncE9sNkUwYjJu
azB6OVdlSXNLRVlINVNTeHVlZklpZFl6Ky9VY0c0L2VOTERlUytRRDQxUGNXZTRUUzEyNGc1M3c9
PQpDYWxsOzIwMTkuMDYuMDYgMDg6NTE6MTQ7OTYxOTkxODk4OTsyNDA1MDc7Yml5c2subG9jYWwu
c21nLmdyLnRydW5rLmF1dG9uYW1lOzszMDA7MDswOzA7Ozc7MjQwNTA3OzsxMDs7Mzs5NjE5OTE4
OTg5Ozs7MzcyNTUwMjc0OTs7OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIuMjY7c21nLTQ7MDYxNmUx
Y2UwNDM4Mzg5NjsxOztQQ01BLHRlbGVwaG9uZS1ldmVudDtwc1krS1hTTGllTlduZjl2SDBMelAz
OWFwZDJSTncyWlo5SUtjQ3phTlpjdmdkazMvRGtJazhoaUN5bGgxem5NYklTU1FONHd4azV5M2ll
eC9NaEpYUT09CkNhbGw7MjAxOS4wNi4wNiAwODo1NToxMzs5MDk3Mjc3NzA5OzI0NTI4NTtiaXlz
ay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1
dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsyNDUyODU7OzEwOzE7MDs5MDk3Mjc3NzA5OztDYWxs
IGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7Mjk1NzQyODA3NTs7OzsxOTIuMTY4LjIuODs7c21n
LTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7MEt1SFlDTEJzZHdjZStB
SGFKLy9ZZ2hlSTdCZ2pKMHI0NWxqQ2hoODRhREgxOU8ySVZ6THF5SWlSbVd4V3U1WnF0TzliUS9M
SjVrbERuY21Rc2VYQnc9PQpDYWxsOzIwMTkuMDYuMDYgMDg6NTY6MTQ7OTYxOTkxODk4OTsyNDA1
MDc7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lOzszMDA7MDswOzA7Ozc7MjQwNTA3
OzsxMDs7NDs5NjE5OTE4OTg5Ozs7MzcyNTUwMjc0OTs7OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIu
MjY7c21nLTQ7MDYxNmUxY2UwNDM4Mzg5NjsxOztQQ01BLHRlbGVwaG9uZS1ldmVudDtaSjZ2ME9k
eWVDTUVFY3FsZ2x3akIzcWpPanRxVnl2TW0xMnIrbkk0TTV3aEhkU24vSEt1SU4vbzF1b0V1Z3J2
T3N0TS9JZXo1YTM4L05uWGRiZUlFUT09CkNhbGw7MjAxOS4wNi4wNiAwOTowMToxNDs5NjE5OTE4
OTg5OzI0MDUwNztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7OzMwMDswOzA7MDs7
NzsyNDA1MDc7OzEwOzs1Ozk2MTk5MTg5ODk7OzszNzI1NTAyNzQ5Ozs7OzE5Mi4xNjguMi44OzE5
Mi4xNjguMi4yNjtzbWctNDswNjE2ZTFjZTA0MzgzODk2OzE7O1BDTUEsdGVsZXBob25lLWV2ZW50
O0NWZjJMMERDa21pVzIxeTc2MXpKTzdrRnMxeWNuOXJTY0ZIVVh3aEs0V1lOZHM0SjU5VXV0djYw
TFNWT096cW0wQmsvcFlOQTZBcnJrSFlmT2JzS3V3PT0KQ2FsbDsyMDE5LjA2LjA2IDA5OjA2OjE0
Ozk2MTk5MTg5ODk7MjQwNTA3O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTs7MzAw
OzA7MDswOzs3OzI0MDUwNzs7MTA7OzY7OTYxOTkxODk4OTs7OzM3MjU1MDI3NDk7Ozs7MTkyLjE2
OC4yLjg7MTkyLjE2OC4yLjI2O3NtZy00OzA2MTZlMWNlMDQzODM4OTY7MTs7UENNQSx0ZWxlcGhv
bmUtZXZlbnQ7Mkd1SGJ3OENrb2lXTHZjUEgvTGt5djRKSVIwejc2K1lORkFBelBDdXllVFB2V0dB
UzBDcUdIV2xkQnRtWFJ4ZVJ6SXlxYmdYQ1NXWmZHaWNBTVRtUFE9PQpDYWxsOzIwMTkuMDYuMDYg
MDk6MTE6MTQ7OTYxOTkxODk4OTsyNDA1MDc7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9u
YW1lOzszMDA7MDswOzA7Ozc7MjQwNTA3OzsxMDs7Nzs5NjE5OTE4OTg5Ozs7MzcyNTUwMjc0OTs7
OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIuMjY7c21nLTQ7MDYxNmUxY2UwNDM4Mzg5NjsxOztQQ01B
LHRlbGVwaG9uZS1ldmVudDtldisydnE2cGR1TFErZHhwV1d5eHZRZFN1ak1qK09HUlNFUkw0OGdo
WlQ4eUV4dWE1TitWcGFJTXZhczhINlJrcUVzYnI4KzdwU2JaRnBPU0hWS0RGQT09CkNhbGw7MjAx
OS4wNi4wNiAwOToxNjoxNDs5NjE5OTE4OTg5OzI0MDUwNztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1
bmsuYXV0b25hbWU7OzE3ODswOzA7MTY7bm9ybWFsOzc7MjQwNTA3OzsxMDsxOzA7OTYxOTkxODk4
OTs7SVNVUCBjYWxsIGlzIGNvbXBsZXRlOzM3MjU1MDI3NDk7Ozs7MTkyLjE2OC4yLjg7MTkyLjE2
OC4yLjI2O3NtZy00OzA2MTZlMWNlMDQzODM4OTY7MTs7UENNQSx0ZWxlcGhvbmUtZXZlbnQ7UTVz
VzE1Mkc1TTFQd1V1bW1XbGRwMUNBdzY2cFcrWEowSEFsR1lJQjcwampFUGFhdmZVN2pHWUtUN2VO
Z3pDdzFaMWJYQkVXVnNQWmJ5a0pUMkVyQmc9PQpDYWxsOzIwMTkuMDYuMDYgMDk6Mjk6MTE7OTY1
MDI1MjY5NDsyNDUyODU7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxv
Y2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTI4NTs7MTA7
MTswOzk2NTAyNTI2OTQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsyOTE1MTgzNTQx
Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1l
dmVudDtpTHJ2dVB2UW5TajE4Z0ErS3Z0THpVcUdHNW9oMVhWQXhVMmwwcmJLdTdBT1VOdDk4YjBF
SytEMWR6ZzB0VS82bXRqZE12UWZBRk5vdENLMEpjVG9IQT09CkNhbGw7MjAxOS4wNi4wNiAwOTo1
MzowNDszODUyMjkxNzAwOzI0NTk2MjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7
Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7
MTsyNDU5NjI7OzEwOzA7MDszODUyMjkxNzAwOzt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25z
ZTszMzYzOTY1MjU7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3Mjks
dGVsZXBob25lLWV2ZW50O1ZuVWpjUHVQWXVTOHRpamFOUDlKd2xCWWswZVJxQzFBSGJMbDlUL2RW
WVZ6Um4yU0gzMmp2U2haTGNscFJmNkNqK2RCWVFIUEs0NFBGTFFtVTJYckdBPT0KQ2FsbDsyMDE5
LjA2LjA2IDEwOjAwOjQ2OzkwOTQ1NDMwMjM7MjQ1Mjg1O2JpeXNrLmxvY2FsLnNtZy5nci50cnVu
ay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzMxO25v
cm1hbDsxOzI0NTI4NTs7MTA7MTswOzkwOTQ1NDMwMjM7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGlu
aXRpYXRvcjsyMjczNzc4MjA2Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENN
VSxHNzI5LHRlbGVwaG9uZS1ldmVudDs1Q0FOMk9YUVdZRkswTXllNzBwcXk3VXpYeS9NcTdxWXhK
WXgvYzNHbzUyRUFhSVVxeHpjMDlvcTdIUjUxWXpYR1EwcXRhSG9RM016UGRLNGdIU2JqZz09CkNh
bGw7MjAxOS4wNi4wNiAxMDoxMjo0Njs5NjQ1MTM1MzM4OzI0NTk4ODtiaXlzay5sb2NhbC5zbWcu
Z3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsy
NDsxMDI7bm9ybWFsOzE7MjQ1OTg4OzsxMDsxOzA7OTY0NTEzNTMzODs7Q2FsbCBpcyBjYW5jZWxs
ZWQgYnkgaW5pdGlhdG9yOzk5ODgyNjM0NTs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQ
Q01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7czFxOFMxdmZNTTlPM1hBdUlQTnUwS3VNZUtV
WVZiYmZuSU5NMEVCdS9xeXVGRGd4dHJ3dWllVUVaTzVNb2hzQVViUDFIeXFia3A1Z1NBenc3WEVY
Ync9PQpDYWxsOzIwMTkuMDYuMDYgMTA6MTI6NTY7OTI1MDAzNjU4OTsyNDU5ODg7Yml5c2subG9j
YWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFt
ZTswOzA7MjM7MTY7bm9ybWFsOzE7MjQ1OTg4OzsxMDsxOzA7OTI1MDAzNjU4OTs7Q2FsbCBpcyBj
YW5jZWxsZWQgYnkgaW5pdGlhdG9yOzEwNDA3MDc0NzE7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2Vt
czE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50OzFNcUxvRUJWVlZrdlpqdjZxRUQr
WEJ0eVN0NlZ2UFgrMVhVWWwyWTZJQ21tS0k1S0I0Vm5BbFJnMWNIS1NoZ2xDNDdSMm8yc1ZFb2pJ
cVlxcmRxeit3PT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjEzOjExOzQ5NTc5NzkwODg7MjQ1OTg4O2Jp
eXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsu
YXV0b25hbWU7MDswOzEwOzE2O25vcm1hbDsxOzI0NTk4ODs7MTA7MTswOzQ5NTc5NzkwODg7O0Nh
bGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxMTA0MDgzMzkxOzs7OzE5Mi4xNjguMi44Oztz
bWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtHeWRHVEtRbUlxVUJj
YTE3NkFQQThRZ0Eyd01HSjA5KzZZK2VkTTRYbTk4Si9DM3VnS1I5ZndMVVRkVEtKTVZXa0IzaXRw
MlM3M0tDdmNLa1F2Z1I5QT09CkNhbGw7MjAxOS4wNi4wNiAxMDoyOToxNTs5MjUwMDM2NTg5OzI0
NTk4ODtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3Lmdy
LnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxNjtub3JtYWw7MTsyNDU5ODg7OzEwOzE7MDs5MjUwMDM2
NTg5OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7ODUyMjkxNTI3Ozs7OzE5Mi4xNjgu
Mi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDt0Y09lVmdo
dGN5K1hVSCtKdW9xeWpMZURkWFVsbHpNaG5TWVJVRlBnVlBYcUN4S3NVREFnZ3FPZ0o3OXRRb3pG
VGw3dmY4ODBHeStxSVJNMEVaWUpZUT09CkNhbGw7MjAxOS4wNi4wNiAxMDoyOTozNTs5NjUwMjUy
NjExOzI0NTI4NTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwu
c3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxMDI7bm9ybWFsOzE7MjQ1Mjg1OzsxMDsxOzA7
OTY1MDI1MjYxMTs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzkzNTU2OTg4NTs7Ozsx
OTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7
UFFFWWxROVFsNWdDcUZrU2dTR1VyUC9oMlNacmduQ3hlS0syZmY4a3pUdHgyaStHTnVpd05NV1dq
Mis0ZVE1Y25kMnBLU1oycEg3ejQvS2V2SVV4Z3c9PQpDYWxsOzIwMTkuMDYuMDYgMTA6NDI6MjE7
OTIzNDg5MTUyNTsyNDU1OTc7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNr
LmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTU5Nzs7
MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs0MTQ4NDgw
NTYzOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9u
ZS1ldmVudDtlT1R2S1U4VHpLQ2RFbkxVaEZFczdocUFpRkQza21HSHdidGdHOW1zMEl5UmpxVW1t
a2MvYkYrc1o2QVp1OUYzMklvekxGZERCNWFSLzhyZW0zM0lvQT09CkNhbGw7MjAxOS4wNi4wNiAx
MDo0Mjo0Nzs5MjM0ODkxNTI1OzI0NTU5NztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25h
bWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDs5OzE2O25vcm1hbDsxOzI0
NTU5Nzs7MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs0
MjU3NjM0MTgxOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRl
bGVwaG9uZS1ldmVudDtwVDFWNmgxWGZ0NDhEQWpSYnVGTzJiek4rMU1Qcm9QVjBiTFltMkw1MGdk
UmJHa0ZRTVJFaHBQTHlINngyei9EOHlMaU9yLzIyTGozMkJsN1RJY0dtQT09CkNhbGw7MjAxOS4w
Ni4wNiAxMDo0ODoxMDs5NjIzMTMyNjQ0OzI0NTYyNjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsu
YXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxODthUHR5
RGlzYzsxOzI0NTYyNjs7MTA7MTswOzk2MjMxMzI2NDQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGlu
aXRpYXRvcjsxMzE3OTM0OTE1Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENN
VSxHNzI5LHRlbGVwaG9uZS1ldmVudDtzSDQ5SGgzMk12QVMyLzZ1Yk0xTTFBRDFPYzQxZ2hNNlFS
Z3FqZC9aNmtTNHVLcVdreGNnS0ZvUjd1OE9VT01mcU1sYkZqQkpDMzZObTNqY0VXd3pRZz09CkNh
bGw7MjAxOS4wNi4wNiAxMDo1MToxNTs5MjM0ODkxNTI1OzI0NTA1ODtiaXlzay5sb2NhbC5zbWcu
Z3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsy
NDsxMDI7bm9ybWFsOzE7MjQ1MDU4OzsxMDsxOzA7OTIzNDg5MTUyNTs7Q2FsbCBpcyBjYW5jZWxs
ZWQgYnkgaW5pdGlhdG9yOzIwOTM1NzcxMzc7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7
UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2dtY3JKZk1WenJ3NGdJWHNuN1ZuZG1OS1FS
aVcwQlY5SEYyR3A2TmRheG5JZ1dZWHlMaUpMaFk1WmR5elVCVUxWU0t2Q29yWFJ3SEx5QXBkY2FN
ZFVRPT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjUxOjQzOzkyMzQ4OTE1MjU7MjQ1MDU4O2JpeXNrLmxv
Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h
bWU7MDswOzc7MTY7bm9ybWFsOzE7MjQ1MDU4OzsxMDsxOzA7OTIzNDg5MTUyNTs7Q2FsbCBpcyBj
YW5jZWxsZWQgYnkgaW5pdGlhdG9yOzIyMTA2ODY1MjY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2Vt
czE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2dPUFJSU0VFNjErZG03YWRJVVFK
SmhzRC9HSnR5cUJqZG5KRFJZTG9mM3ZLcVUrZm1CQUVUdDRGU2txN0dOUTNMUFkvNStnWTF5UFNF
ci9vaXhHMEtnPT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjU2OjU5OzQ5NTEzOTg1ODc7MjQ2NzY4O2Jp
eXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsu
YXV0b25hbWU7MDswOzk7MjE7YVB0eURpc2M7MTsyNDY3Njg7OzIyODsxOzA7NDk1MTM5ODU4Nzs7
Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzM1MzYzMzE5MDQ7Ozs7MTkyLjE2OC4yLjg7
O3NtZy00O2VtczI7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50OzNOSmJ4Wld0QWUz
Wko3aW04c0s2SVlhYkUxTThGVWI4TGdDN3l1NFN6eStPQWpwTDdOVVRDWFR0Si9RTjZ3eDhVKzNM
R1ZRSFF6aDBKTHlTeDFmTlJnPT0KQ2FsbDsyMDE5LjA2LjA2IDEwOjU4OjI5Ozk2NTc4NTU4OTE7
MjQ1NDUxO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cu
Z3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzEwMjtub3JtYWw7MTsyNDU0NTE7OzEwOzE7MDs5NjU3
ODU1ODkxOztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MzkxMzM3ODAzMDs7OzsxOTIu
MTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7TTNk
eXQ5U2YxdXNwazRXQ3ltQ2lnVkQ5SjhnZHRyZEttUytodmRmNXJ5TzZEZi9yK2JiU3lCK0F3dUMv
VGhOTXF4ZExCWW1ZRHNQaUU1enpVMEJvMlE9PQpDYWxsOzIwMTkuMDYuMDYgMTE6MDA6MTM7OTY1
Nzg1MDk3MDsyNDU2MDA7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxv
Y2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTYwMDs7MTA7
MTswOzk2NTc4NTA5NzA7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs1NTI0ODg3Njs7
OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZl
bnQ7dG12NFphWHhzeCtSSWJoKzZ5SnVvQmN4LytiWjZKcTdDaWY4aldQTUEwRkRLN1FsQldDN2lW
cEFZN0poZ0xkOW5nblUyRnFXVGRyejlRYkptL1dqeUE9PQpDYWxsOzIwMTkuMDYuMDYgMTE6MDY6
NTA7OTY1Mzg4OTkyMTsyNDY2NzM7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2Jp
eXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NjY3
Mzs7MTA7MTswOzk2NTM4ODk5MjE7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNzIw
NjYzODAwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVw
aG9uZS1ldmVudDtzaUFEQ2xqZ3FrNEdocjlTTkJ2YWR3SDFHSTZCaldONGt6cWdPRUNrZWp1S2pz
MVhLcS8rYklBVkh0eUxNc0xXb01Ia3E5bVYzUWMzTWZVL2x1Wkd5Zz09CkNhbGw7MjAxOS4wNi4w
NiAxMToyMDozMDs5NjQyNzg4OTU2OzI0NTI4NTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0
b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxMDI7bm9ybWFs
OzE7MjQ1Mjg1OzsxMDsxOzA7OTY0Mjc4ODk1Njs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlh
dG9yOzg2NDIxOTcyNjs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcy
OSx0ZWxlcGhvbmUtZXZlbnQ7RlRWanlXc3pORisvcjgvWnY4cmdLQ3JucTNLV3lLaVlJR0ZndXhq
dFY0MUJrRXlseHAwbi9rZzlFWHNFZFdJZ3l3V1JYNzBpZWJoOXhFK1Y4SVBYdkE9PQpDYWxsOzIw
MTkuMDYuMDYgMTE6MjA6NTg7OTYzNzIwMjE0ODsyNDU5ODg7Yml5c2subG9jYWwuc21nLmdyLnRy
dW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAy
O25vcm1hbDsxOzI0NTk4ODs7MTA7MTswOzk2MzcyMDIxNDg7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5
IGluaXRpYXRvcjs5ODE4ODUzMDk7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQ
Q01VLEc3MjksdGVsZXBob25lLWV2ZW50Ozl4RU1YUldsVG8xVXl4NDhQVm5QOUZRZG1aUW96b3pl
SEJBRzJHWmtGMkwrcjE0RjJrTDBmbXBGdVdaa01QNnZoQkhGNUxyc0NoR0paTWovSEk0anBnPT0K
Q2FsbDsyMDE5LjA2LjA2IDExOjIxOjIzOzQ5NTc5NzkwODg7MjQ1OTg4O2JpeXNrLmxvY2FsLnNt
Zy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDsw
Ozk7MTY7bm9ybWFsOzE7MjQ1OTg4OzsxMDsxOzA7NDk1Nzk3OTA4ODs7Q2FsbCBpcyBjYW5jZWxs
ZWQgYnkgaW5pdGlhdG9yOzEwODczMDEwNDE7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7
UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O1A5MnVOK0wvUU0zWnhaRnVFeVh0b2t1elVX
alBTTForZ1FJRG11Y2FVdUFqZW8vM1V3Zzg4alQ1UnpjS3VrbWlSSDZiODdKRG1qaW1kV2loTTVl
eXhRPT0KQ2FsbDsyMDE5LjA2LjA2IDExOjI3OjM3OzkyNTAwMTk3NDQ7MjQ1OTg4O2JpeXNrLmxv
Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h
bWU7MDswOzIzOzE2O25vcm1hbDsxOzI0NTk4ODs7MTA7MTswOzkyNTAwMTk3NDQ7O0NhbGwgaXMg
Y2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsyNjU1Njk2NTU5Ozs7OzE5Mi4xNjguMi44OztzbWctNDtl
bXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtZZGVsM3VSSk9MVlNJMzN1MDZy
Rk9BWXBaRnppZVFLN3ZxTG41Ti9xVTJmRlVWNlkvVmNZUCs4dEVpVzFCS0lpTDFhR3pBcTRVRzl5
ZFZvUml0UlhWUT09CkNhbGw7MjAxOS4wNi4wNiAxMTozMzo1MjszODUzMDIyMDM1OzI0NTU0Njti
aXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5r
LmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7MTsyNDU1NDY7OzEwOzA7MDszODUzMDIy
MDM1Ozt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25zZTs0MjI3OTk3NjIxOzs7OzE5Mi4xNjgu
Mi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtIZ29XaE9R
eVRGUW51Tlk5ZHcrcXVySWhRYUxUcUE3RW1SK2dqSWJtZFQ3bEE3dmNkWEVlL3JYbmxhK3dFYmR5
U2ZYa0RVU3RBcnNwZm40NGQ2WjRzUT09CkNhbGw7MjAxOS4wNi4wNiAxMTozNDoxOTszODUzMDIy
MDM1OzI0NTU0NjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwu
c3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7MTsyNDU1NDY7OzEw
OzA7MDszODUzMDIyMDM1Ozt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25zZTs0NjcxMjYxNzs7
OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZl
bnQ7dTliK05lVnEvakhiMHMzNmgxSC9UMHQrSlp6ZkU4MWNoamtWUzVFUGx4SFAyelc3TzNDKzI4
WTI0d0pRUWd3QWJvMW9USWlmOEdzek5YZUN3RzRkV2c9PQpDYWxsOzIwMTkuMDYuMDYgMTE6MzQ6
NTY7Mzg1MzAyMjAzMjsyNDU1NDY7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2Jp
eXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjU7MTg7bm90UmVhY2hhYmxlOzE7
MjQ1NTQ2OzsxMDswOzA7Mzg1MzAyMjAzMjs7dGVybWluYXRpb24gc2lkZSBub3QgcmVzcG9uc2U7
MjAxNjkzOTI4Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRl
bGVwaG9uZS1ldmVudDtmWVJuZGpab0JkTTU4cm1SM2FrVUdDK1l3NTdFc1QwUFhVSXQxNHlDckh2
VlVva0tWWlZ6ck1uNGwyNUdBVldhNWhXSjdpNlFuczl6aFcybUZXQk4yZz09CkNhbGw7MjAxOS4w
Ni4wNiAxMTozNToyNDszODUzMDIyMDMyOzI0NTU0NjtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsu
YXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RS
ZWFjaGFibGU7MTsyNDU1NDY7OzEwOzA7MDszODUzMDIyMDMyOzt0ZXJtaW5hdGlvbiBzaWRlIG5v
dCByZXNwb25zZTszMTkwMDQzMjM7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQ
Q01VLEc3MjksdGVsZXBob25lLWV2ZW50O1daWGFkT0wrSm01by9iWnFITlpmNWIzMnRjVC9hRWNZ
UkZTRGM4bWwwMExzTUZIWXVVUlE1d25WZ2dyRVhQY2xpdVBnY21rYUpjVURyRTU4elp3ZytRPT0K
Q2FsbDsyMDE5LjA2LjA2IDExOjM3OjM3OzM4NTMwMjIwMzU7MjQ1NTQ2O2JpeXNrLmxvY2FsLnNt
Zy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDsw
OzI1OzE4O25vdFJlYWNoYWJsZTsxOzI0NTU0Njs7MTA7MDswOzM4NTMwMjIwMzU7O3Rlcm1pbmF0
aW9uIHNpZGUgbm90IHJlc3BvbnNlOzg3NzA1OTU2MTs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1z
MTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7K3YxaHc5QTNOZ3FEMmROZkxhU3VS
MS9YRU1TazZMUGwvSkJNMEhac01vaXcwNGNMTXV6K0VTM2Qwc3pNWGJUWWQ2S2RLcTk5TlRZQUFU
SzFSZHBVWmc9PQpDYWxsOzIwMTkuMDYuMDYgMTE6Mzg6MDQ7Mzg1MzAyMjAzNTsyNDU1NDY7Yml5
c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5h
dXRvbmFtZTswOzA7MDsxNjtub3JtYWw7MTsyNDU1NDY7OzEwOzE7MDszODUzMDIyMDM1OztDYWxs
IGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7OTkwNzU5ODI5Ozs7OzE5Mi4xNjguMi44OztzbWct
NDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtyaUxKWlBsekxEQ3ZoeFVL
NkZSY2F4ZFdTMGlxVndFTmowdjQvc1hYemJnaHQ5R3VZeVZDbEN1K1F0Wm1KVEQ4Q0k2ZEREQ2RM
UUtnbmhIaTV3YmU2Zz09CkNhbGw7MjAxOS4wNi4wNiAxMTo0MzoyMTs5MDM1ODA4NzUyOzI0NTQ0
MDtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRy
dW5rLmF1dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsyNDU0NDA7OzEwOzE7MDs5MDM1ODA4NzUy
OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MjMyMDIxMzcwOTs7OzsxOTIuMTY4LjIu
ODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7Uzg3SnNXR0Nv
UllUZTJvTFJpeVIrWmtkZ1Q3NjZEdDBHSkN4T29wTW9VbWZaUDFxSWtXM09RVkZ3T2RuR1dVVDRS
YmtrTG9PNStNazlaOGhBNjdtRlE9PQpDYWxsOzIwMTkuMDYuMDYgMTE6NDQ6MjM7Mzg1NDI0MDQ2
MjsyMjQwNDY2Ozs7MDswOzA7MztpbnZhbGlkTnVtYmVyOzE7MjI0MDQ2Njs7MTA7MDswOzM4NTQy
NDA0NjI7OyJSdWxlICIiZGVmYXVsdF9ub19yb3V0ZSIiIGZpbmlzaGVkIHdpdGggbm8gcm91dGUi
OzI1ODAzOTQ2Njg7Ozs7MTkyLjE2OC4yLjI2OzswNjE2ZTFjZGY2ZDE3ZWNlOzswOztQQ01BLEc3
MjksRzcyMyxQQ01VLHRlbGVwaG9uZS1ldmVudDtZMDF6dnc5UEZibTNNMXJTNnFLTXRUZHFleDFX
aGM4Z2ZCZlpjNG42MUdJdlpUVmY4MmVSczZST0E4bXFQYThYNmxqOXdCZ1hPeGc5clNwOUluQm9F
UT09CkNhbGw7MjAxOS4wNi4wNiAxMTo0NjoyMzs5MDk5NDUxMzA5OzI0NTk4ODtiaXlzay5sb2Nh
bC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1l
OzA7MDsyNDszMTtub3JtYWw7MTsyNDU5ODg7OzEwOzE7MDs5MDk5NDUxMzA5OztDYWxsIGlzIGNh
bmNlbGxlZCBieSBpbml0aWF0b3I7MzA4MzI1NDkxMzs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1z
MTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7R3BjTlVsMkZTd0pZdWREWWpSN3VK
VUtjS1dxNTJ1dUsySTUzbklYWml3alB6d0lxenRNSUxsVVJBNjAvRXpIRkdBWnBCNjNzdEdVaEg0
QmZGbFR3Y2c9PQpDYWxsOzIwMTkuMDYuMDYgMTE6NTI6NDI7OTA5NzI3NzcwODsyNDUyODU7Yml5
c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5h
dXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NTI4NTs7MTA7MTswOzkwOTcyNzc3MDg7O0Nh
bGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszNzgxNzUyMDc7Ozs7MTkyLjE2OC4yLjg7O3Nt
Zy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O1RrYWtxaEhycFZQT25q
Z2tOeXp2di8yUDRWUk16cG5mRTRncDVQNjk3bnNhbFNha1BUSmZDQTI1QjFPQnV4ZndqUEZYQUkw
OGhaY1hOckNzVFB5NmFRPT0KQ2FsbDsyMDE5LjA2LjA2IDExOjUzOjE0OzM4NTQyNTUwMTQ7Kjcz
IztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7OzEyNTswOzA7MTI3O3N5c3RlbUZh
aWx1cmU7NzsyNDA1OTg7OzEwOzA7MDszODU0MjU1MDE0OztSZWxlYXNlIGZyb20gTVNSOiBtc3Jf
bm90X2F2YWlsYWJsZTs1MTI1NTAyMDE7MjQwNTk4Oyo3MyM7Mzg1NDQxNTc1OTsxOTIuMTY4LjIu
ODs7c21nLTQ7MDYxNmUxY2UwNDNhZmU4NTsxOztUMzg7bXh2dmFlM1dSMGVkQ3Roc0RVMWdxc1Vj
bW50azJ2WGo3aHNMdHV5MlZVVXVqbDhUd3BNcU16N0c5Qys1QnVrT291d1VaT255cURERDdBaE9i
Ylp1Unc9PQpTZXJ2aWNlOzIwMTkuMDYuMDYgMTE6NTM6MTQ7MjQwNTk4Oyo3MyM7OzswOzA7MDsw
Ozs7O2ludm9jYXRpb247OzsxOzI0MDU5ODtjZnU7OzUxMjU1MDIwMTszODU0MjU1MDE0OzsyNDA1
OTg7Ozs7Ozs7O0xya0ZjMmdTSFJBNGhUZVVZeGtuWUpUSnNkOVkxZWczejJkR2RZeTgxZG5oY0VW
L3BCd2NqSktCZWo2MElQQmlRUFNTYWh5YXl2RDJXY0x5UjQwQVhRPT0KQ2FsbDsyMDE5LjA2LjA2
IDExOjU2OjA5OzM4NTQyNTUwMTQ7KjczIztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25h
bWU7OzEyNTswOzA7MzE7bm9ybWFsOzc7MjQwNTk4OzsxMDswOzA7Mzg1NDI1NTAxNDs7VGVybWlu
YXRlZCBieSBzeXN0ZW0gYWRtaW5pc3RyYXRvcjsxMjQ1ODE1ODA4OzI0MDU5ODsqNzMjOzM4NTQ0
MTU3NTk7MTkyLjE2OC4yLjg7O3NtZy00OzA2MTZlMWNlMDQzYWZlODU7MTs7VDM4O1lmb3VSSXpQ
Q3FQMWVyZnhid2UvdHJDYlhEbWdyeFJiaVZCL1A0S1pmZ3lZclowTWhxZVRIdDFVTTNiL2w2M3JS
ejhGUjZPeXEvcVJpbFRZajdGbFlnPT0KU2VydmljZTsyMDE5LjA2LjA2IDExOjU2OjA5OzI0MDU5
ODsqNzMjOzs7MDswOzA7MDs7OztpbnZvY2F0aW9uOzs7MTsyNDA1OTg7Y2Z1OzsxMjQ1ODE1ODA4
OzM4NTQyNTUwMTQ7OzI0MDU5ODs7Ozs7Ozs7RnoyZkkrdGs0TmJuQnZXUzlPb3BqL3JOSi9HZDlP
WUtad0lPbzh5eEVyT0JzYmRzVWR2Y3hKMlZORHRCV2o0dTlFZXVCa2l6RUxUVTgxaWpjMXlhRlE9
PQpDYWxsOzIwMTkuMDYuMDYgMTE6NTY6NDE7OTA5NjI5NDQyMDsyNDU0NDA7Yml5c2subG9jYWwu
c21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTsw
OzA7MjQ7MzE7bm9ybWFsOzE7MjQ1NDQwOzsxMDsxOzA7OTA5NjI5NDQyMDs7Q2FsbCBpcyBjYW5j
ZWxsZWQgYnkgaW5pdGlhdG9yOzEzODA2OTk3MjU7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7
MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O05XVjlvcitvekxHUGFzd1htYkxoUGhz
b1NsQTJyazEwMC95OUhXMnpBL0VHempwbnNubUJwd3JabjY0Nk9SUFBMSmxGWlMwZHlXcGNBTEx5
SWZaM1FBPT0KQ2FsbDsyMDE5LjA2LjA2IDExOjU5OjAwOzk2NTM4ODUzMDI7MjQ2NTcxO2JpeXNr
LmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0
b25hbWU7MDswOzI0OzMxO25vcm1hbDsxOzI0NjU3MTs7MTA7MTswOzk2NTM4ODUzMDI7O0NhbGwg
aXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxOTYzMzIxMjMxOzs7OzE5Mi4xNjguMi44OztzbWct
NDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtpdjNleEZwU0xOVk1KaEdl
UXg5N0QxZkRxVUk4NUF0aVRmUTZaeVlPc0p2NHdaKy90endHeDJaZ3c4THdFOS9xcmZPZGcyVHBj
MDE5THhmd0UrL2xGdz09CkNhbGw7MjAxOS4wNi4wNiAxMTo1OTowOTszODU0MjU1MDE0Oyo3MyM7
Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lOzsxMjM7MDswOzEyNztzeXN0ZW1GYWls
dXJlOzc7MjQwNTk4OzsxMDswOzA7Mzg1NDI1NTAxNDs7UmVsZWFzZSBmcm9tIE1TUjogbXNyX25v
dF9hdmFpbGFibGU7MjAwMTA2NzA4NjsyNDA1OTg7KjczIzszODU0NDE1NzU5OzE5Mi4xNjguMi44
OztzbWctNDswNjE2ZTFjZTA0M2FmZTg1OzE7O1QzODtWOEtKaDJNT1Z0YmRvK21xczI1blN4eCsv
WWt0ZUhXWXNCTUxKa281a2R6ekhWbnQydFN4ZE9Ud2FCUWNCaEthZzhiOHFJWHRueUw3ejFoaUd3
NXhtUT09ClNlcnZpY2U7MjAxOS4wNi4wNiAxMTo1OTowOTsyNDA1OTg7KjczIzs7OzA7MDswOzA7
Ozs7aW52b2NhdGlvbjs7OzE7MjQwNTk4O2NmdTs7MjAwMTA2NzA4NjszODU0MjU1MDE0OzsyNDA1
OTg7Ozs7Ozs7O2xPdGYwOGhuUnVMakxYbXhqRFVTWDNaMzhISlBGSEJLdmllVWo0bWpOQldEN0Zq
M1I1bmdzSTBPUUNBUmdEUmVpT3dzUytSazR0cFRyQWtvNUl3V0pRPT0KQ2FsbDsyMDE5LjA2LjA2
IDEyOjIxOjU5Ozk2MDc5MzE1Mjc7MjQ2NTcxO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRv
bmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzEwMjtub3JtYWw7
MTsyNDY1NzE7OzEwOzE7MDs5NjA3OTMxNTI3OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0
b3I7MzQ1MTk3Mzc2Mjs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcy
OSx0ZWxlcGhvbmUtZXZlbnQ7aGJWMS82OUJ1Qkwycm9SaENtYXpacUQzOUgrT3NrODlEU2lYZWdh
a0NkVVlYbHlCUmh6UDJFQTRiSVRBWWluaUptT2hyRHVuTlBveHZLeVpMWk1GZWc9PQpDYWxsOzIw
MTkuMDYuMDYgMTI6Mjg6NDE7OTI2NDUwNzYxODsyNDY2NzM7Yml5c2subG9jYWwuc21nLmdyLnRy
dW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTg7
YVB0eURpc2M7MTsyNDY2NzM7OzEwOzE7MDs5MjY0NTA3NjE4OztDYWxsIGlzIGNhbmNlbGxlZCBi
eSBpbml0aWF0b3I7ODQzMzU2MjEwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEs
UENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtjTnQ1MzFkeEdmbm5XSmM2SWRYczMyclQvVVlmbHVv
M2l4cE9mNTFGQ2FIYmxyZUZpbk5tYzAzaGEwa2djTzFraXhJWko3a0V3OEF5NStQYTNTcVJpZz09
CkNhbGw7MjAxOS4wNi4wNiAxMjoyOToyMDs5NjQ4MzU0NjE4OzI0NjU3MTtiaXlzay5sb2NhbC5z
bWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7
MDsyNDsxMDI7bm9ybWFsOzE7MjQ2NTcxOzsxMDsxOzA7OTY0ODM1NDYxODs7Q2FsbCBpcyBjYW5j
ZWxsZWQgYnkgaW5pdGlhdG9yOzEwMDczMjk5Mzc7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7
MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2FTZnZOYjhJbkZ0ZVBvRFZVWVpwOVAy
ZkZNQy9kNzJjOVIxSVp5cmUyWWRURnVkaThCMzNPelFsV0RkMDBJVUk5M28wei9jZDl6M09YbnV0
YkpqOGJBPT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjM4OjA1OzkyNTAwMTk3NDQ7MjQ1NjI2O2JpeXNr
LmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0
b25hbWU7MDswOzI0OzE2O25vcm1hbDsxOzI0NTYyNjs7MTA7MTswOzkyNTAwMTk3NDQ7O0NhbGwg
aXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszMjA4OTQ4NzEwOzs7OzE5Mi4xNjguMi44OztzbWct
NDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtEMU9KaUJLb0I2QkI2T3Z4
N1dCeEZFUitlUmVxY0VEN3hLdmRDTDR0c2tnbFMvNityaTdiV21TRzZFd1A5RWZIN2dvOGpodlFv
d2lMK2lRRVd1NDJqQT09CkNhbGw7MjAxOS4wNi4wNiAxMjozOTowNzs5MjY0NTA3NjE4OzI0NjY3
MztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRy
dW5rLmF1dG9uYW1lOzA7MDsyNDsxODthUHR5RGlzYzsxOzI0NjY3Mzs7MTA7MTswOzkyNjQ1MDc2
MTg7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszNDY5MjQ5NTczOzs7OzE5Mi4xNjgu
Mi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtGelE5cmdp
bU14VnhhdXhTaGJBQlgwZk43ZndGMGV5NzN6Y3JldzU3TkY0TlNIbGtRWmlINUM2M1l0QTlOY3k5
VU82UStpYzdqYlE0RllGWGVsOXcydz09CkNhbGw7MjAxOS4wNi4wNiAxMjo0NDozNjs5NjIzMTQw
ODUxOzI0NjY3MztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwu
c3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxMDI7bm9ybWFsOzE7MjQ2NjczOzsxMDsxOzA7
OTYyMzE0MDg1MTs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzU1NDUyODA1Mjs7Ozsx
OTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7
SFN5b2MrRlJ4VFdyUGQ5c0xwMW9aa2VITitZazJ2eWh6dzNUcm9mNXZCUVhKQzlaemJPVkZoNW9Z
ZzM4c3drR3Z1QlY2amNXeVRrMlNHaXJoZ1Vld0E9PQpDYWxsOzIwMTkuMDYuMDYgMTI6NDU6MDA7
OTIyNDA0NzM5MjsyNDYzNTM7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNr
LmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsxOzI0NjM1Mzs7
MTA7MTswOzkyMjQwNDczOTI7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs2NTQ2NzQ1
NDY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25l
LWV2ZW50O2JYeXhhOHErd3hkc2s2MXluWVJMVkFuQnllOUtkcXJIZmFab2xHRzlwMDZ3SlpqUUZN
ai9vdFBHUTFWa1p1a3dhSTBwNVhqQTRPUkhHSlU2bWk5UXZRPT0KQ2FsbDsyMDE5LjA2LjA2IDEy
OjQ1OjI2OzkwOTY4MTA2Nzk7MjQ1NzA4O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFt
ZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzMxO25vcm1hbDsxOzI0
NTcwODs7MTA7MTswOzkwOTY4MTA2Nzk7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjs3
NjM0OTQyMjU7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVs
ZXBob25lLWV2ZW50O1R1UlRtT2hPV0laRGlTZmhYRmp0M0o4UGlKTXVZRWZXU0pnQVF4NjR0enha
WEZybXJoYzkyZTBRalQ3OWRWWFFEU3NJZnlKWk9iRUFmYnY0TGRRT2JnPT0KQ2FsbDsyMDE5LjA2
LjA2IDEyOjQ2OjUxOzM4NTQzNDQwMzI7MjQ1NjczO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5h
dXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI1OzE4O25vdFJl
YWNoYWJsZTsxOzI0NTY3Mzs7MTA7MDswOzM4NTQzNDQwMzI7O3Rlcm1pbmF0aW9uIHNpZGUgbm90
IHJlc3BvbnNlOzExMjAyNzU4NTM7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQ
Q01VLEc3MjksdGVsZXBob25lLWV2ZW50O0hiL3EwU1UrUnc5L0dKeFlsb2x3RE1tQ1FoOHhhc1hP
c3k1RmMxMGJBVitveDJ2b2dpQm1VM1JiSWphdWl3SlZTM2htS0oyeTh4azRPM1oyS3dLT1V3PT0K
Q2FsbDsyMDE5LjA2LjA2IDEyOjQ3OjE5OzM4NTQzNDQwMzI7MjQ1NjczO2JpeXNrLmxvY2FsLnNt
Zy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDsw
OzM7MTY7bm9ybWFsOzE7MjQ1NjczOzsxMDsxOzA7Mzg1NDM0NDAzMjs7Q2FsbCBpcyBjYW5jZWxs
ZWQgYnkgaW5pdGlhdG9yOzEyMzc2MjU5MDA7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczE7MDs7
UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3hMdmdIRUFoWXdka0NoTW8zemUrUzk3cUNz
ZjJtRW10cnRsWWsvVnlXTGsxclFNSEV2L1VvMnpTaGZyd1UwU2RPSTNhTCt3ZXBzT1NBTUQzdlYr
OFhBPT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjQ3OjI2OzM4NTQzNDQwMzI7MjQ1NjczO2JpeXNrLmxv
Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h
bWU7MDswOzI1OzE4O25vdFJlYWNoYWJsZTsxOzI0NTY3Mzs7MTA7MDswOzM4NTQzNDQwMzI7O3Rl
cm1pbmF0aW9uIHNpZGUgbm90IHJlc3BvbnNlOzEyNjc1NDk2NjQ7Ozs7MTkyLjE2OC4yLjg7O3Nt
Zy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O1Z6TEMwaE9EVTMyeXdh
Wms0NDFLTE1Pa2wrbUNtcUtjNVN6TC9Qc2szNHVQZjdsRnB5L3FFRTlUU042Vmcwclk5czNZZnFx
SXk2eVJiRk5lSFZXRTNBPT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjQ3OjU0OzM4NTQzNDQwMzI7MjQ1
NjczO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3Iu
dHJ1bmsuYXV0b25hbWU7MDswOzA7MTY7bm9ybWFsOzE7MjQ1NjczOzsxMDsxOzA7Mzg1NDM0NDAz
Mjs7Q2FsbCBpcyBjYW5jZWxsZWQgYnkgaW5pdGlhdG9yOzEzODQ4MDAxMTQ7Ozs7MTkyLjE2OC4y
Ljg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3hUVk9WMDRH
ejJMei8rN2lvTHN2UUEreW05ZU5KSk1CWnJoVkpsdU5vRjlYRGRZNEwrOXVWUzliV3M4a2RubHFU
V1NEeDl2NEZkNTNCUXZhTlVCWTB3PT0KQ2FsbDsyMDE5LjA2LjA2IDEyOjQ4OjQ2OzkyMjQwNDcz
OTI7MjQ2MzUzO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5z
c3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzEwMjtub3JtYWw7MTsyNDYzNTM7OzEwOzE7MDs5
MjI0MDQ3MzkyOztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MTYwMjYwNzE3MDs7Ozsx
OTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7
V3kyaU02VzJZWFRFTnRkc29rU2JrTERyc0NwM1NHR204T2hOaFAyc3RxV0ZqU3pCUVdPUWRZeVB2
Y0tlSzlJT25lVzJiUmJHOGFnU25YT0pjamwwZHc9PQpDYWxsOzIwMTkuMDYuMDYgMTI6NDk6NDU7
OTI2NDUwNzYxODsyNDY2NzM7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9uYW1lO2JpeXNr
LmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTg7YVB0eURpc2M7MTsyNDY2NzM7
OzEwOzE7MDs5MjY0NTA3NjE4OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MTg1MDQx
MTIzODs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhv
bmUtZXZlbnQ7K1pxcG40c01HUTNDQ1A4NmZNRlNTaURRTDlCbXNQV1dwbDRSeGE5SlJqM21VSUpJ
TFNLTFdZS2ZyLzlid2RLSkFFazRUdzdvWm1aaHdjNVZCaGY4Q1E9PQpDYWxsOzIwMTkuMDYuMDYg
MTI6NTc6MDU7OTY1Mzg4NDc1NzsyNDY1NzE7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9u
YW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsx
OzI0NjU3MTs7MTA7MTswOzk2NTM4ODQ3NTc7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRv
cjszNjk1MjEwNzIwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5
LHRlbGVwaG9uZS1ldmVudDthUUs3L09MVEJnRkpwNEE2cHhZakhvMFhlUDh6YThBcXUyd0ZoOU9t
N0lMWi9mcnZyZkpjUmQ5SGhnNWppbTFDei9PbGtLUjhWMndoQ1diZk1vVWk1QT09CkNhbGw7MjAx
OS4wNi4wNiAxMzowMDoyODs5MjY0NTA3NjE4OzI0NjY3MztiaXlzay5sb2NhbC5zbWcuZ3IudHJ1
bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDsxODth
UHR5RGlzYzsxOzI0NjY3Mzs7MTA7MTswOzkyNjQ1MDc2MTg7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5
IGluaXRpYXRvcjsyNTIxMzA2NzY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7MDs7UENNQSxQ
Q01VLEc3MjksdGVsZXBob25lLWV2ZW50Ozk1MmpNYUdOMUR2bmVpb1NzODQrNWl4a0NnZVdzcUk3
ZHJacXRXVm1SUkt3WVFQSkxGbWYxLzZhZ3pYUGhPUDd4S1EwOHNOQlRNZHNxVmV5YitUa2dnPT0K
Q2FsbDsyMDE5LjA2LjA2IDEzOjA0OjQ3OzM4NTQzNTY3MDk7MjQwNTE1O2JpeXNrLmxvY2FsLnNt
Zy5nci50cnVuay5hdXRvbmFtZTs7NDQ7MTswOzE2O25vcm1hbDs3OzI0MDUxNTs7MTA7MTswOzM4
NTQzNTY3MDk7O0lTVVAgY2FsbCBpcyBjb21wbGV0ZTsxMzM4NzY1NzM4Ozs7OzE5Mi4xNjguMi44
OzE5Mi4xNjguMi4yNjtzbWctNDswNjE2ZTFjZTA0Mzg2OGVhOzE7O1BDTUEsdGVsZXBob25lLWV2
ZW50O0V6UWVHaEMxbDFiRnFabTMrdW92ZmZXSlBhc2RPazJybTQ2Qm4vdm5yWVpnS3N3V0VkKzN4
UC9uYVVlMmJRbkZYOWZ2bEJFV2E2RFNvWXp6QzRYSjlnPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjA1
OjE0OzkwNTU3NDgwNzQ7MjQ1NDQwO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTti
aXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzMxO25vcm1hbDsxOzI0NTQ0
MDs7MTA7MTswOzkwNTU3NDgwNzQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNDUx
NzEzMjM2Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVw
aG9uZS1ldmVudDtHTzhnUS9xaDNHS2xZL3YyWkFqdURnb09ndVZGcTZIVmxIbW9vbGlKTllXSDZr
aGVsL0ozQ1ZtT0duVHRkRmNyWTJKcVJYdC9yejJZVlVrM3R1Y2NzZz09CkNhbGw7MjAxOS4wNi4w
NiAxMzowNTo0MzszODU0MzU2NzA5OzI0MDUxNTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0
b25hbWU7OzM3OzE7MDsxNjtub3JtYWw7NzsyNDA1MTU7OzEwOzE7MDszODU0MzU2NzA5OztJU1VQ
IGNhbGwgaXMgY29tcGxldGU7MTU3MzQ1OTE0NTs7OzsxOTIuMTY4LjIuODsxOTIuMTY4LjIuMjY7
c21nLTQ7MDYxNmUxY2UwNDM4NjhlYTsxOztQQ01BLHRlbGVwaG9uZS1ldmVudDtOMnJIN2dIQnJp
WmdSSXZtZnJIQ0xzenVteWV3SlpVMlc4MHAwbzJROXpMOWhEbzlmSTI0TXpaa2VNbXNhQSt5Q093
MjNoT3hvSVhtbVRwR3lDK0hVQT09CkNhbGw7MjAxOS4wNi4wNiAxMzoxMTo1NTszODU0MzQ5MzA1
OzI0NTgzOTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3
LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNTsxODtub3RSZWFjaGFibGU7MTsyNDU4Mzk7OzEwOzA7
MDszODU0MzQ5MzA1Ozt0ZXJtaW5hdGlvbiBzaWRlIG5vdCByZXNwb25zZTszMTMzMzExODcyOzs7
OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVu
dDtpVFg2amN4YkxhU0lMbXpyUmszV1BYZk1FSHFTWTg5TGNLT1J4cFQ0bjkwdXE2RU0zS2tNZ09H
cmZQUDVJOXdaWFN1c2ZrMEYxVWZ6WlZQOGQ2aXVPZz09CkNhbGw7MjAxOS4wNi4wNiAxMzoxMjoy
Mzs0OTU5MDEwOTg0OzI0NTgzOTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5
c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDs3OzE2O25vcm1hbDsxOzI0NTgzOTs7
MTA7MTswOzQ5NTkwMTA5ODQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszMjUxNTYy
MDAxOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9u
ZS1ldmVudDs5b1FwMXM5dVdTcEdwS1ZpRTJ6UzJkTmZFRFY3RDFqeCt1eTd4Mk5SU0kzeGtkbWxz
aWYrTEJ0bEk5STdqRkhYOCsra1FXOGNHNDFqcFZ3SktyeStLZz09CkNhbGw7MjAxOS4wNi4wNiAx
MzoxMjo0OTs5MDk5ODIwNjE0OzI0NTcwODtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25h
bWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsy
NDU3MDg7OzEwOzE7MDs5MDk5ODIwNjE0OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7
MzM1OTk1NTQ1Nzs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0
ZWxlcGhvbmUtZXZlbnQ7RmhIL2ZYT0xOSTJrUzF3WGtsM1duM2xDOFhHam5XZzF6TU5iZHhOYmxW
UEo3dTF3QjhXQ3RVVm96dEROOVVxV0phSUxqMkJycTFKbVZMSmloc1h3ZkE9PQpDYWxsOzIwMTku
MDYuMDYgMTM6MTY6MjE7NDk1NzM5MjAwNTsyNDYwMTg7Yml5c2subG9jYWwuc21nLmdyLnRydW5r
LmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25v
cm1hbDsxOzI0NjAxODs7MjI1OzE7MDs0OTU3MzkyMDA1OztDYWxsIGlzIGNhbmNlbGxlZCBieSBp
bml0aWF0b3I7NDI0ODg0Mjg3Mzs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMjswOztQQ01BLFBD
TVUsRzcyOSx0ZWxlcGhvbmUtZXZlbnQ7TEs5Vjg0Vmh4RXVTbUgzRTJxVUFwaVljUVhrcHZIaG1O
aTk2MzJPOUFxSEM0OE0wd1B3NTdQdGNvb2NnMnNpZnp3QXBPN0ZEZXZZRkNuaCtkMnJrQWc9PQpD
YWxsOzIwMTkuMDYuMDYgMTM6MTY6NDc7NDk1OTgxMTE4MTsyNDYwMTg7Yml5c2subG9jYWwuc21n
LmdyLnRydW5rLmF1dG9uYW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7
MTk7Mzg7c3M3RmFpbHVyZTsxOzI0NjAxODs7MjI4OzE7MDs0OTU5ODExMTgxOztDYWxsIGlzIGNh
bmNlbGxlZCBieSBpbml0aWF0b3I7NjI5Mjk4MTY7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7
MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3pFdG9VeWhaS09TQzlLZExhZzk3TDBv
bWMxcHhlY3gzK09EdjRLMUQydjFkYVJGczZTdGF3VCszQjZiTENBK00wU0ZzamlWT2ZCTkdFempZ
OHpld1p3PT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjE3OjA3OzQ5NTk4MTExODE7MjQ2MDE4O2JpeXNr
LmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0
b25hbWU7MDswOzk7MTY7bm9ybWFsOzE7MjQ2MDE4OzsyMjg7MTswOzQ5NTk4MTExODE7O0NhbGwg
aXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNDcwMjg2MzI7Ozs7MTkyLjE2OC4yLjg7O3NtZy00
O2VtczI7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O2RtdVBCaE1NRWFqVnRXWVZ4
ZkJtamRmYUJRMjZmU0FCbmF3Z3BIKy9WQkNzQnJZVHdGSDh4RnNFWlh2b1FQSlExaVZVY0M3M2hD
RmRsSC8wbGN6ZVZBPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjIyOjM0OzQ5NTc4ODc5MDA7MjQ1MjY2
O2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1
bmsuYXV0b25hbWU7MDswOzI1OzE4O25vdFJlYWNoYWJsZTsxOzI0NTI2Njs7MTA7MDswOzQ5NTc4
ODc5MDA7O3Rlcm1pbmF0aW9uIHNpZGUgbm90IHJlc3BvbnNlOzE1MTg4MTExMzE7Ozs7MTkyLjE2
OC4yLjg7O3NtZy00O2VtczE7MDs7UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O3JIbWZF
TW4rVGJ3cE1NWUZ1MjVjRzlSeHk4VHNUa01qT2ExeWZVZ3JjQjFMbnRUNXZyOXNFelVaYXJMRncv
bVNGdStqaHducHl6enI3ZFB4N2NMNnNnPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjIzOjAzOzkyNTAw
MTk3NDQ7MjQ1NDQwO2JpeXNrLmxvY2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2Nh
bC5zc3cuZ3IudHJ1bmsuYXV0b25hbWU7MDswOzI0OzE2O25vcm1hbDsxOzI0NTQ0MDs7MTA7MTsw
OzkyNTAwMTk3NDQ7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRvcjsxNjQwMTM0NjY4Ozs7
OzE5Mi4xNjguMi44OztzbWctNDtlbXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVu
dDtBVnhFZzdUMWtzQkF5YUMxM1BMODB1Z0JESkZiZEVVZ05MdmY5enNqbk56VzROMmp6MmY5NFpr
QjlWa3FVTFN2S0FYVWZqREUrZXpxa1RvKzh2SzVSdz09CkNhbGw7MjAxOS4wNi4wNiAxMzoyNjo1
MDs5NjI5MTI1NjA2OzI0NTcwODtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1bmsuYXV0b25hbWU7Yml5
c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsyNDszMTtub3JtYWw7MTsyNDU3MDg7
OzEwOzE7MDs5NjI5MTI1NjA2OztDYWxsIGlzIGNhbmNlbGxlZCBieSBpbml0aWF0b3I7MjU5Mjgy
ODU5MDs7OzsxOTIuMTY4LjIuODs7c21nLTQ7ZW1zMTswOztQQ01BLFBDTVUsRzcyOSx0ZWxlcGhv
bmUtZXZlbnQ7ell4YVJTRXVmcWVmNE94NFZUc0ZibHZUMjVOL0ZWTTVvNzc0aWZ2cll0UEJlZFhF
V0xKZ3lIRjdZNG5OTlBqOU1zekNwUUZCdUJBK1pwR0VmcWJuQ3c9PQpDYWxsOzIwMTkuMDYuMDYg
MTM6Mjk6MTY7OTIzNDg5MTUyNTsyNDY1NjE7Yml5c2subG9jYWwuc21nLmdyLnRydW5rLmF1dG9u
YW1lO2JpeXNrLmxvY2FsLnNzdy5nci50cnVuay5hdXRvbmFtZTswOzA7MjQ7MTAyO25vcm1hbDsx
OzI0NjU2MTs7MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGluaXRpYXRv
cjszMjA1MTUyODM5Ozs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENNVSxHNzI5
LHRlbGVwaG9uZS1ldmVudDtxdnUwNS9yb2NpOFFLdXNlM2VpZDJ6c2I2TVlhTnliQ3B0WGRPZkdv
dXBJTWpOa2d2dTFndDFwS3lsWXZuN1NpQ1QvVWhwTzVQWmtDMGFEeldTY0FjUT09CkNhbGw7MjAx
OS4wNi4wNiAxMzoyOTo0Mjs5MjM0ODkxNTI1OzI0NjU2MTtiaXlzay5sb2NhbC5zbWcuZ3IudHJ1
bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDs5OzE2O25v
cm1hbDsxOzI0NjU2MTs7MTA7MTswOzkyMzQ4OTE1MjU7O0NhbGwgaXMgY2FuY2VsbGVkIGJ5IGlu
aXRpYXRvcjszMzE0MzkzMDkwOzs7OzE5Mi4xNjguMi44OztzbWctNDtlbXMyOzA7O1BDTUEsUENN
VSxHNzI5LHRlbGVwaG9uZS1ldmVudDtBQTRvdUw1SUxVK1dkL0JKb0pCNnV2YVJXZFdhTWRqelFM
NkpyUmRiMFg2YTRxUnExSHpBQjF3UTB0a2Z3Y3plMVRSbmZhdmFaQkFKZ1pFanRjN0pxUT09CkNh
bGw7MjAxOS4wNi4wNiAxMzozMDowNTs5NjUzODg5MzIyOzI0NjU3MTtiaXlzay5sb2NhbC5zbWcu
Z3IudHJ1bmsuYXV0b25hbWU7Yml5c2subG9jYWwuc3N3LmdyLnRydW5rLmF1dG9uYW1lOzA7MDsy
NDsxMDI7bm9ybWFsOzE7MjQ2NTcxOzsxMDsxOzA7OTY1Mzg4OTMyMjs7Q2FsbCBpcyBjYW5jZWxs
ZWQgYnkgaW5pdGlhdG9yOzM0MTA4MDcyMDc7Ozs7MTkyLjE2OC4yLjg7O3NtZy00O2VtczI7MDs7
UENNQSxQQ01VLEc3MjksdGVsZXBob25lLWV2ZW50O0hYQ05PMWc5WXVqY2lJUU5rWjZPMnAySmZs
U2ZJT1QvSVRXN0tWUVJ0VTB2bDJnVk5UQlp0R2k0YnB5SEsyalNFNHpPNm1NekhIY0RwMnlpUnlH
VHVRPT0KQ2FsbDsyMDE5LjA2LjA2IDEzOjMyOjIzOzkyNTAwMTk3NDQ7MjQ1NzA4O2JpeXNrLmxv
Y2FsLnNtZy5nci50cnVuay5hdXRvbmFtZTtiaXlzay5sb2NhbC5zc3cuZ3IudHJ1bmsuYXV0b25h
bWU7MDswOzIzOzE2O25vcm1hbDsxOzI0NTcwODs7MTA7MTswOzkyNTAwMTk3NDQ7O0NhbGwgaXMg
Y2FuY2VsbGVkIGJ5IGluaXRpYXRvcjszOTg5MzMxMjk5Ozs7OzE5Mi4xNjguMi44OztzbWctNDtl
bXMxOzA7O1BDTUEsUENNVSxHNzI5LHRlbGVwaG9uZS1ldmVudDtFSVk3UHE2UGdLR2g2ZTZIR1d2
RjI0Y3hhbnFhdXNkNllYN0JyTVUyaDRKRzBqNWZ3WURJY0N2cVNQRVNKSGdVd0xmQUZudjJaOXl4
TDNsRklwMHRoUT09CkZpbmFsOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1RnaXB6ZVU2
UHoram1oWDBWOEhoV0FsdFd6VVpoY3phakYzZTY1bm52S0o1MlBTR2w1VU0rcUpMSzJLRDhhNlFN
UFBoWHc4bE5ycktYT283NUE5Z3lGakJqR1BJU3hiLzFBTE5Gem9sTE9RcVQwM09iejU2MjBPcDho
eEdrYmt6TjFKNkZKakc0ZitRWlZHckNDbCs5Tkt6WktlcFBCeWllTENEMW5IbjlTRT0K"/>
    </request>
</in>

Ответ:

200

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="tts_validate_cdr.xsd">
    <response valid="true"/>
</out>

Файл или строка должны быть закодированы с помощью base64Binary.