Перейти к основному содержимому
Версия: 1.16.2

Распознавание лиц

Общие ошибки входных данных

Ошибки при загрузке изображения через API:

  • Неверная строка base64:
{
"message": "image file is truncated (21 bytes not processed)"
}
  • Изображение представлено не в формате base64:
{
"message": "Expected value of type 'CustomBinaryType', found \"wrong_data\";
}
  • Изображение не передано:
{
"message": "Sample Data is not valid",
"code": "0xc69c44d4"
}
  • Неверный формат изображения:
{
"message": "Image decode failed"
}
  • Изображение без лиц:
{
"message": "No faces found",
"code": "0x95bg42fd"
}
  • Слишком большой размер изображения:
Bad Request (400)

Ошибки при фильтрации, пагинации и сортировке сущностей:

  • Переданные фильтры не поддерживают формат словаря:
{
"message": "'str' object has no attribute 'keys'"
}
  • Неверное поле фильтрации:
{
"message": "Cannot resolve keyword '' into field. Choices are: creation_date, id, info, last_modified, link_to_label, person, person_id, profile_groups, samples, workspace, workspace_id"
}
  • Неверное поле для фильтрации подобхъектов или фильтрации поля по функции:
{
"message": "Unsupported lookup '1' for UUIDField or join on the field not permitted."
}
  • Отрицательное значение в поле пагинации:
{
"message": "Negative indexing is not supported."
}
  • Неверное поле сортировки:
{
"message": "Cannot resolve keyword '' into field. Choices are: creation_date, id, info, last_modified, link_to_label, person, person_id, profile_groups, samples, workspace, workspace_id"
}

Другие общие ошибки:

  • ID объекта не задан в формате UUID:
{
"message": "“%(value)s” is not a valid UUID."
}
  • Переданный JSON не прошел валидацию по JSON-схеме:
{
"message": "Invalid JSON request"
}

Детекция лиц

Этот запрос позволяет обнаружить несколько лиц на изображении и получить информацию об этих лицах (например, пол, возраст, эмоции, liveness, наличие маски и т. д.). В качестве ответа вы получаете результат детекции без возможности его сохранения в локальной базе данных.

Внимание! Поддержка данного API-запроса действует до 2024 года.

detect(image: CustomBinaryType!pupils:
[EyesInput!] = null): JSON!

image: CustomBinaryType!: Изображение в формате base64
pupils: [EyesInput!]: Для повышения точности детекции можно указать X и Y координаты зрачков.

  • EyesInput!
    • leftPupil: PointInputType!
      • x: Float!
      • y: Float!
    • rightPupil: PointInputType!
      • x: Float!
      • y: Float!

JSON! : API возвращает сэмпл в формате JSON со следующими параметрами:

  • image: Изображение в формате base64
  • id: Порядковый номер лица на изображении
  • class: Имя класса объекта, например, лицо
  • template: Уникальный набор биометрических характеристик, извлеченных из изображения лица. Шаблоны используются для сравнения двух изображений лиц и определения степени сходства.
  • bbox: Ограничивающий прямоугольник вокруг задетектированного лица. Координаты bbox рассчитываются относительно координат исходного изображения.
  • crop image: Изображение, обрезанное по вычисленным координатам ограничивающего прямоугольника лица (bbox).
  • keypoints: Набор из 21 точки лица, указывающих на положение частей лица.
  • rotation angles: Углы поворота головы: (yaw): вращение вокруг вертикальной оси Y, (pitch): вращение вокруг горизонтальной оси Z, (roll): вращение вокруг горизонтальной оси X. Алгоритм позволяет обнаруживать лица в следующем диапазоне углов: yaw [-60; 60], pitch [-60; 60], roll [-30; 30]
  • age: Возраст в годах
  • gender: Пол персоны на изображении
  • emotions: Эмоции по степени достоверности
  • liveness: Встроенный liveness-алгоритм, который позволяет определить, что на фотографии изображен реальный человек.
  • mask presence: Параметр наличия маски на лице.

Пример запроса:

query{
detect(image:"your image in Base64 format")
}

Пример ответа:

API возвращает следующий результат:
  {
"data": {
"detect": {
"$image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx4BBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIAlgBwgMBIgACEQEDEQH/xAA1AAABBQEBAQAAAAAAAAAAAAAAAgMEBQYHAQgBAAMBAQEBAQAAAAAAAAAAAAABAgMEBQYH/9oADAMBAAIQAxAAAAD7LAAAAAAAAAAAABIKp8xyLl7N1gq7N8Hp6XMZmK6uqepe3xlXNZYUtBY5+TL083EWk1q7/P7C8OczafyNtDlZ7FTm2irKtNfgrPN/QfWPj7pGvN9CFJd9/mADQAAAAAAAAAAAAAAAAAAAAAAAAFOOXw+pyHm+rKqq3J8/ZcUzKNZrpchrTOTPqbtzJdsnWqkvqdN96rs89Nzu8TtNObkNVfUmPVdIiLqIGbs6Ghz2K0nfX+ck4b9E7X8r394fY/vHet+n474GmQAAAAAAAAAAAAAAAAAAAAGfTjfP9fSeZ7L2YgVee7keExpMlmN5S9kseCn2mfmXG0ssjqheO3HkXVy2rvLXTbTOanfj5FRavL49chlVc5gZ+yp6TEVUip81GdgZa9Gr6fVc+8rrfD52mP2TZcC7f6nizgNsAAAAAAAAAAAAAAAAAAIfy5ocB5/qN5VzI8/a7F9iaSppEWk747KG28mbNpnLs5qduaHYSoPt09Jn5+hlpSrv17p5OY57eZjDqpqjRQ6MTR7HM0VHr0Wocmx5GekcnR09krn+2zq467w3UvL67c452P1/EANMgAAAAAAAAAAAAADl3QfkLHpiZ6Rz3zvWf89j6y5BR4xuzTOz2jzXrrm7Yc7R6vDXn130+/vHkmn6BOvDL2l3I35qqVYKvJNXbIpZKDr6/LbFUPR4GW3Jc52rP5dHG4fRqezEsaSs1yJNPbkN1+qhNWisfsZNv3/5B6hpz/UpHkev4YAAAAAAAAAAAAFOPjfErvknl+1BmexLCEtDRYK1OPVntb2LoHPtyff6yQ8IEt9W2DPrxSacUCR6tQkq89YkX4hCXPE46JSVUaPYCdNVa1uL5Zzj6ViZ9HyJUfTXHVrlr3NvaZTa60rdMb6wy9nL+q+o/Jv1l6XjAHRygAAAAAAAAAHEO2fInP18/wAW9O5fQi0qWrh6y87jj00fc5sjNuvsu6YvvNOCc9PRe+nrfnnvohXjgker9Yjx0BlLvkjQrwaRQNvxaENtPtJxq22Sn8/8z+wuT8/bx3xqVrFFo6KLtz7j66+ROpXh9QAel44AAAAAAAAAGV+LPpb5B4vTk0dzmo2blm6V7PudXbY6vqQtwtxpaJD8Z9p5SV1KvUqaPT0Sl+Lpe+inKRwRHHfE2m5KAZS62qbQ4iabadbhtJcQzyNIQzkPH/qvhfN24nP38TfCVosD0Rx9qT+UdX9XwwCoAAAAAAAZD5H5NcZbzfarI0lrSbP6M5t2Hl6b2dBlClOx3mPONPEuusuieWhdypSHGvXPFVK1+OVCFe+CUn0BHgmaEeoT9aWhUhtxuab898hpQpDEMuNDj5jUQVXy8z07isb2UyVT3j9DfSPxx9hdnmugdnCAAAAAAYHfcIy2+cMluslwevXWNJ1C53u0z+j5eifJjyGpTzL9Jx5iQS642+59V4ukpxtypW6h2oW42q80odQqT755LEKQPxPvkvxC0qmkuJltoc8mmkuIQyw/HbZjyWKMjwj6L45N4W5y23mk/Z/xd9XdHD0ID0vKAAAAAAPmH6d+SeTu5NU2uV5+6Z1vnvVVWruqqzx0nS4csJkiNJqXHUOkrfZfaWtHtStxDlJ1aXrzSL8aT4rxHiVCbfivCkC0oSlfibaHPE2vFplobdQnGjyWVUViQwyv5b1rFlfPxNo6XVe7/OXas478B7PhgAAAAARPkn6w+SOD0ubY+9rlvpOv8z61j0W02PISmzIcUNJI514zpDuClhuXqixcSlxJDT77D95yHWn9MffHfaiOP+hHRLQqikrxOJ5JbVR0utxbKHWJrxA3Ne+NxRymW1AxFmRVTFPcxWuA4Ht3EytB1vg3Z8q+uFNO+188AAAAABV/I/1t8g+f6fIo3jWx1rpuJ3/J2SJTNS17xW7f0WXa31O3UWub9o2ul5bMm+92nz9tpXZ7LjGulb92gmvO6lUT95XK6d6s7NNalk9uvYjSzZq2I0t2cplS+o0fHsy32POchLNlTwLMqvv0uo13ReB2yjsbCJExi+B/S/AJvFdd5Tu5f2jcZXVep4gBUAAAAVHxb9r/ABBx+hzZca3s7dtKPQ8/U1SX8hUxoo86aUpTtZ0WS6Wwr+daH6boVr8+vdOpBm6prZO90mSt1N67WPk2K4KyZSI6CpLDDIIql553l8ptc27os707R1ny3V9ZuicHbbFbxwTm4QGNoOlR5vmvQh6s4HEe88oS4ZrM+439s73lHV+vzADbEAAACL8J/dnwty93P7yJcLTvVl4Z6+txI2e2llZ6Rntfqy1EPo3vL4tx1trjK3n1aryD+PRcoFzbk2nW3qJ+duazs3GZtZMIkxENxHIRaISkS2vZSwXNyFU11CVyGRrj1pXNpjW7bzNinYsRUpznoE3TH3n3RMo4+aYejoGvon6R+OvsXbmAOjkAAAAa+IPuT4ww6+eX0PXTt1+DZVuG9LCuK/m7GamyxBqzn8b0Hu4MjVd4w3X5mUm1esmX+kT+tRvwbQu1nkfRaVu5Xry11w06pu7esvNMI9VfVLmmhWTMbVfk1sdXkbmlz7KjGfQ2P9DxvnfSzed9PAu50u0dYDZZLL8fqfTN5xLqnL06Kwp7GsLKqtGtuf50z/QMwq0P2P8AOX0d08QBtzAAAMhkfnrU8+8/3Kfa5bol46xiSvLVpu5eyvGYbsdQ9ONbd6Leup5ttZnZ5nJ9D0K2eVp5XSctq40svn6c5MnNLOoasYa0mXtFcierZ9e1XOeS0m2577nIL2NfWlTJaRthyPK9/h7c3IOvwa96QOcdIkcXp5nc3dnGdTMmqM2nPHNsOPZna4mdOjd0+ZOla59oIczs8sAEUd5ms9vnGouonz/3FR1DBdN9P5yRLhzJJ7jUiRtiw8opK3ToV5dWnVN5x7QqagTn5G2DDi0qWo0liKi18qLn0S7qjuql6rsatzGsK+ZLmutOaYrjS1XNXFu2ysxE17ca5yJqfJdTMnLcMOPDlgeaRGcR7cYzlHbOaRu1soU/n9HrWpyWt9X5sA25TP6Cmz24dX30Dw/p8v0nm/TO/wA6PKgvw7iVXyk5y477nxLy2mVOKE2pxVS36vwEpW2m3DkQI0isetztPuaq1rNdbZV4oEuFLmrF+FLvJxYq4D1bTaXPWoyZXk1F9eQmhKmivGFxpaVMu3nCwu6w87W9i6vi9ba6zK6r2flwDfjIczxPilNrKnyvo8B0nBbq1AWw0sr+XWzI1nyYMh5zHIzlTIU25Ue+nrXvnqQ8YdYmo8GXU5axHYlgrn2USfpkmBZxQqVOwZu8fgWDh91l7XNS/PahPnqUzxKA9QNpjS46tMZyNNJfhTdMqug0MHn7bePdwY01eoor31fngDbmAA5tmdLReZ7+XvM5Ky6rCJY02/FeWVJac/RZSYMuolrZdcvuMuOXVNKpOo8U02xJi51W1K2Y6EW1LZk38yvstufxiXGagVk+nz3kXFJIVaSRCm7cq0OtXCG1NTfqPETQj1A/I7kdNEV2LNeWFXa7c8RuQc/oXcCZ7pzbKSHpeEANAAcmhbDI+f7dbS3+aw6dNm9HnOrjl2+btuLu0Empn1Fi9BfcTlRXhPKYUEhxl249rJ1cnmF087HriuVGZH2SZirW8dEZr1qZTZJM79Ddq5TjUS4blc9iQ3NM3GkpmlIShUptLYyN7FmvY4yxyfCm7c8axSnHebY0uz357oDv8cAAACHyDtebw7OaY7T5Dg9jXVjierhrLGtk8XoXtjRWclrJr5dRLeiuClORXHMt2IuochOIV8k96FiMu7B0XX5T05ts2YiiXWStATzZ7r6TTCdBl3lc7wF8iFNNJyUMA3W0JTWx4yzyN7HVeJT7pnaV9zjtcdW5Cu41mbhKu/xwDTEAAAAADL8b+jIHN28JV1Lnsb5L15rl750+nmZaXs6ksBWrkNyomLhrZK9iLRJWy6L1qQkmD5OWESJfRhUdnIWNlM6OL1xpTHEesoI62VoDHhUhttsTsdDQeNIS5cfjytsbfD9GsdcM705aunhANcAAAAAAAAAADlnU8POvIWZTHme346Jx3nWVPYS7Z2G+5fGRuS5BWK0k18m8Jgx606thsc+PHXVLEwSrhugbHoirmTm+x4xJ6hkLPPPZv1l5hplKmUJ8F3n7ZV9xvz9HnIX6HjgDQAAAAAAAAAAABn9BGT+f4dzT+d7avHfefpbmRZUXZSI0tyIdaTi+xKgWtl8/l757mHgqfTfewuc+nb0dzDSytSzjZU66mNkFudXN5/GrHsMviNrHL1SRQaXHBTilg3HkxmNMvMiSr0qFanNb7r4tQB2eYAAAAAAAAAAAAAAAByXCdp4vx+o8tiRxeghxKouxm1c5E1PiqmLW3/qOTZjv1drtyDUatvfdi0i2VUxFvm5M5OsXSqiNeU9kFmwt1lndY5Jx5PRSccj1INuK7HdJQKc+HntxO6bheld3legb8oAAAAAAAAAAAAAAADHDO9YjPfj0qMed7MxTS8dZEmHKmprsRRMtcJ1uVHUUqsnUzqxZpnd972VnndC8hxILVqikczq8kwbzHlecQTCmvEDdQj1Dcd5oEq8TU+PsXO+Gw07Tvf44BUgAAAAAAAAAAAAAAADbgHFcV9D8N5PSr5VRL4fTspNfLzqcMLJU9HdKkOMSQ89dcagRdA+1io3RHG+bTt361lp9u24ireQSy2+wU0240qUpCUm0eMgtLfukS+j53o3d5XoHRyAAAAAAAAAAAAAAAAAAAAGT1gq+Y6/uvEuL11T83N4u/RrqJEq0er5KLCRDmUpUqNJuJUuNLvJ9Q/ti0mS3Six5LGWjDMmPncVp2OtG47kVN1pqMDzETxqVoYfW+zz35IdnmgAAAAAAAAAAAAAAAAAAAAAAAHDu4/O+fRlK2jt+L158zNK5+nY2OKt4NhPzFuTdzKebc2cmskVNs9Vu6Yz0QfGOpjom3WURJpcZuJNOQYteidErfW5ujz2t6OXq9n573+MANAAAAAAAAAAAAAAAAAAAAAAAAHBu88Kz3+dq69o+L2LS0xqm9zIx1nnptr7n9jnp0e0wFxK2j+Xm1GhVRqauyk9auo9VFC2hU1fN3dXVQQsodVVt3sOnsgmdn5L3HXj6OB6XigAAAAAAAAAAAAAAAAAAAAAAAAAHCe7cAy6ON0mir+D2M9Hu4xVa4806dn1q5ehu8PJjToU3n0lVv/cKpG38xvgbFjJMD1NfROhOiqUCCXJIYs1WJD3aeSdU6vP6KB6HkgAAAAAAAAAAAAAAAAAAAAAAAAAHzp9FfM2PVhYdgz53r1zNmlaUsa+Zbo0WzI69cvxWy46tU28t2aSPrCG5NcHFfkyVMZ6XIcR5MiVWbcpx8zXt8Xo9ubthWWfpeOANAAAAAAAABlcuHUgAAAAAAAAAAAAAh/Mn0H858vdSpfTweqySnE69q3bdUjVugqn8s0q4C7BxOufnvp1z09wmC5PcagvS3CY0iTIqGJD7jzZcdUT5YwZbnoG7491T0PMmgb8oAAABgd982+f9Lb7P5o+h/I+11cJ/G/T/AJL2UAAAAAAAAAAAAEBzriO7w3nevDUtzn60POvIaVKW3VNW6SqNNxGVxHnnRtOPOuWFyVCjLkuNRn3XnLS5C3LT7rhDI8lKM8KTn6vIT9cutvYPV+h5diBeQABzfpGDjf13bYPPdeKu8tvw98AAAAAAAAAAAAx2k41j0ZylvazzfYguqdl+SR4PFuvCiplLbhM2TbcFU1Y4C5y2orkpdTFecfCK6+4Jpb3om/HPFLHj6Rx1KVI9Jjvt2NrQWGuOt0HP5vTxbYrbLo5Tn/QMM1ucD7dBGydhSB2MAAAAAAAAABkE+ZZIPM9mHGDLSEoCn3wJekAmsCjxIU1+gJfoB6sGLcAS1gNPgA4BUNoCBKgluPA288DU18Lyetw0x0EoO3gAKhtAA+AH/8QAJRAAAgICAgICAwEBAQAAAAAAAQIDBAAFERIGEBMgBzBAFBUW/9oACAEBAAECAf339js9xNcultrY3kk6pHHHi2K9gmsbRlsQO63Z2mUC7QuaTcVbH9zHbb+e9JLd27Y80k0UawKYJnArxJQhupbdBk0s9dq0G0jMVnRbrXbD+y5Z33kTvPenkmvloo1rLWSs8K4xVom1r3M2DxusimxTmh/0/wCWtPA8Gw0HkA/q2mw8g3HW5ckuGI52OwFiriYA9B4DBVg1UV4bMLNFclyw72mspkFlokn1trxryCCX+fe7rabhTtNr8EtxHaXEwNXaKf5PgOfFXi1gv5sMWBY5ZbM0+fFKILWumZHhpXtHuNdd/l3mz2V+WW1OsjtI7kYsnZTEa4ieFyhipw0oLebHHjWOy08rY4EwikjobWRGTX3dVsKNr+O5Y3+3Z55XlJJ5+ThIwvEAow14PhMPWqNet8XlZfiljsRyK2Rq0cc1mrSvRyB9db02yif+LzjfZdsu8jcyviRYmRwxxRRUasNMLGnWOvXFiS7FJWZZopnnjaAYkhELzQ15IpTLqLPie0/h/IG8qrsr8jM/WeZEjTIq8UKVoYo44KFXXQ1YqyVwhjnjaCaBoJ4p4rEbRuksaSoqZKEeCaKeha8S2n79jbsW9tsBhxjNJFEMREENWnrqvjlbx6HULQSssIRQV4YSRtC1aSrNrrOnn08tB67QyZXsdHrcxZXbS7OtN+78ibPaWZpuCZngi4hjo6HXeJ0dDHW6BQvHHHVfZHHBX4zGYHqz6694/stLJliKtZ5cK8j05PANh+3c3bEu4tVUleaWCNc1Op02gr11H1H6+OOOCGWSHcePbPUvDEzmU05RH4VtP2/ki9v7dOK20jwRZ454tSpL6XB+wg/oOHGFypvtDIleSZUNexA/hmw/W7eSXLMsjO0aRZ4p47GgxcGLg9D78eyOD9Thw+jk0XkegtRQS2YkmqD8a7b9fldnyW7qob1nETwvQxhfQwEYPuM449H2Rx9Dhw+5F8m1E0MmSrqJxJr7P6vyhsHGzeVo08S1lVV9D0MXB9x74zgj0fR9n6tlhPI9YmTBRp2/HF39X5RuRmSWJaNXS1osBHoYuD0PrwBnA+h9E/Y4cOHGG1r7itA0yaifxS3+maTaz7R41zxmnVVMXFIwYMAHoehnA98ej6OHD9D7Po42HJ18kpcvCw1VqGT9Hn1yJSth9NW1cMAXFxcGDF9DBg9jB7OH2cP6jhxsOONtFu6mgt3K+hfx1/0flW1cXls09aksQXFxcGLgwYPoMHrnnn6H6n6EY2Nhxsupu4p010wXwSx+jzyTcG++sXUxVQmLi4uDBgwYPQ9DB+g/rIbDhw5MPIoZV1Vuev8AjOb7nNxIBbk1aawQYmLiYuLgwYMHoYMGDOPXB/ScP1ONhw443MOwjcUZ/wAezfe4/kLW2rx69NekQTExMX0CCuD0MGKFHHUjr14444II4IOHD9GJxsOHL8fkdZ80UvjUi/fZjyNtq9QaNaipi4uWdjLvH3H/AFa29rXHxWUggqykfTjj2cPpsOHOfk/0iblsOHJR5DXlFJq8sJ+22zcZsZC/j8VYJiZt9rauLZj2NbZi81ilu9fu2vf7VkEgkWUOG7cli5kMhcyGRpp9ne30vkOw3TbZZ6u41nlXbGG8h20QzRPpH+23PkMjLXGmWJVzb2hANCuiu+N/85WVkmhnp3tfb11yGcMGDhw/yfI0hkeQT2L9rdWN7ZuRzW51qw0V1v8AgeLTbKrZOXY/IU6+LSeJv9tznmj2m1o00SrIwrUtfFF8fw2dZf8AH9hpIYJUrqjayTXzo4YMD2LFi5aWSea7Z5mLJWpa7Q1dNHqJtHBo7GnsaaCqpmXyuFhqpPCZfttF8wy0dXHqI+AiCPFIYN3fHS7St6b/AJdSGqsaRSq4YN27dizPI9pbNdKEetoaGvSRVwejhxw8XEi+WQk6+X8cT/a3nkGWI9QmtjbCUdGVxJ8nfv3ZpBKjDuJopY5UcEeiezs7PhVII0TFKnt25LElkZvXlEWxjhP4ss/a3mwS6mrSujZI6yRyieW7JvW3Em//APVL5JDd/wCnDYKlUMJixQqMr42Pj4MAZp9tLtf+7/6aPyBN3X2IlMnZCMGeRRXkrp+P7X2lG0h2sWhrgS5Keflu25sn8isZFU8Zo3tb4zrJ6q5TtdesSwmIQpKkofGDL1sy2i0nkFK7W8q8daGvcp7jX7uhsVZShXNwmzgC+KVh9/NV58ZjbJQ0UkbJvbckPjer3Or16X9LptX4TRtRbTU1GggaBUUV8iyTJsfCvWSO5I1PU67zWjutVBqZavjOt8g0NKzo560sZixMureggTxCL7b7Z+TyxR+NROOgiavZq7ChRq1qXxbbx1Y9bpKUM9r5JqtSGVOhFbEx8mzgrFHairVZzVluw39Z31mk+DaVp62u09WmkIRMlG0jmTxaxRu/Sd9nYnsZ45G+RhFKvFYrWqgSC5DeSxHd+aIpnc4+ENlfEOT4uAKI8fJVIJEs0ktt7MlOprqlf4wCoxs8hSzmmarZpTe98+5cRV01KNkQXBhDLJC9UQV6ZowU0gVFXhsOSYchxMOTkZHgwYQyskkDU5a7RNAsCRKCOGw4M3sXxUMpSeNt78lzaQdqEdNCYimDOCpTp8YToEVeMOMDkhOQ4mMZ8GR4PQ9FCvVkKfGF68YcOHBm2jniqQQp459PIRYW8tPIPUZTFwZxx146gcD2cbJC+cwYmNkwxMQj0PfHToV68YcOMSVOxx4asSrofpu8si1LXWIMYzGVIIODOPfHo4+NkhXIcQtkuHI8XFIwYM444+pJLYSmbfKuRCMaT6XVdNnHxAZcjMZUqQRg/Q2MZGdo8ixMbHyQRlcXAR9uT6OHGL5zHm/NOIx0BpR7YKmxBSnk5iMZUoQRgwYPocOHHyZsiESqpDrIoMLjFwfQ+iThw4xJb1Dm4WrHLHrU06fSZbmONW9nEyJkxcUjAfQI9HDjZO7mMQhABw2Orqpgdc44OH1yc55bGxsf1Xy2sKOIVrR/S412KTNRNcAaEoVxSCMH2IkMzPivXkjZH7yGVmkGV2jZTjYScOc4cbCSWOV8coY8qL9d1D3IQWQ2QtGyMpUgg888j02WMjaUlq80MglEjSW5hLGUZGRw+HCcPokszMxwZMUirK8ukX6+SRcyCzJI04iaJo2UqQVPrlTjZayOVnv2Ku3pWjN/oezt9zqtmktVkGA88k8kkkksWLGIWMBAbNRB9bteZGzaZTa4EMZiZGUgggg4M5JnG3P+u9pJvHdReNtbVu8NJ/yIrupgTDnPbknnk4xYkk5UWxPD61lP773XBrkmly5hyMo0ZUqRgPIKnsTl2o3j4rmta1K64a+nrRUGur69FGctnPOHOSWZmJxcq5GtaTWVFX9G61Owi0mW8bFKNGyMjAgg89ueRhHDIsZgeBa8URjGL7JOMee3bsSzMfUWPk66HWRR/quU4fHtlC2HExGjZGVgee3YFcHrjhRw+cJjYwGDDhPLHnDhJLEnBkIno0NGo/b5DE44xTGYyrc89uysCD7Gctgcej6BJY8nD7YnOT6GVVor+/yOOX1wMXIynvnlSrK3bty8yW2tfK917gtx2xIWY89sHpsOH0MGUVQfv3kdtcAIGRYvs4ziRZRJ8k1ua/8A7Bc/0iythpxZ/wBK3YLz2PlTFABxsOHAMXNPH/BZTZIuAcDExMXOHEgnnXYHZzbabZ/7lkFmXYLbhuRWHOG8u5i2mqREwBsOMT7iGjj/AIfI4BiE+kyMqcIaOxQteOS6ivqK2sgqCotFtZDrv8C05YAjVotXUq8cenw430gXXx/w+R15sTB6GIVIOA4+Opi+OIw2Pl+XlZXkmkgjjjXAPQzl2JPrlc1sQH8NiPb1wVJwYmKVPIIJxwwjmkQQoipIoj4EfyR4mDCecONhw5yciGkg/j8lpTorAjBi4M5DA84ws1+67Vdqu1O0fcHZq1Wsi4cPrnG9k5RhhT+ORN7ROI6kFSCTikEeuhheq2vOsXVx66OqkSpwcOH2cb0TkS6Wr/Ltamwq8o6MucnARgwYAFVREIP8/wABg+HpwQcOHD6YsSewzT0wP5t7rrsAZHRwysCuLi4gVVVQBx14IKlWDYxOHOWLMWTNdWrQ/wBG/wBRdrh4pVkWRXVkKYuJilSvtsY8nGxsJYsS7yM4Otq0av8AV5HLah7pMkySxvG6MpUqyMrh+7OzdizMWYu7yPI0gbW1KFX+v8hxV9isj4ssU8M8MqOjqysGDdu3YnsWZi8kks0kzSx58/jMg/s/IS2cLRbGOflJYLEM8Usciurh+/fv3LvJJK8007SMz2pLldfB4/7PPstI6nFaKxHcjmisQWorKWVnE/z/AD/O1h7MlqSy80k725plESQr4Sn9nnJsJKjIVGAq8diK1DZSytoWv9X+r/UbLTvYe283bAsSRLXTw/8At8zModXjaMp14wYrLYWz/q/0/wCgzmwZeVAAVUWONI0hHizf2eVNJhUqUMZj6leB6HpcGH0EVFUIsaoqIirFmlk/rY753HHUqUaMxlOnQIFCqoXosfQRqiqqoioq9YxSfWS/r8tvfjvfftuvsXYcFevRkKFCnQJ0CCMRiMJ0CKiqqIoUAAZCdDY/R5JtLL/j615hX8Quft8jltFs44C9GQp0ZOgjEaxhBGE69AgRUCqoXjjI8qvTm+/nVyzY/F2ebj8dN+3zKxOeAAoUAoYzGY+iqEVegXrwAFCdeqgAKw4TIzrLcUn211D/AMhWHn0H4io/sdt/YkHACgAKAylGj6dFQAAL16hOqqAqqnGH0MTIWq2K1r6/j31tc/KF38KTfs8juWTIAAAFHHXjqUKdOnUKAFCBeqoqdVDYMPoYmLkLo1W6j+/x42XT5bB+N4f13Z9jO4deFChRx146lSoTr0CdQOAoXqB74IwBfSZGwME8Fv1sNNJJotV+TW/Ff65pNtdbCGRlAGLgwDjrx1ChSvHHAXgej6C4foM5GKVblWrW4Z/ciQw5/8QAThAAAQMCAgYFCQYDBQcBCQAAAQACAxEhBBITIjFBUWEFECAycSMwQEJSgZGx0RRiocHh8AYzchUkJVDxJkNTdIKiwrIWRFVjc5Kjw9L/2gAIAQEAAz8B8/h8IKPOaTcxu1S4kEvc2GLm6g/VPnk0WEjfJepdTK0KZja4nFtw7dzWbfj/AKro3ByZoxppNxNVjpDlijEX75rHTfzXGn/1Cf0Qc7XkZX7ziVhmi7ox4AKEWZiC3wVBlz591K1qgaVcWnnHsU1KslbIP6VpHhpGiJOrwqsuCbm7oNQNycXkMN0JBlFSOStqPIJGwrFx7QCOY+qZLXSMkZxpVTM1oJS7kQP3+KeX/wB9wdaesBRyYyhic57TuCdFYPL2bwVFiI88bgeI4enhrS5xoBvTWVhwWu7e/cFJI9+gbmebmQjVUELs2MmMkvD1v0UzxosJG5rd1NikLzJiJdbeCaqNtw/W3Zdvx2/inHYQ39+9Ol72JcD4LD2rO8+A/VYBgyhzzyy/osNJs1K7g0fmsMCScRlPPRrDZq/amnf32N/NRNplnny+IP4gp9iJA8cU37LlJAG2rk4mjXNjA3kIPFBOx1vBBlhMTbZm/IqNraOe8VFg7YoZrsGS/eY630Usbqw4ir+G9TtBhxULZfGzgsPI/NhpSx23I7f9VPhyJHsMjR6ze83x4hUo+OVpUWKaAXAScPTYcJA6aZ2Vo/FTYirWHRxeq3ip5WZsS9sMAvrWr9U9rQ2GsbXbHka7v6RuTBeR2QbxmuVRtIowyuwu3/VSSd4vf42A9yldQBtvENClOq01PBgJp7yjtcS3xd9FE7/3eWUDaRUJrWgs6Nw19hkl2rEnvwwMZuDGE/lT8U4O7hr4MH1UzWassjRwt/8Awn1rp2k82ALZUG49XimOwQeLiiaJCCHU4gJxNpZK/wBFfkp8mVpjcBtGw/ByBYWyRUrxbVR0q0Bv9JUsRqw15UTHjJO0H3KJ+tBN7nXH6LF4aQNcKhQyvMrHiJ/H6rE4ItL25htqCoMXE0SSX48PFV9Kg6PhzSmr3dxg2uKlnlLsQ6rvUiGxv1Raz7ViHkE3aHOumx0kmka0gavIch+axOKqMPEWsJvJSrio4m6Wd2seJq4/vl8VGRXRiFpuXvNz7lhmNuHkcX2HwTAKMjLtw3fJY2Voq4Rx1sNgUjjV08gG/Lqfqgxpc2CN19spc+q6RndQljG8G3+SkYw535G8TRtfwWGzV+2w5/ZDy75JpOb7STz0WUfJO1aDSc8yOYZa14HeicGNuzuhESVcdmwNr81MwgCNzxtpc/mmvN2n8bfFCQUjlyu+CnjJJDsvK4+iFa5SOYTH2kiEg5bVE92bDz5X+y+x+KFDFiWhlfWpYqlHxvyg7HNO1TwCrC17N7Nx8OCaTpcA45x34DZw8FSJrJjmbv4hRzRiSJ2Zp9Ig6MaI6aXFP/lxD5nkpXYl7s+nxbrF9NWMcAm4ZwmncZMQ67WH5lHPlFZcRsDRsagK4jpGWrvYqpH/AMoCOLYHH8ll8o23GaS5PgEK6oOY+s67lveUdjI07NrOLjwCLXDM/RhZXZWzR0PrOZ9VBU5sTJKeF6fgmvdq4JrRxIr86LIcrsJK8UtmflCa/uYKNtt76oskq5nvoExjhkdvuR9E52Ga5ppbdxTw9xLnnk0LBvILg9hFzr0UgFYsTnbuzAEfG6cDrwtfz2j4rNcF0f8A3D6oG72D+uO60l43NlH3dqfvGanxCkYKVzsO0OUTmHRkc4ydqsXwk2Gu3f7+KbJIHxOMMwu1wO1F2JDMYRBitjZR3ZORU+El0bqA72Huu8FBjsMJ4HVB2jePRoujMLndeV9o2cSny4t72ymbFu78vqs8EMJG0No6Y8fmfop5XvMb6vd35XFR4UeSrJI71qXKzvrJ5WT2NwQzVcRI/wD7R9VfNK414b0aXpGPxTQKRtHiUTapKfTb7mojuxF34qQAEuijJ3H9FiREPJSyj7kBosdlGWN8I++WtUr3VlxzW8g5R1y1zu4kqagLWCniT+a0jtagcN4ssuGDdnKq1j5HZvumipLMp3axBT2szDK4bhSv4q+qHsI51Cmy0IDm8aXTXXa4tKBfV+o/c9tlKweWYJ2cd4UOIFYHa3su2/qpYnVbUEbkHFseKLm0sJBtCErb5Q492Ro1H/qhM04fEjK/YHKXAubhukavw/qS7Sz9FJgcQyRjszH+sDZ4UeMw4mi2H8PRIsJhnzymjWhYnpPFy5C4Bxy5vZHstTMHEGWDkNd8tQ3fxKdOTTVib+6lVBLDlYdrztKaRlbqM3k717GqPaKANIhnd7RRcavNU433JnijS+qE37x/BBxtpCPu3U7hXymXmbLN/v2F3s7T80wUMj328GqJpOjDD7835qQazY3jwBTn5c1xuqLLUs07Nyc4VEVBxsqGpja7drMUT7tw5r919fwTX6rXNpwcFo9Y5wPCoTH0MUgceAsVTVePwXsOoE0mtcj+O5OtHimZhucNv6pvebRzTsPFTYGsb9eB3eaUzEYYPjdpY+feb4/VMc3Rytq3j7Kk6NpFIdLgTtG3R8xyR6NxAcHaXCy3rwTZI2yMNWuFQfQ34vEnCYR+ow0aQfx8eC0TbR6wGq2vdQZmY14c8DyklbM5BHEa7jo4G7PvFaozjKwd1n5lGU5n1y7hxQb3qGmwbgnSGryaI0A7rVHGO7U8NqmlOyg4I7cwb80K1ALncSvaBPJoU8g1Y8g9on80KD7RiQ/7oNf0Rj1YzG1v74I1GZhdfcwAfiq92IN9wqpDrHZ8VoaZ2kg8tigkbTSCo3VTHuo2tTxCnYc0Va/0/osS2xI/6m/opSyhY13CwKewUoT77qKZxq2/jdTN2VkbwdY/FEO1Qa+ybFMfqus7mi0bA4cP3/qqMq01adoKaRq6zPxU2AlEkZqzfwUWJZ9pgoP+Iz2f0ToRSlYjups/RMwvkJNbCS937n6J+CxA6MxjqwyXglOzw9C/s7o52FgfTETCngD+ZTRF9plqW1OXi5yLvJRuAebuO5g+qEpa1rSIWm3F54oVzUFRYAbAhXNKf+lGur8VmcOKa0c+KkfZmqPaTW7i5bL05BesQ1reLim5thcpS2jGU8ApnvDn5v38UWu9fxDaJrBTyh96q67NvE1TQbAfBAAtyjj4prhmtmRpbKngmjsteSLhrlzvFpVK0ztA4BFwvpK+4qlczDTnsUV9V3xqiLtc1w4G34oHVkDmHg4K2V3lOB9YfVTQCv8AMi+SbN5TDPDH72nY5Xy5SyQWLTsQBuNXeFNgJdPA+jUyfD6SOgaLuZ/w6/8AiVoHmN9RDW//AMs/RNLPss7tR3d+6eSONwn2ac/3mCzvvDj6BFgcHLip3AMjbVSdMdJyYzFGgcSW/dZ9Ts8FG00ZZrBlY3gnTvc0V0ddbi4rYGjbYUQjsNZyANO85F2s6w3obANvxK9rbwG5FzqMFfkr+Udrbgp3/wAqAjmVO85pT+ChYauqfeoI+7G1MHD4JoFghwTQqbOo7lUbijuoncETtomb2s+CD+7VvgnPaRkDjx2FSg0ymqxEYy0a5nArLUAU+67Yjm1Kg7wix+4HjSx+iik1JtVw7pO79E19GvAB3OG/3rIaAh7fZ4qXBTCeN2oT+x4KLEwCaPYdXL/4/RGEiJ7qs9R9dimw80eIaPLwjWb/AMRqjxGHjnidmZI0OaeXnxisS3oeF1Wt1pqH8EI4jCygJ7xFh/onYqbJGbVqD+abFG1uwcOKJdtuVTUZd288EAM7kX3NGtGwJzn5Wh2Y7m94/RY3Evo5lB7Dd3iUbaZ2UcG/VYOAWjBUbBRrQEPM3r18kCgb0TPZCaU0pkneY34Jsg8mcpWOgqTHpWi9RtTHVjljcOe8LQ+qXM3OQoGvFvaB2IStIq1x570y7Xt5Or+f1TsBMKEuhd+/io/5n+7k2ngnse1jXnSsOeMk94bwhPhZMHekZzxg+qDtb7j55nR3Rs2Lee63V5ncqGXFSP8AKzVJzcUcRLomGx2+CETHWFTtRkk415K2jjNT6zkNp7vzTa3AJ3NG5T4x4catad9LnwH5qKBn8oMG+u0+KjiADWi3pDXC4WFxgLg3JJ7QWKwJLXt1dztx8eCyuOVpb7TOCNQNh3LSR6Rv8xneHJNfCeFKgcv0WiH2eQ54n3a5TaMRxnysRrEfDcmQY7DYvPlZI/JI32fPNdLB0cHd3XePkssbhmrQZYwd6qRtLjd3FAucxtxWrvHgv93Gf6nLNT2B+KLzljbVPnLZ8ZVrNuXeVBhWZYYwOfpkeIiLHtBBUkJL4BWmz6J7XEBv9TCrgtOtuqsslWDKK1HI7wgNXY0nZ7JWkh1yRLCRXmOPuQw+O0mUCKemcbq8Qvt3RDWvdmlg1HHiNx84GML3GgAqUcTiMTiXO1pn5v6W7B+COOx5d6g+SGFw5dTXk7p5cVuFan8P1WZ2QGg9YpheGsbn9kHYUW5cXjRV21jKbOaAbSnn+Xn2yNyuCBriIBRw4fvYnslOplcO+1aRuR5BttKo53HeOI+oUjZhIw1eyn/U1RYmBsY/lPGoT6vFvuv8VJB0v/Z2JdQnyZ5kbPODDdCTmtDIMg96o10MW/b+/wB71EzWndRveenYnEPlfaNv7onZqUq9ya1tNv8A5Fd3G4xtXbWtVB6JXzF1z6w4JlNPG0gcR6v6ItLiO8NtFpmZ9kguqO0kYykbuHLwWV+iDtWTWZX2gnQ9JRY/DA1DgXV3Xt9EzGYGDFRmrZWBw82MLgo4/WNS0cSnTYgAXpvWVjcLCNZx2puZscd2R7PvO4rICT3qa3IL7XiRiZm+Tb3Ag1gAFAP8izMIIqDtCfBMZof9VpQdHqyt9Xj4JhpJ6h1X/dKfHKQTTW1XcHfqmYqtW0dIMrhwKdJgJ+jpDr4Z9W/0n9a+bdjen5YWazYG6MCu/emxte4EUZtd7R4pxBmP8yWzfutQjbmIv6oTsViGQa2WtZDxKZBC1rW0FPQqehCWItI8E/DYouZquBqKJmI8sG2NpmD5oZMh4UDuX6KRmIF9YG/iF9l/ieF4/l4puR3v2fiPNNihfK40axpcVpsbiHuJJLiTzcT+/ggyOLBMGV1KvPBDLpHi24ctwRdJmO1ZWh7m3Kt5m3peZlEJAXUo4J2DxRPqmzhxTZYNIypG0U3jf709rmzsuWEB9N/sn3qphmiddlHt8QapssLJW917Q4eZ+yfw5NlNHy0jH5poc+eX+WwZnHmnyzunms6U5qcuCsG8LrTzNdS1bIMjAAVv8kssza7aLyuQDb3fohDN9nnvE40I4HcnQ4hwFo3tLf8Ap/Qp0UzoXbWnMB77rSdC4Ujcynw8zqYbBA3JqU2LoxrXbXXcOJqi8F7vW+SMs2QbSUIqMpU0oqBUH+S5oyhcGoO0Hgs0gkAoXarhwd/qv7S6PMMhpIzfvB3FFj48QQWuackvLcnS9FPY64Y+3vv5n7V/EcsQIIjAHhQVP5IzYhsLHbdQGqEbC1tq2HIIh+cfzHWby5rIBvKo3/JrI5C9veau8Bsf8930+C+y9INl9V3eHLehpnxB+pM3M1CToyUbHAio8xQVTBNjJ37Xykk/l+IVJdMRckrSTm9tlUGAOfZxsPoqRK3ptvNZmGy0OKLD3H7ORVJa8fn/AK/NaboxhJ8phj+CEfSuJw1e9rNHjf8AI+Y0eElfwYSgzDBrbuc4n9/ghHE91+A/fiUZcQAN3zWknGXuiwVGBW6rdW7q5qnpJ7eaMqrHbi1aSOu87fFD7QzPZsnkpPFOwvTeCkLu47QSH5H4LVFe3m6PxA4xlVxwABpGCiIgwm7tb6fvkssdtrvlvRc6rRbYFqDrptWFwhDZpmCQ7GVugNajRHxJ2J7a6Rjco3tkTcmaOppeu0LCl2WSQNrszCiw8po2VteBNCjSoXFV6h5wV7VNqbSuayg3St9xUTt6B2OBHYqEKuBG1aGd8Z33HiqYjJm/mW9+5F0UOIG2jS481mjDuN+3/hs9PYWkxsxIsSAvtGLcRarrfv4qwa3f/wCkLLE0clQbOuDBtLM/lSOVvin6V8jyXB+0gNKZk8nMYD4UHvUkVmPyu4eqfgpgCYZtG7huqjM3SYgEUs4sof8At4IRhoY/+77G02e7ePC6kgAaXl3LNY+B3fJR4ixqfukUd8EYpmuaczXfio8jJA4UdQJpFQVRXW7s2QVOqq3r4ptNqw7XZWPDjfemxWa5or652H9F5IGEF44utmPP6LFSHK95oO9T5D9ViAA2J7z9xh+bk94o95cTsq4kN/FPwsYa3F4lxHMFqhfNoMZSPcJNgQc0Oaag3BG/r0kFaXCrIQe8LoE1Jyv47itJgnAv722i0nRGEfWvkm1+Hbp0bN/StBp5Kd0E+82CNG7i7Z8vqtJiaDZVauxW6nQxaOKTRvO11KkKaaR5jlfV20uoD8li30OiY47+JUlKPwr28cpTqExgnfrNUsIqWuFLWToiaj3ix/VDPqghrvgU1gMcgEjNv6/qqyBoeS1t2PBo5faYtFMWueN7TSv0KfNFPhZCBLt4X3H9/onyYZkjrVs7xWdotff5qgqhvKGfbqi5/f72LNI9sclKDWPD9U+QFrczW91u8lOhj8o8aQ+rXYOalnLXyudQONuSjMzWtFWCwFdpU7i2pIc24Y3asxyvqfu7lommkb8vF9mhYUPzuriXUsA2rQo2EgQ6tL13fBOwMmrC5sTjdjXF3vAUOLh0sLgRv5dWeJ7TwRjmrS4NVrlrbtcMwCbHK6O5z7v0WfoKD7tR+Pb/AMMn/pQadFW7n3+X1RaTamRgA8f2V5Ro508SqMbRWWRhNV9okqRc7TVYeLWETA7jRNGwDqYbELDy3dGPco3spHbeukYTVkYe3lZSCSkscjCPcVkOUUy/D3qXStcMwezeNtPzUrjDMbvHr8VRjjSz70O4ra2u+oVb9u3UCaDddFuHe7fWwTnMc4m7u40+tz+OzwTYhkLsu0vftJO8/kpK/aTHrFuVrdzBt/f7CdPKQS4N2yOrdx4KaaoYMrN7vyCnzaV9R7Nrj9VI1tG5Ym7yLuKEd43Eu4uWmIdLJcbx+qgiNRV39RUcnrEHipQNSUf/AGrF4N+lYSct6Wus7Q4WqKqy1y4bapwaMveYdXwUcrmYhjbs28U2Tox7W1tJv8O3n6Pnb9wprumGt9Xf8/qs2sa6xJPxX94YBt/dSvJhUCrtQqh2AqoFRTCjmBRusPipG8iDYiyc1tLX2goipbbi0oNbUEW2HkqgX8yGue88Loviawl33svPajoM9AZDw3bv3+qDXeU1nbacf3++c+LJbXLHvPtclh43Bz2A8lCw1DRUJoQG7tBzSOKoFUFVYS3vbgg6u7eOSMGKErbAmjxwKbNgJb61qjht7f8Adpa+yVn6akFf9276fmvKtG4Cv0QrpdxOVo5KkLd1R1UCuuB6+a5oIJpTeSCpuVECgqqvbq0hClK0QdQbkytaXQHUEEO1frOgdTaLhZJS6Puu1rJvfO4a9OHFOjx7sM94IfHqnj2/7rL/AEFF3T01dgi/NESvBNhZA4iNtK5DQNqssDfDrHVTaVGza8KEOyx5pT9wVWIaM2hEY4yPTYzr4zDjwFVhSb4hxP3WhYKQuy497P6mhYmVmaHFwS8iKKaK2JgLfvNuFHMKtINeC5ecrvXJNYLlQsJbE10zhtDfqsYI3P0UUbW8XVKEbAXY7DbtgWHY5wOKhNBzCjdsDH/0PUNKvEjOZbb8FBN/Lma7wK4KvXUdRfhzTbQrO10Wx9c8R4pzwXss9qjPSsWduSRjtnbzRuHELN/E5DL1Bbf8FkxIYeOYo/bI63dmp9SqRhUHUQqJzBRjS524BbZukZbf8MGwR/k4DDtyrpObDPxOJdo2DY0qwc6p3rD9L9N/YZ8bHgY8jnB7qaxHqiu9QYfpXFdHw4iHGNw7gBNHsdZDE4x+G0kkbqZmOB2LpTBN8qwYiLc9m33hMJz4ciGU3p6rkX+TlaWSDaFUIq/VXqt2L9TYm3U2INZnZI/YB2+KfXQ4KHSP2EUsFjIRFHPOc0lSGDY0KLCYXSSVeTbaj0P0T0f0i7GxYlmKoC1tspyg29oU3pzS3JI5oIXS8GD0sczhBUsJF6LCucGSRnDv3vuXH4LEBztC5+KhbtdSijxUYc1V6rdVcK4jcFm1mG9czeXFEYhs7O6/vtosv8V4eJlaSUeCrdubDfxVIWxj7PFJUuA21F7+9Nx8zsZQMa3WN6nZYfmi7Fh1KBWVT1ELio4ARHpRINjmLF457nuLsnMbUyN2alXEbStJ0PNGxusBUKGaBra0OwqQ4l2gILTxC+wRUlcKvvmHyRfjJcVl1WjKDxVYiKKrjLBUO2kbiqSNw+LFD6j0cu48wiqKhVuxdW6nBtaKOE1dryHYFjcUQ6VphY64rtIUUMIaxoCo+Gemr3Sn4vB0h7wNQsY+VrJW5WtN6mqihw4q4kNCP9jZnt/muLvco43kwN0ZGzgsdgSBYx7hWgKbiH6bSFkrtrLAFHY+xVevNAfBESvyEC9Rwqg3E1rSOQ7PZPBQv/iXDsrmkhhL6uF9v69vRVgidQ+sQg/o4gUrnLq8012HAaKZjV4Hgq4mtacluVVUIHcmltw48gnvaWNYImE3aAKlCKQl7bfFRikmHplO5Zm3U7J3YrAXDu/F9Fi2FoOFeHg+ysdjZmukboY+YuoMBh2wxigCZQ/kpHPJZFmtShCOJjERw8bWgg1LdYeBWhOTduQ6r9iyurIEoyarLDimYV7nPgEuY3zfVRZBQSF7TTllQa1QY7DOhlpRwWLwDiGxmWL2gnudrxEE7Vi+kJAcS0xYcba7XJkUQjYAGtFAFC4F0hso53eRbmjrQ0UVnZDUjio4m5WRtb4b1RU6qsQbO4tFhW3zCH2hrm0yPvfjvUcOLMsNM+WmkN6jgmT6hs/59nRQvkPqtJUmkMpcH5uabiNLC+MVvQHYsrco7xWVxJFwFfsBVaaC6HdIT8KQIu+5YnuGMOdX4BZ59E2MUG0ppw8cxjpndQBVnlga7LowopPUvS4JqjXuADYqbAAjRX6rK/Vbrv10KHAJnsprTrMTA2t852U3LLno+obSld6acz9E0nPlFGKRhjyxHI8WssQ+RmXYXZVPPJllOw71kOYABx2jcU1jKBtvkhtohw6qLVWjl0u7emtmaKjJJ3TwKfh8XXEPGaQajBwG8p9RI2o4L7RhWS8RfsFnRM5Hs0RbERvOxPq3FsaK04b+C0s4J27SssfNX6rdgOOxAuLqKRrHkDWKMcZo0AlZoGRmlG0t4IMmL9pIohmrRU2dduqgWsrq3XfsVXFBBwVGUFdtU/ROYN5sqtALfBVOwivzQJBIugPV6rdd1ZZ43BaSIwPF2n8f3ZNlawk0eNpAuVVvgq4JzfZd2P8ACXjiQnyTtG6qkikDI213lEyPkl7z3blljWt5y/av1X8zVBEdfJDggFy7eaN1tybpa7d6adhNOHFf3nI1uqFSOVvh2K9Fv8R80107bXWSJ7mtueSpI1p4rySv/lg0LjyTZHZtjgtG5o4ofbHAC9FryjkOx/hkp4UP4ryjSALckWM7l1SVnHNcryIV/SL9dfQNZBuFceSdma7iELVX+IHwXlpPDsZ8HM3iwrM4IgbFRzDwNVXDgrW83ftUV+1v9DuqYZgG0uV8vBZYQUX4t8g8FSWU8h2KtI4oaQj2Sg4LytOazYYFa3j1W9Aq7s36qH0G6us5YOCo9eQasrCVSF7/AGndkNxMwHtnqFaqsT2cCqO85ZXV+qiqr17d0Wqo9A3rO+qo4KuHpwVGFaKBjOA7IbjpQd7ii4VapMxGUr+8uicNoV6q/nqBF0hFVQdQ6m0QQVlcrM1UdlVuq3VbzV1q1QBVUcqz4ljPvdp39oSXprVTw2hVySsnSEUm7YqhUd1V67eZ1SquJ5qoVCtahVurn1AIOKovKinWPOXRbhTQ0JsiWXcapgF0BYIuxJdwHaymOcCx1SgVYrRm+4qsQ32VD1c/Oah8FR+VWUUMRklkbG0bS40CwWJmyYfFRyPG4FZgrbVzQDa1WGwzqYiZsfAbSsJiz5Cdjjw2FCyzz2VvPVKuxu5ClB1ALRYfO4az79puJwz4XesLHgVJhcQ6KUULVVqoDVCTBRu26qoVQ+dqE/BYzSmuidtPBOfF5Igk7FLjJs+JldJXjuTYNeKxG8KaJ2gxJuNj1qrmpHeTw4q479wTZXGWer3u2kqOF7Xx6hbvCuImB0knBqeGZ5O8VTqofOVKz4xzRustVURneJZB5Mfj5gY2DNGBp2d3nyTmOMcgLXCxBQZ0o7SuZkoCA7a7kF/h5bSmVxtyV1dc/NW6qqPEMLXALRvzYaYx8tyxcdn0I4rSN1gg81AopWWLiQnONLpjNybTYo3u1xXkoIyC1gHuQAp1U85VUY53AJxme5o2G55nYg6KuzcnYuXM60Tdp4oNaGtFAPMsxrdLHRmIGw+14p8UmjxMVHt4hNL5o95Fe1bzgQ4JtNiaqHYhwVAr+gXWjwT3cqKVsukiax4O1r9n7upJYm59WIbTxTIowxjaNHm8Ni2ZcRC1/wA1gYJzPCZQ6lKVsskjhz66eYv2+SFEFZUVeuh7du3VwWIxmEYyDKL3JKjio7EO0h4DYg1oa0AAbvPZcQ/ndX9Ct1WRqrLf2a+b1wsuGYPQK5Xclreav22M3pnuUShpUOCA2InenB1CSmu2oOuOzfs37FZGjiVlYBw9AzYSvAqjzbzV1RDqCawWK+8mn1kNxQI7yOtrLMiLVVN6vtTmmlSmu1SU07+qqPa39V1mxDeV/QdJA9nEKkh7F1frurdWjO1NG0pgb3grWKZTWlAUridG0uHgptroyPcmHLqEXuoGAtaKnmnaIvAFSaBaOEl7CTxWJxL3nIQDsrZYoWEVfesc2h+zuNdl1IxmeTDzNbszFtgoGu/mqSW0EU0v9LVNLFnljcw8CqeZuqAv9C0eIdTfdU6+XaqmzxlpsTvWLZ/IxhP9QC6WzUM7AOQUlaTzyuB2gWWDh12RAGu8VUbnVso8mwVUWShaPgoXVq0V8FCwmwN1FtDBtUdCMtKJoFQE1zclqLOfHaOahfJndE2p+6oYm0DAEBsHav2KuWjwzed/QtJhtINosVlf1W7dlfqadwQJNFQrIabhYFBzwHUpVNJ1SKVWyhsalBrXeKa0kbnXHwTTrCyc5x2bdn78UTfeg2hO1XsPOGSVreKoKehCWF0Z3hGKVwcLg9oq3YqECjHcXCa7fQoOG5EXR40Qt4IutWiyDbuWy6vVRxCm1yc+5tyQAt27q/XVyozSkch6JpGaZo5OWR56rdqvYrZZrioKxkGyjwFltLA9vuqsHsLyPELBf8diwbb/AGhnxWD3OLjyaVnPksPIfGyxs/CMclkNTc8/OVRkkDQNqEcYYN3ojZIyx2wowyOFPAqh6r+ar1NO0BMPqhRn1Ao/YUY9UJjfVQHnalaNmldtOz0YYrDkU1xsTopCDuVD2beYqhwQTUOHVRU83egRllqe6NqAFBsHo4xMZljGsNoToX3FFTsW7Q6h1X67eYt2KlPmeABUlNgiEbd3pLZ43Swt1t4ToXkcFTs17F+1TzlVJiJA1ra1TMLFlb3jtPpcDekpsPMAw11X7k6M1FxuKp5zd1381XYnTvFbAmlVHhog1gvvPphHSLnbiAVNh/JnykfsuWFxd4ZAyQ+o5PidRwI6ufUDv9A59b5HUbdYbCDWIml9kGwUuL6UjdIbNqQNwVB6ZXEnm0IhxVCpWjLL5VvNRSjVdlPAotRHVz6gfM8+q3VVHf8AFQx8ZDwCmlBjadGw7m71f81XFPk9lnpv97I+6rlX6iFIzuu9yBOs34Jju67Yi3ahRc+ocUOKHFDihxQ4odXNOcmN2ur4LgE99iUSVdVdyVI5nU4em1xjhwV1ftPA224Ib7Lmiua5rmua5rmid6aO85eyK+Ke/aVVE9i+xUik509Nrj5fFXVe3dFP4p+8p5T05P4p/FOO9E9nl1cldZZMvEem5sdN/UVt6uXpFwtFIx3A+mUBK0mJe/ierkq+fv5qlFpcI3i23nMT0b/D+JxuExHR2Gmjy5ZMeXCAVcBrZb77c6LpDp3C492Pn6KxDsNiBE2Xo7PonDI121+3b57Jg5n8GFZnHkr9dvPcvM06ssuQmzvM4qLFx9G9HubHK6PSSzOFdGzYKc0+GMyy9MdJUFy44lwHwClxfROJklnmmAxbgwyvLiG5W0F10ni/4bxeH6GdGzHvDdCZKZQcw21BGyu5Y/ExYqDpHAYXBTYaXIWYbNkNq1qWivur57RdFSX71lmefM39Bp1lrgQboTwNfv3+Ynwf8UzOgcBmhYDUKfEuzTSOeV/gE/8AzTv/AEtXSDv4Wxrei2Yl+Lc1rWNw7w2Q1cK5XHZat10th58bgMZ0V0vhsGX6XCvx07ZcjaNGTNmJ25j56zIQdgqVfsWQVUK7FTzXDzHDsGJ/LeE2VtWnt9E/xP0ZhOm8d0fSbEwtcRpnW5WIX8O//D//AM0n1WE6F6VwXQuAwgjixjZpnHSE0LMg38c34KDE/wAI4+LFYfC4iHK1z48TiHQRkB4N3tuKUqsPg+ise/CM6PihxGJbIyHCYl8wjGjZtc69T3vf50MYXONAEcRi3v4q/a5KqHnuXVTtEHanNu00ITJbHVd2v9iOiP8Alm9X+2/Qf/LYv/8AUsFhv4TxEWKnhjklymBr5hGXOY5rtUm2YUqK2qosV0FjcXFMZtLiLukkDpaNaGjOGijbNFr+PndHDoGG57yLiVfsclXsjscly6wuHUPNUKtZEUbJcJrxVpr2B/7JYPDGgmwmbDTtr3JGEgjqbN/HnRsTDV2GwOIkk5B7ow345XfBYufoOdvR7IzizlbG9wadGC4BzhmtUNqfcuk4MN0hH0k7EOLcRljdMIwXANFSMm6taHzjcPAXn3J00jnE1qeq/at5q3Vy7NFXt7+t8bqtKZJZ2qevFM6Sf0t0Hi48Ji5BSeKVhdDiKC2YC4d94fiv4vlboo8H0NhXWzTnESSjmQzI38SmdGRSudPJisZiHZ8TiZO9K73WAG5o2KJn8DdJmbIWZGgh8hY01e0XI3fNYL+zMX9ig6FhZphUdGTOkZWm8u3+bbEwueaBOxD/ALu4KvVZXVuxVDsW6j1DsDqoiqIdqysr9h8dto4Jkuw34dhkrCyRjXtO0OFQoYQRDEyMHblbTq//xAApEAEAAgIBAwMEAgMBAAAAAAABABEhMUFRYXGBkaGxwdHwEOEgMEDx/9oACAEBAAE/EP8AfZixeSvPQ7sCo8mMOvVexAxy3qwrb61fWG6C0VHcfY9EQdVBtvdF9DHaZAWy6prpeB9ZhbHal9sD0YYuW3gelX95xOAq1fqsYAzGFTddsSm66iz3FX6yxBnAC+aVKndAKD2tJuGBDezSY9Di8RRpUI2W9nPAGpXDsF1QdtV9osQzdtFdX1mU0Q4Xt1+YhQRv8IN+GZge8svw38yyBtlg/Jn2QLQGF8sVh39SMdLAsxrrfv2hJyi9PR6PmntAVgNmfL/vHCa1NARYgBnaPrbr9qVxNacO5e/X0ipkLC3pwfges4i0EHl0X1GO2GeQerx7D3grWyBU05FwBV55At8uUL8SsnzCXLNiF+D8JYWBsMvfKUAQoAJXv91QAOPDb81G5Q5N3xikE3YWxoeoPSFuE00pUcCP7qUBcWerH5fBEL8G2v8AWJYVthBR323BapgsCnvQ/ErOUwj0FQAL0GW8ZHseYuMWb0rw3T7wVjqsd4c/WWhUsftpx6KYViwvfGH5MeJbUChSy74R1+1OfprYfH/abcOuV0O8VY3Bsde/lx0vcR5qDAu5tdv/AGFZ643ouvjPVhKSu0t5N594L0LWwOoAvujKcp9MFteahAuNYD8rf2jgMMrny+wMPY0rYt+j8S4ajsHq3r0iQQwGv1ZiGrVRn6KVAFRLsIexCleZQI+RcbeDS3hXfnz8RwrnMrOHzvs+kKto3WVrVQAANlEV7u/eFVIcLUPQFk9Gb6kUreSx6SwXeAR8fWpZHtOMb9KvzUulR0rPZ+iwCtmjM9ChHxODxaEy9L2uyMeKDVLYvIPL2u44Vt1wPYafjzzHWM8G+H5zk7wCyqLuV0/KIAiI6T/qGOuGf0wdOrxDLljN8xyvri+bKDmAQE656daxwcL2GlpfIOF6svXiL0SG8SP2wdjcTCEs+elh7nsiSc9EeGyvrcRChWIZuTZO+CMG1WDU9NvVYd9IhH02/MZ8LqQq9doml6BH5rvrPmXPGgQC9igTL84Mu23a98ah8ZWikeSw+0vxTdBfo6xYCNplt9mXmg7uw6im6+ID0xVYr7uce4TJ+iwKzujOXrUtCugq99PiCQFGQx7qs9dHrKQaORvDw3UZQebGHhTPwIxBZyY9THyQNoq8j7M+0VlBjOB02Tw2eILF2As53LH0slhFfF9lv0fSoaoovp6/c7ddaljcOAfqP3rF0sgHL44/auCx0E+n/QVqGkZe5xFd9kSflPg9ekzara0eF6e3oVe7I7Docb7H4QYruOD98+XiE02wPHQc+1doLV/RV+9yZ1+Zazv29PeILk23V2+sRq1fI18/j3iVSMZD+4fk7dtD7EcTmMC/NqCmk2Mr2w+sswO3mTxk46suLXT3BhZVBpo217mgZSg01WzXdYRYMgN3d5QXk3mYVbqsepiyAGxle9RAgWUpnevMIH+01TCP3ElIo7UyesE5Td4F9qikGgdh5NnvFrvgsfSCfXKr0t/u4tRolKns/wBykEavgeH8469Sol1Ng7Kw71Z3mh6YhdnjxD+rVCeyL1089Tu0VfVcPn5JoVpNvRP+a+5cFur6HLCWrTOzimg19M6KoO60D6N32ddsWCnSezweM9KI8HZB6jXQ7xh6oB99hBqgKw9D9HmI5l0Mo7GglyQnOW192ZNDlO1jjUc1glRr0C38S0VXV6e1EQgBgz7DPi5WCrQiXi/xBmOyVeuc2e0cGuy+Sr9oR5ttQ3nnUeBFzQnvtMuWbND3L6bisMtoWb7/AGlFtVqpPoxgFHJC75/McHUpch0DmZJxVmZ7h9YSy+UVHrXxmXEFulKT2nJipGT5MPrmFQLxMXXr6lkrTscAj6fVKBbFNPo/maD6T3zn99S46POeQ49npBxHpXddzZ8kT+5gaV4vr9HaDqMGRx7TnvuJM6Edrp/yZw7PVeA7szgJnq+4693EIDcoDdnBW97/AEUoGqVPA/Y0c6qPWwQdF8nK9OewEDQE+A9viOaByj5cviPKp7Gl/EF08oYJZMfQcMIQB7CDAVroDB9pjgOCy3zUG3Q1lf8A1LSgZrF621HCMNBSHjJ+AiQrbu7q6/cTHo1yHo0LG0hV8/qf2i48eRid69YwnRoiu2S794BRdbYWfiLFo1fP6/maAncvqUyrUV39atPecM7NFHnpnzFKuBStPqSyC3aUejmNdm3CNL/MG8+xL+3HkxGAW4OV7fU+Yi0Q5FOo8O24IOE9x2Xx4fiO5Vr9eHuQBYYLlrwunT3QxbRCuzw9Po9pckyyys7edLOJj3oBMPv2YOMgHI/8SgWtEo1E3C8JOVSdAXEKeKWADNvC7X083lqXwPq8fuSctVbL2Dl7cbeIfmr9d9RYkIBgDPh+1K7JOyvJHAAmtP8AXmMqXcBa+D7vxClSrzsiyafDj1gUs+Kz7uPSNXIFlX5/8jXdDr7hgtINj+rXpcryxjGP67QCuHNID6cZfRBVYO2EqqpMdR2xUDDDEVw8cRaW2rH7jmLUuCpu/FxVmFGL26x6CGGl8lvpAVLNIgPuCokwq6MPFInzFbHVVd9Vg/MpC9It55jaMHVA+EHeLynZ0+kYzdpTfjn0plXu8ryKcnN+w7wF5fl+/fv7kYuRroOn9QWraJkdGGwwU5b1Pfl2+nURF2o4s693p3h5TabIiej+iKcTaWF5v0f+IDCwpd4lFdyu1vSeH8mBs443rF6pB04Zfyfq0Z2hMCQg8pfuIQ0PoInV7/8ApyWuTZfMUtFK0uuh0O8e4XwrPt+WZUiMtrDx1YGn50ZfELtQ7V2938QksK8F/vxFexex6f3FBKWbRD8wbZulKPXP2jgq+E+YPtB4s/dftEYWHz94NljteveVXw5pJpSExRvg7TCXse0HW17GaiMJXF32MRIGdh8XUqoBOTLfXUeltrBAfmC8h4CejZHJAHafY+8dpTWWejHyRl4/tD4f7imSNA14l07P9zw5LWexHJ647zJYmXs6PXzjvLtjg2g/eN+eHLkYbNeep3g11tOLoeHqMNnk1m1M9+Q4u5UJdMrV+q/dxIR3dvCrn7+SKcIGfTP3/wCBKDGrV9o6W8xVmLPEDoHsyqhdDTQ49vpzGgBBfUYPePIaijK/Hb67mVBTjg88TIghVGAO/b6wBUsydH70iqOAYPq9CemHidV0Q0avJp68wAKKMGX2iYWHGvsf+QEEXoL/AD8wYS83Vv0gRUztL+sXyeiBwJ35gMUmsAgpRAQUHqVCjJ6OdwKnJ2ici/mbqF8v0iC3do8zug5Qxc00qH0bjgGyL6hFFEdc/Mdqm10+n6w7IOS27Oz91LBFG1w+Th+kJnP1YeflQwVp7COyZfDMKfLCsDsPuHm4l7uV7Ha8J4+IWNZwNhbl90RAJWWwrK7m1yYllTyCvLrwm77eYvjQmupXkvwhATCByiz/AHsbxygXqr28vaMSJfpw7A44ojVCUjFG1S2FpaGw8vn6Y5aDokMAZrt08/rbRAaDJ+TNgQd3t8/eBjnI17Qw3w1+R4ftQhRs7DuTB6soof0L5envA44csNBOgQDCTgDETxGmi2aSvEtWIK61Gqj0NmZhs9e8SlVEaYEdEUWIajj7Ee17MEcHhJdCuIfKcdN/WMi3BYHviEqZdDJ4/feJW9gSY76xHN76Zf4enuMoEjOIo69/Jnt1Etg4VadhydNvao1Y9Ro9MOm79TtcHb0OleV6cX79ZooBw1pvjD6MCVOYCv0Otcf7joF1Hl0944qWrgs+oWdsxY5TPpwPLt9O8W2sBLxtXkNfGHMR1dm21/324OsIQeDddrjjMGwoz2n526lAOSwQd+PtOI1M37W0E1wBX3Ft8YglBoAAemoI5gYxC2mVKxzKrvAVEzA0/EprmVzKzxAzm4HB6Ss3zHOsVE9Zwc+kV3jzjhKHtAeBlWPpqUFgxhf7gFG6cd0H69Lq4smz6O0Oywyz69/3eSLiaaqseD4+j5l55AJzbId1n36kFwBOFyX6Zx5IYsJ3l2X5HHU8Ssm4y2nCN8az4eWCII2On/aeFPV3FvlhuYcDN3K1wbeqhxHEivicF9X8xQqcHBbR/dHVl95CYOB4P38yikpMF7dXt3gG4AFwdLehwEcBeFPd7Qp1BsvlhACoFZg6zIgVxOITziPiUekN8zzA/gP0nJBi6id5m8zwxLO5KjU4gG6gVqNYEDQFIlkfgBbenV+ffGtYBQ2nnuekGzUbuzfR6j+e9qBHrpuwvZPoQBVoj+moz4AJseHfB8PSNGSAaOntXY+E6REZAzdH0MeR/wBhSFkeAyxjwwN4HBfkHuzNy+g1Q49fv2lVecY1yZ8B6RquGfOUPL1W5RGBtX5gR51YO5W09rg1+ZIC3I0MJAFYqFOMTTHWX5mGmZu4alNd5qVqMq9QF8yuX3hhKxmKeIlRPSNTcDK4lMSNTadhMG5VqtwDqKgJxjULqvajXnr9HiKl313Op5l8MUU64t/fiWWsVe55P0s8Tc2wrtC9d0/3MuzXEVlTyadl2jsAW7FjLz+X/YhMkvl8XCcXqk1aY9qPWMhgbgtQ0Vznjn1JQAmqD27uPMpU2GTdXx+ZcmF0gZ6HiZAEpRg6X+IQFAEAuqnMVQktl3rNdQYTukdTMKWqhICqgCBfFQICsXGxKBlW6QLeIirlViJ0i9Y1Oq5hlPQma1HB2mo28S5GHAZfR6/R6wWQTDS+p+P6phZht1a59PpfSNmM3MJw+T91EwjFYdp6OEe4d4ByIilbPcfVLqC7ya/14fpI6XB7U54icJra1bnPfKvRWZSNbi+L7Bx6dIGiuHyPR+7ly0yJ5s15fo94rffSmFvfeHuBQEHvBSLmVmG9TDBH2IaxuAprEM6h2gXmAjfSHrAwNEK5+IBL1Dmz4jypgf3AImWYESjEHMYx47RL4iddxurHUfSUqFXEqjZCSaRfDdP736yrMVbbPd+HpAiMYH1uo9enhiLEh6Hp9HuhKu9WsAbo9vGGXgs45VfanuP9dKdFuX/0PS5m9r5Pw6evM16Dn0YX65628TJh0GHpjob+OGBdo6rye37xAPAAA1BQcSrmJUIYlnm4GszCiB3nVUuu9zfW5WMQHk9YW4lF7iXs+I2AnNKKvT1I6y+sz1mn97gyiLZr3jerxHfEdS7uIG4B2ZlLlcsdXUJMSyMJa3T0jb9OH6MGcf6Tega3T78LF3VTqjfD5Xw+II4kDr/2PpXMyLqtzfN4o9f9VyoA8AWy5xzW7Bq/OXw6SsY9QG2/3fmCwVTqp+rz/cEjWNYun/35hnVxZ9pVaLROOZ0KivPxN79pdxAq+Ya7wowJtbDEEKBn0iWuCFV3uBgzMMy+e0a9orAajiquIvcWLZnq44BjHUVGyc5jA5e89I89YG2mdLCZkFxtj3OsHEbOjH795d0ebJTA7hrzjqQSzSEcvCLPNRGlMV9sPNHvGRtB6iWf6VOiaLTTmnehPWYqWE0owV1xXrBUtF03x+ukJFgyeXR7Z9ozODH1Tnxv27THsDLMCsEv5mVQYqoYh1DDcylK3BklZhoqX3CQwZfU5lWd40rrLD3gp+YL0ivNTldsd+ZeW2PePaLTSxO8QVJVMb/Mv7wYgDU5syqhrXBk6nPrKVyy9Z2/ceJpICGjkepZ4gMWRRhTd+hfak4lgFQ3UAf3pBVWD9L7f6Txnaqozb8HvBtt8SsjHgT2IF4XM6l/i6x2HrKfJxurz+9IyQGiuDn6fEUbu3jpKC43tHe5XpmYFQczzGVCpTUDpAScYgXBBnDADZCnWYUieY4Zc9phzmIkaIpyZivuxOY99x1qLxWoOhK4qJqInebKjdJuDFEwxqZ8xtbgYOd4jCszCyjIncfxzCOWoMVOvGCdmEfCr3g7cMUYcA2r+j7xsmyfYFPe/f8A0ldIXggj6oirrAi1cfBvq28wCUJDo0H0D0YsIyYdufA+WFaukusvq9ZWWRiaCNmNcfx84CHEuThDEywwvkqW3DjpDUHgcy+hFaoYPgivPMSyy50YldioHEq/WJ0gROCIW7jjE3HnE7E7qnpj6fWZFx1nWXxpL8x1CUYHo/8AXg9E64QsbWAnv6kRvTbu/wA/0Rr+4akfkr0/0OxcFzOOGndinh9TtEyOq7t3XvR5SVG6GnUH536xCioH2eOe8pCqtvMDTpK1HoZlUMCx4iNzNnHEImIqBarMPZqbdOsq8VE4xHsg6RGI8xzqI+ZXHSIg3E6x1KVhivKOoxqJneZvB6Q5jpmLJDRonpNHtt/Tf0hg8WtHi2T4PqjsgR7tz7fSGRFnjIMf9BmOqp9GC/8AWxt+PZHM0Ld20Z9/gIFF2t7/AIGX0l7btHnq/viCXIBUQom/4PlE4axGFLCwa5DHWEuC+GAL34issWcbYNyriAvv5iCEt4hn1lPEw/SUblkxmaR75bp/U7U8TlLgXeGMgmIAalONR8xWukysuLirLgGXjiZiQcTeEqUarmLljZ14YKmIVG9HD7iMGtrScHBTv92Uqi8FWVk9TL8hrP8AnlWqN+kTOwqwdD6XLsyKeua+TD6grbyHb1qvRiAlkM46/vmGD95pRee8DRn0uYSleYUVLq371xBgjNYquGsiZOeYMhFdT0u/yvZijbEAFDw5p6gwXgKyO61lO+rn6SMKc+sQKZmGsHvDtT/7CtvdS9ZtwwOt4g9YiJcC+JXeIrO5XUqjNRC64iBjrOY+JY1uWczLc0SC7pqBwVvMUQCMtMXwlMUC9wIqlbN2Q9sB1DZhvxDB7QVExAAaNLx2maFOjoOPUU9YomgzbR286+YGeNR4NZ90nRY/LP8AnfqrQrAKc84v4fiKyAyqwFoP1ekO6oAtcaD1ltg0FbznL8weEQNVeXUwboXUapsBkDruCbg4yTwtjfnWYwtXsoZOAFZ7xVozSj1609N9JSD9PrZpMnydahIPk9b1Va7Xlxqrl/QNhs8/0YqsbmLL2JUcNy+CvASKZ6rwF5eo6h6XBaUTxpo878g9CKoLg3i1x7/WoYtDLG8M66NswkPMHrg5gMXmVrZAsjAWXmBkMFMccxUN4gBaistwxpwoHImcZmt3miCjVX25e0LTOAtJynZ150RxnmrKeBo6D1rl/gTeB7odbs1nFl253BSNetz1e5NXDLwUUOOrDwmYGOwJUSmg0aR7lvuV4gMg+AHUYnQzLrxDTcV6M5AtGs1m/bfvANxIYWnDjTsimwFDlTZfbdvrL0SSS5sA/J/mbVS6Wd4oqBgXbKelXCcBT3W+besARUgDvoPr7S0IctYlFWGgszMbLsKjt33wzSWDlVyByjgDbKnsNfMw9EpUgeLRlwNsMJ4dRbU5ELjq9PJL4UxRK11qj2XBFLM4XrY2enzsZyWwmh4Jp7MWZ3gANdADrxZ1PUTSbUh0Sll8AiOw6VMuQaUW2Y6VzWrvTDpiNHQff6ncliRkgGwSZ8YmtiDvEfPJK9tesc6GqmBVy7UYxcBk1kIS8QXfuh9IUmBhXu7q3gwvjwhC+lF0dY5XB+G8nhpMutH17BmhCIwijbg4OB1DN+ML3VVQcHbwGq4vRphBt5r5MPkM1dwoRDLuyr7a3ivUhIlxVaB4Nvdd9JZmgwp3raZ9LlSv2BmbfOI41dDiegY95QqwHl1sXTjqb9Yae8dS6JwwYxUABtQGaZz6/eUqiyGq7eGVhpWp1im/QPvNMBThxS/P+ZWov+0yNyD0Ch8r9IpFhZ7Lfle0EFlAK2m5QtDmp0HTiAaCunLLhqmxb619491IBFmgx0qAu0iBA2cw6iTTgxXRlgnPmKQNcK1VxwRMZNuF5bKHvCcSMlXWrwxjoxlyZTZVvJw/9GYQAhawW4XkdI9RQRiAkRTYpv53BSpQF6n/AJUogZ1mD1glVHDKd5yiRUiWJcdqshlrwp6le+fmVNV7lX2/PrKQ1vU7oZ0Rg8Di4pqQ0tvgDzgPO9QGUzGtnasvVeXHUWVraunPZdVZ4O8Kx+GBrv5Vb2ESzV0cHOc93OC+szy2w5FucVb+1FwgKqF+Kr0guw2MqeMqgffZtc9a18Sy0OOQdpW0HREvOLOy6kLByd/SGOoFEcWd5cnqRwnHDo9v3rLl5D1W4+uJUSayaXQmzqo+R4lYkupZpH4/zUBpfoQly6DU6Cvh9kcJrzJUn2iAplQ7r9KPWCXlUai7M71Lh2e0FUBfEQ0zpEIxKXMUOpALW93M0gxGgXeMN9ukAsbLpUpGoWWVv6Nemve8kgzr0urK69PvLu1W8inkHvnHezeQwwvxPRjYRSW7ZnxEhluUzbGnqzmKIVZarLcMAKFjtb9H5juimHUrB1X4CAGQKrRwU9AwcpcXIoJa3Z4zxWLd+IQwemqsOB09vzWCNbD3fxCzGhePHSCUBKEV1UU1Up2i9ekBNEbAtKYHEYmWcxgd0ujaQx4Dm6jZ7LEeu9w6idHfvEIpt9oo/vSv8wJaJPswVaVqF64/VGpVVPlwPe30heMPKRgDuv0Zk5YMS9tOCW9/+xd/MOsGYxtlDmpQ18pTugjEuSCt1EXik2gx0l+8p6VMAq6jq6dYSOJ7jvMdMSjccZ4lM5VMW8RsKLp6QolDJZv3hlCDR0esw82crlgdBnrEAU14nPyzs4ZKfZnDL7xI2/WWE92ZtywFwCdZVlRDJCsNlMC1Gtwea8L7MHYOi3IeJzX08RlmqHhSfH1/zYO6+yxxDTz3zJxqMvOKo75Z2BIgPK/A+O7KtyDMVZ3GFpGCdZ5ghl9IOOHtBFJRyx4uqmJ66hFItAD4Lh4sGgZaxzAozocL5iLT4Bet68/EGXerutdn7RdXuvX55PaAQ4wq8Tpwg6iFWQUFO0Q1OtEcxQuoEGN54iWLLuyC1toXQS0VRqBUGw86HvCFsA3NWDGdbmxY1FWmu/mFCFVYDy5zwkNRo3Tfims5i2CFGwPWxPLnVqeZaWoQpalG81BsjyTPMQCOAPOHEr2xpPj5cnkjMqcXkHv+/RlpARUebqg6Nn9QbB/yNfSj4qKeOmBh29Yd4VyTq4/e3eUizi3QM+5j/wAlRriOykuLdRZe4I08S2o4yFe0YCNLcHzdYRM1qqpXjiO1jq3aroPzAWbDZ3zGV00B10wt3TTKBB0FoWqssVHOxiy20QhzjncRNweAOLIRLD7AnD33GXYFbvudTvDIMkLnEU0lSEqGNwEqAYHEPLUKGIi5CIrmBC8RU3vitr0qXQcdJ83TsRJWWDQu7rn6yuuEV2sl8/1M8qpuruHwTPTFXeHBoVQcxHvlS3TK4xQtp2dX1JcaI5A5cP67TlpcuOw6XtuIXh2Ox6dmHpcpqPwleIxYVEj2rBKctj7+rDaGwe2efXn6aqVcDeLtr6F9o1KiKaf8ksSV5mH9IKb7O8cM3LkUq4MP6uKztPofX5ekFAt1FqPeXqhma4D0iVnjqkUgPCF8c1KplTdKOHXT96DD3gLOKOwbrMZQUzDYG5bFiolC7pJZoVIL9kblb1bu7YAIydJeEbYb6ksi4/NeHkheBWMgwiuoo1FGMRGAcMqi5YNpDaqdFUVeBeIzF1jJ3CAuuwEPXlOyLGuBPWV444MxcuAsbLyV3i6lzh21VNRelY8LrRHIScACeS//AGWVxIE2tTIhCBx8Ga8ESdZVfQLoc8fmXCqtFTjGONP13BAb3834rcQWRJQzSUO0pN9O8xElB/WmvRK5hc54Jp6p84v84D7TwALAYC2xXh5uGjj/ACA1hhmTsRwafWCW+jCtIh6DDTm/24QGylKccfRvx2hHozCy6haIY3K9BDc0+al2uGSH0PX0gUqbFU98y77yA+0aALUyQixl2VnqvtBSztXk9PEzAHOBeDrCqFz1XlZWkW9UtZYnsW8O9+0EeQvU5aK3rpTFV5PsiBoxKGKhgxMCjTHiJznEyUy1zLaVDtlniWx0GYWL5gtPApK4JSj0FFwaOTLA9XSxTVU6I9Yf3WmdegkRi0KAqtufpFM0Y6HgDglBShcBD3BM24iVrbAEOtl4lVQEKIa3V9JWUrmmfJ2xuNdIy1LAXxLDuQediV+lNe4doUtIoF1rtzprosrIMNL3aLwNzIoPF48P8R0z2kuWcSVCjb5gGyyWyI7PMAqSnZ037rZ6BMYQRa4r83M+65fdEpNQXZLjAeKvS5WKHN1geveHvSAC3i9xiMeRVHUb+kR7I/8AMv8AcdYOJkhuh0r3xMeoMmLHX3PSCMJwMURjhbhQrXjz5jw9oqGIcwl2ssFlEO2JxcxS7bXSNJuUFiN4SEq5i2W3uFqycFAehMIAu6NRCUUgWB1rxELsowN75vHMwUiUiwsVTv8AEYVmVsKKCex5YOUzwcX28pn9CVgZwU7NaTfqd4av6g+h94aq7AHsO1wIsLNTjRUQClV8xrxZw92b/D6VLTOgFwVFeNHszD7Nm02+S7jzFG14hh1eIcPP+DGUvyIQEtLS6PWJtELuzUb8pkXVreBb+oQmKFBaEfPmYoawgXcHpGvMONMY+n4Ij8r341MobacbcHMYbAbW3GviXCAABjSvoRbqCrzdLv3YYEFCFdP0h5D1mEY9UwQTOIp3OaNATMXEbhLuN04iGrxDmEHMHSLbS7lakwvMMiUHeBwbQ7bv9zD6SyxXTPvGwyBhmq1L0KDYaGRjFqNl9Ym0KlJqpbkXAmGCsEGkRgw3jCV8/wBwaDcBN0wJ5Hs1Cytxkji+D1+kOi0shHbb0+of4NpcP5iHLFkiMIvKpVeNPmV1apoA3XjFe0xRWPrLq16wK8GohzcMMNQOnMFldcRCAEHT8SlCXFvYRihWYGs7vUMZu/WZ1j5lmZj2l9OIDcuZYiwHMoM8y03qOk/MDsqC8kWfMoGSUsUt2ThMRLl+YPDATIvxLOHtAKqAeiBCVMCPm9R8R5jGz+2AzAc8Zzv3+8pG2VQCdz1jFICUnPdhdRSvr/hTej/CPFgNPc6wLkHjbpLhqBDnNtV9GEbVVtxabysxY9Y8R5jHEyxVx8Za5WqZlKeIHEBwY7xvLxOJTnEQTChFS9I2bgzqamMeZntjVcN0srvcvxBZAvRqB7wtt11j0IlaxEb+Im9sFMQoVLTUrW4gLlBMnG5ky8wigYe4ODYxjWfk37yhaTIT6QWgVsKI/Rf8A0i0ewIpipem2KQBwrV9QrcZVZGznAv1lRlnmVQ3Wphh4L+JwkuIa1APrKQN9oFyj0mBiZTpzcbi3cWGo3KzK1LrcABAqIenpMxiqFYG428SodYMY3A9IDpO3UadIDrqIXUStSrvEXMXlKlhGquI99JYd5lZyR5A2voyy21Qi71/7CL5IjUJG7QzRKqv1/wxjf2EEvM2t1ltIVK6lP0lucmCOn0MzXiYTrOzGdy6qiuIuYdTeiHbEM5MzrEdbqOBj4GVF3ACnzLMZnTAYxLVmCrqXbu76yhoFzOFyqCzFxAvMAhSkrG7lMbJfTUfiNOYyXjGusVXEDZLjEXT+D25j6EzHv8AaWjCgVUJwzFG7GeMj5f8AZyBGAfyHs/1HLujiXgYNriolKsq+k3TXZmUsxs+Jg3MGbmLET1jdxRfwF29JWv4N5xNoqM4llhG6S5jIuEhHRln9wcq4jZGNWmmA0XZqEclQW41A0W1Kxf2jvpHk1NMS+GYNMQmriozEa/ganMY2rBeEN2xEJOqujGxZjXJQmZgqrWMicR4P7v/AB6zz7rDS28wyBrpAaaWvwyyHGK7RUy4M5ircdZuBeI+JU5c3BsqDwTBE6+kEFi3iLTrMqfMxLxC0YiW4B1JcmoVExmI9sOy6hOcwt/SUjxAzVBpJTmVA6zF7/wVNR2jlOlRFxc1FbFi4s3d3BLvxDmks1o1DqFRD5RVjfBCF2d+ef8AFKA+8Y3y+spXaNalywUaeahWy9oRR1Mp0meMTFQKNfxUwRvUlnEMFwekF1KGlJzXiH4YbItbKm4is4l1U7gje4v0lTDcMVNdZbZgjAWLd41/GtN30mOqIbZxG+sXGonLFVLvvNLivFzmjcst1BvsmCTrceU3eYVHTEs3FSsMib8Gf8rMJCHcczkZ0QTKsEgqyvUqMqpVRYJS79pW8zFU0TlRuW5glBhfU6ds625dUx0cEaMNbuGvWUyxjVLCLDvrBQ3xArfvLaqLSr9YJl8ZjEvHmLzxLeJeZiKlBq2IdtxV3rcVVLh1FxzUfeXO7PcgbmDrGbGZ/VBdlgb6waoplmULTlhrniAN7fnH+TOmxOvEqzA6bhirQwGGCK7xrR5ZptGPVcpe2uJhvcdazf8ADkgr3g1qHqifMcmT3iQYsW2zuG4HDTiA8hdTWgFQ9Wbcwc/0HfpKEXjdwXRADRhEatRq+YTt2VtDwWyu72u/YaZQFlHeHWsHTxL8DHiGH6zPdwxUW6iByzsVGcEy2TRcINy3n4mCYKiDi4c/TLLmhmbzKUbCNLocf5Ymz6AM7wTae52lbeXMIRU1NYiB86Zcmu8SisxwKfEXFsRj3E5hVuZqrDE1dkwZAuOntuUTEo6SxC8jFA2bDN+viAdeZQMvHPHYGgmCb1mBGXxOJtp0e/eYFvEVtfdMvsRZ7HVjIJXlrE/KrMDfmXNFjYD3eJf4ryGjtMAfWVzjJEZL7Qw6kcrqU86jOTF3qPZ0lKkvauI7zmLxvtKm8Ylr8P4zgu4utyrI1g8/xAAoP86DAWtV6ow80DIyhhklsp4Kpb7R3ZitbSyH2hzviYW4uF3Z1CsSYTOOMzOTBuIIm4Z43FzeJTzl7xhlc7ncRDax2RnNLeN+3iVle0LijgxMuA01MeJwyhkDuoCVZ61OGWdo/wAJ6sSnH9KStiqirQd40PeIm1EKu4ou4sV6xpiddmDcs/ic6gFXtB12zEa9QNV5Wnlp9puJCod2Sg6jyOhC4CoDg/0t6R6J2flFLWf+UQ5oAPEKI46P76QO+8UYaStMy/bUVC5j6zgP4B2MKY6wvzCxOiWMSmIq0M9f4xGZPSCFMniHejcKaDUKqvGIQDVdblHmD2YPvLLIttyiLq3nmEvdEOKnbqEalt5xFX3gttwWL1EJYFepxAtJQVvCWnOFC9PkvYQBxaA/10LJpTDw7IuBIMtPaIzil+IKM76Sg8MeRxOi8Tv12lWIFDRKOYVovMIE7fxo8ym4l4v4lLm/zMnKCUdENommKpjFTCDpXaYHvGUNyyIEVSpiKq+1yy8SjLzuouq/SBlWdPcs1LlzRBbXEyzcXT3RBICrUFBFqf1i/tBwtQCgP9xAAypfeOIesC7z4gJuIOGZa5JpMwoIzpm9y56QDm2dyFRe4WIr/HnDFTuKdOYkzTKmVmNdEp2uBgwa1A1MGWV3XS4sR86IrUGC3ljlljqKqje8Ql71KxiG+rLA3mY8pS31/wCDWbGj5/WEF+1Ab6sq5CCmrfMdIxbKrMWIJiDnDEa5icBmeFZnEAN65heGSrKmVo7yyW1RTW1zEtX7QZ4AvJMEaziB2J4qVAHxCqwesKENZmKxIdU5WJVpjuO4e6f2mjrM3MHMKKUXBjPM6NMaiyBDD4B/wWZFbpi3dAtvmIYa7xsaCBHMbUeIauF1cZd1UIzcdYau83KgjvvCrEqLX2mLDMLkjL9t3zC3gtqNFQuCAYhxEWcqZzuEoGsh0lC9uIX681vHExCs2whQ4IHQh7RvLMsXcwLTBjUNuNQ5zqBdzLaVX1gtEFqYXw/4TQLtDzxHJVBjJ0gzRrpLqu4o8agSKGGosDBjUwpaToog1Th6wmFdajdABtuW8wdWG8c3EWH1vMTwx3dx1j+aYzhgQbG4qKmugY8QtBjHiGT/AC0eYEafTg6HMQE+RPeOZSmgH0M5fzEloKY0VeTbk95oFpqsiSqUcW17tEtGztL9iBQ4lBXWUEaEeQuBqdhEqnrqOJYcZZaZxR6/8LmWgYVPDLLDWdwfm5XeCOHEKmpeeeJhq4Fmc95ZHteb1LvsAGx6wFbN04D0hMkMr3XvCUwGAO+i4BQqRJLxl6CeVgiiVcvbmb9lykMD6cdUObLP9otXNq6QucQjR7Maqx1g+ZTYdTxuLiCjvQhj97x0uhGjGGXym4iLYVoW8ssIuxA1AERbUosxEKixQyl5lGlTqlYi39pVtcrCElSSnJ9v+IyL6IwrmB79ZStuYroxHZdwI7jCW6mrMKjMszULhCm1VAl610mMeprmKBFBPRiqkoGzvuMFzZOM7+WIhZr6fvtKHA0Mc5lKFi1dKRPfESl0rclrl+9SiShTvfL1r2l89KL+sMsKF8gpuNEya8GPxFEDtM8LBuNjW8xLK6S+8Xeo4YlBMWUvpNr6ysXwxATfOVlJrtlhCNBR/wAWgSqU8aDGKF8zAZ1F03FbqmJgkvHeX2ag5bzBsuPJ1glRpyma5i9YGxloBXuyYQGHjEcCVDd99Q/K6G+/EGRct2OsxUpYwbzzZUvQRXbnzDWhpcvWBKbHAbhfSfVBToLE86lZuX6y8XWY15mZuDa7nUdTKjUwcx6JdZCf8hgddfgYgKq5UGdyykXuRcgxDzFjGSLDTE5T+6GGeJY6ZWVU2XgpxAwaNlpfWFkg5KIMsPRQ+kYB7zL5VNpVoCzp5n2ipfpsA+sarJ8n3ZTWPzkyomImtxN7l5yBBaitTWXiVe8zBfpuGVzMJwg+4Ff8hCWdMX6oz1DrLVJm+ZquC2uZrJo3KeZZBpXhloJiWRN1VxM6lCnxCTWHiWba8Ri1L7ThjtUsae06meJXAL8QYwHpBCqywPELxNqqN4zLm0ix6RFrmLRFz1gi0MogG7mNsFf8wcChX17QGEUjjVSyi1A1cCi9xFWJDqiGEmczzBZglpie5FxDJZH5Yt49YdLMHmsReCJVHEampg7/AMReamGJwhhuBqEdZm1MpdqXn7wQfMoTOgoP+fDblLk6+ZmOD2iUFx1Mzx4mrOOZcFM0oSPWLG54y7c0XLmpd1qb0104hfIic4y6lazvmHBVeCYHrCMw5sYFTvjtxFGEp7TLUIdy0FNoL7H4gWlDLW3/AKQRWtr+SJkQthl4zKOSGm6hOLgNZc95cuNFdRaK3FsMVAZqiwVAKzqoh/5KZZm8my4leX0ixhivnEDioJiVyg8TBFWgaJmEUkl6BBgCGvb/ANeuEAZXw++5uo5DT4YN7qYMsNq3UDqwau8wHnEqq5fhZopYHWUMxYC4oU3qV6+5BrvFYR2lzdxslwqlO77Qi0Zku5XzFXDBVWc+8Eq1BeOOsPjY0Zf+wsvDPFfUi+FHrA9niGHMCpvoPMViJ1ijlvvKUgVoYoQeD7wsFx0M3AMCzJGoBmOs+sbxsRk3HqlYnMtG9QyAWjcoMRZdPmWvaGhKc2cR1ucbx1SVjABKCuD1hoOn/WyxdFAEmL3ERtPWsw6x7k9ZtlP/AJswLxGMN+WVuGoSEBZkgBmEhmBxPZj1M6VhfVRFXZc300RUzAmLwd4Im77S1aYlno57MYNqOU0BGHIXoHvNeBanyYIWm9q3FUKKT1T/ALGWbOEb8SyGoQIZiNi7lRbV3bJKBTja16TWo4U4ZRVa4igLcEpw8QkM99xx9n8JVuBeGIUXW4DcWMNEyNNzY7RDeOrG7vdMmO6ju5gd1NuZeeOMSu1N8ys0DMBWigv3/wCxhX1IMPgjLt3MrH9zdipR1mDHGINilsDF0N2yTrD7O4iap2ZiCutxq+WYr0E0hRnWe3GTaCZpzuGYTttgHM6xt/xxFaN/wNeczWpmOpjN4hhvDcAMVon5/wC2m3gr8RB8jDVYnanJMTRLQZxCzGY02gqpYdy8mYL4JsNXBnZ7RVuyUsV8EVi+qjeWvmXL6xHDUvK1HfEw8wb0mQxKK0hgavMNHzH3/wCxgq4fNuEsMbpL+RUPMx6lSYnaRLzZBdIXpM1n6x25xC9DiBWcImoC7x4lTe4lXHXUdlR1uZTEK9QDULaQHcNSl6rL94Igmn/rB3QKxCna/MJcGY3F27TYBB1n2nZe8a9HrGtJ1axHmhKa5nbMSgqqWAyj+p0YNOso4h0MTNYSne515TV5PEszW5oxUxVzABUIc8QHlzmGy+T6a/2bjZfFrcoinK2LgpqtbkIloatVSONL/tJjkfEzLaZRb4h14+02JG9tx2oiGz4nXHrOWpTirnaStMYmealeyGmIRXMxZH3g4KgdtonSiWbJlCi41Z1Hc6mQxKczTcNsdZVUDHse+eP9KVLbysHS0d6DWbPjUB6ED0D3lk3HxCxLy47sOXUqoVbcAwVesbBvUYaJQF26XF2If7cYosP1fpLzzcGXH8R1czXM8zsVUAfrDLJFLH0hZ1GTQylyfMtccR+SNjFx/wCoV2QT4ZT4ljU5iFWoJmOce8Ksr3QM4MRAlR0AHDDI3SvL/QlBqIiVidEtXgPAYP49iNwEw7gHfqGwUCIuY4LtUla44DF3v/aRXbS84Jc1z1jZu8Q1oIi0HmVCaQMHh6ywuOkx5gNyo6g7hOaIMOgphhaQHaprXzGapZMkyFhCtV9IcuJiLg8fE5alORMeswSuI5WYSDKKsh291OT/ADHaO9JrGAa61/BrKD6s2IStByVwzLcrVktxnAraBpj5eFJqOaME0eKD/ZXMar2jjXLHY4jWK/uC410j84mG5fRVQ9YgjQoOUUcwqMRzwe8sOrqWXccf6lusEsAuC0BBp0JUJDth3knZuWtKt12lr0ZqCO2E5iZbmLVZl0OYCTRiZ9aCGDnR4fH+LP2fT+P0/WWzDhJSt0ALAHCyuLeip4PimwZVeP8AZb4HeWjpFFyrjMXKllDfXrA4J+xPTSqBhSJSOWmXHb+Ii6r1mDhIY6IHdL9U88xajbqwnJDxBdFfwbGPeIBqCGoLJ3Q895WJ2EWOsVOKjWekXJZGZEdbkhE47f4CTBFCpvWmyzsjz/DqhmGLjPCqDvlvfgzkrAK8KCDyaJiNCu5AUrH+xVwaodWW5yMBu7mR8QV5gDmHxGughnBbwY0kR0qKOmLZySjKQDRVxFYqYKCGGAg5OIPAtkCsj+INYJWriJiUYbgNsQq53/AmcSxriEIGL6Rw7t1Hq4AadejDhDu6YIljY/wbg+FONALAJdFJA9DoGjgkXoCdbgw8VYQoxg2MAdW1MttM2QzrqCGQobnW4V+nJBK8HFf6xqARuXRxdA2uWiekJVmZk3iG2KhrHMHD7wHSVCzMsQTMWGdS1axG+bKgnK+kW6xUpYzB1XWF22AXX9xr7QPSEcShcodiIFXFSVFyTL1geye5jYVzKz3gJqYcQ0THOVYRr3iY5GOZuACe+hWrqb/wrrFSJTeR7xUOWCK96/j/xAApEQACAgEEAQQCAwEBAQAAAAAAAQIRAxASITEgBDBBURMiMmFxBSMz/9oACAECAQE/APPN6qOPhcslKeR2yMF/pGNf0VZtH0Q6ZZ2UTTXZh9Tt4l0Jpq17zdGf1Tl+sOiMfkUY9vkTk+kJfb0Y2qIfxGLRp/BJ88mLNLHyuUY8kcite42krZn9Q5ul0RjQlzzorYkOSRJ3yNkH+o3yWIbJJS4ZKLgyE2ncezDmWRf37fqs1vYiMPkSEi0uhyS7Y8qQsl9DlbK5IcRJdm5EZHDJfTFL4ZKG3/CGRxaa7MWRZI7l7OfL+OJCF/syiq5ZORPNQsjl0fjmyOOXyRiJUPkZKy5RF6j4I5YtUxr6IzJRS/wwZfxS569mUnmyX8D5dLo65MmRLln75OuER9PBd8iil0VrelFDSZLHFjwV/EUpQ4Zw+UQfwONcHpp7oU/jz9TPbCvsS2KvkSpGSfwuxQS5fL8aEiihrxcU+xxlj66E75RW9Hp5bZ+eZ7snPSIcvczJOkR+9VrWrRRRQ/Bx2O10QlRP9XuRCSlFNeTe+RfwibtifgnohLxsel6SjaIxtURe5Uejl+rj9eOaW2DZB9sk9sReCEIWj8X4IXEif6u0ell/6f74+sf6JGNXSM7+BLWhCEJFeFaUUUUIkSVrk9M9uVX4+s7RiVKzJzLSMW+jaxIpiEhJFG0cTaOI0PSiiirRj6aJPZkT8fWK5pEEkirbYo2xSjHgjOI3F9G2xx+S6Nwpm83oeQ3tllWbC4pjl8nEuuCqEqkZo2rIO4p+HqF+6YuIiXA+hUhSHQ8jSPzG62XpY5HZaQpIWT6LbGkyvscUK6GvknHcjA//ADXh6jtD/gVSJMchNijJ/A8U/ofHZ/g7E7Ksobo5ZQmRhJ/A012WWRGuCPKPT8RafhmVtGT9eDI6GyMXJ0Y8UVw+WKCSJSxzilHsy4YTMkHjkR5XJVEOyRQ+DmTpGHBGHfZD8aT3PkePhGTEn12NOLpkZHwQ7oxRq/CeZymkSe6Rk7EimuiE9pH1MWuT88SWdvhG1y7FHbwhkRkRw3cG1x6IZpLsXqIkvUonLcxR+yqICdSPzbJUJ3pldQb/AKMWa8tMx8sn2LRxTNrFAUUhy+hsbsj2SE+SxSKTHj+jaytGQJ8Mz5akmYHeNaZleOX+HpoRVuRg5J9+bGxCHonrZRWlkOzM1dMzQpr/AE9N/wDNaNWqHGonpny0ZOxMRYtWxsQhrRMRWtjGQXJmd5DLG5xMCrGtcyfNHp21NGZci1ssskITI8jQ2tI6Nlll6YyXLs27mhKlWuSNTY+JIzK1eieliYh8jdCTasTFId9iYnRusss3FiOoNkUYU3Pwz49ytdlbmdwJqhC1TNxKL+BcG9ik2ONkI1yyyyy9YoyfxSRFN8Ix41BeOXBu5j2RhKMKkTQxa2VpQ0JUVo/CxECUJSlwjHiUF5zVomuR6JliFokzY2fjbPxscWh+KMaF17DMq5H4JiViikb0j8kRZEfkFL7JV2N3pQhGGPPtZ4/I1qyiKS+RJM2pjxRFiXyKCQ6JbRiWiIowx49rJHcicaY9UyxZGiOeL7Fkj9n5I/ZLPFdEsjl4oxxtkVSr282O+UNeW2z8YsRtrVi0ijDCufcaszYvkarVCRFCRQ0NeCVmHFfJ17uR0rJ41LlDhQ0IQhSHIbGxsoqzHFJpMSpe9l/iWPnscRxEIvRvRLTdXR6dXNe/m/iWbixjWlm43Fll6em4l7+d/qNlllll6VpelaYnTE7971L4oet6XpRQkVpQnRgnarw/6XqPwYd3264P+d6v83q0oqlT9nPO5D8KKKKKKK8Mc3F2Qmpa5MUMiqaTX9mP02HG90IJP+kvYzZNiG7d+CKKKK80RkQzfDE0+vZbpGWTb51Wi8vgZVD8EQm10Rdq/D//xAAtEQACAgEEAQMDBAIDAQAAAAAAAQIRAwQSITEQIDBBEyJRBTJhcRQzBiORof/aAAgBAwEBPwD14NJLJzLhEMccapIbf9Dkizd+RUZX9yGuDobI0zUaTdzHsacXT95Jt0jTaRQW6fY2uhyk+FwVFdsbfwiyNCRk/chdDXhNfJFWuDPp45Fz2ZcMsTp+4k5OkafTRxq32Nj64EjhDNtkUJUjLW5EVwUUJEW1yKSkjLiUlTXBnwPE/wCPb0en2rfLschlm1vsjBvpCwt9koJdlNIb4J8yIdG1jg/kpojXaHH5RGV8Psy4lKNNGbE8Utr9nS4t8rfSJSrgujl8Ix4zHp75GoQ7ZLUY0Tzp9EpjlfYuCPJCkJxkuR6dPolgkuUL+ScbIyvg1OD6seO/YSt0jHFYcdfIuFb7OzFib6Hlx4uuWT1eWXzQ5N9l+L9Fik0RyyRDVyXEuT7Mv7RpomhO0avHtyWun69Hj3ZLfwXud/CG3JmOCSt9E8jlwuEUV6H4sv0qTT4MeVZeJdk406Ze1mrhux+vTR24v5ZPj7UY4X2Slfl+mxMssTF5RCf1I0+zJEj9y2syQcJOL9UVsj/Ql8sSqIvD8vw2X4XhC8UUJ0xyvkktrs10ampfn06eO7IkTXSILdIkIYx+GPwvC8LyvMXwLlUa6H/Wn+PToY/e2TdcmBfI3z4bLH4Y2WWLyi/C8xfIuGayO7E/ToPkyu3Rj4h4ckuxKxxdWfNDQ2SbNxuFI3ikWL0JnRP4Y1vg16dBxFsnJ2N0khyo2SfbJRlxTIxmuxtVyUroeLjgcCWMeMWNixCx0hYmxY0uxUbW0bV0Si4/yXZdwoxP4MiqTXo0b+2SHzMb5IvkabHFkJTQqb5Pp2NUqQ1ZRtFEoSL/AASivkc0ukfVkj6kiOSSJNWRZjlTNQqyy9Gk6Yv3idsxxNpsY3FfIskL7Iwb6ZVdlJklQ3QpWI4L/A4PtkpRXyRSl0bTaTXIuGSe1msS3pr5Xo0r7SMfLsxohQ5KKsz5ckluqkZcjs++LbfRh1M8dUY5LLj3EpJPg3WTsi2J0R5IRUI7marVSm2kOU3TRjyuzBlmlclaHtauJNWNck+rNTK2l57MWk2Y20JbYGNcG6iE/wAk6yInoZdI/wAGS6IaNR5kPLtX2oc3J2Qdk0JE+De1yhZt/wC4yaaMuYktE7Mehfy+DHWKNIlltjkTXJVxFpVmhfySTi6fjTrdliv5RPAv8a49mdJcEOhiFNo+rwfWdUSm2U2JEFRMiicbRRVCm10LO/kWRDlfiiaMC3KjSYfskn/ZrVWeXjTussf7RqMk5bYR6NXHa0Y+hoa9KIoRIiMkvDKEyxIoydGki3HcjT5N8G32ka//AHvxF00yE7yWfqEftTMPRQ0NDXlIihkhM7HwPxRRQhGXo0q26dGmyVimzWS3ZpPzppJNWayKlidM0748Pw0V4QlSGmStEW7IpklaJcCEUUUIzdEOMaiKX01Ibbdvzgmp4kQVpowOnRQ0UUUMgOPJVkocmwWN7SuBpM20JFFCQ+D92RIcm+LNVJQxNL59GkzrHLbLpjm8fNWVtysi+BjXhjQlRDJCUfu7Hmr8DWOXI3jjyR1ddmbPGSqKPkqyiijokzBW6UpfBOSinJ9GbM8srfp0+sePiXKJZoZMu6JB8eGiiihss3EZMcnITvvwkIoooZN8GPNjhB7n38GbPLK/49eF1IxvgQ/LGUKNii0+iMW+kLGxxrsSF5YzM6Q3b9iLpmF3EXo2myV9GPTyfZDSH+LJdIeml8IejkuyWnJ6WV/abdrpliYxmpnUfa0k7VCYh+FJojqH8oWaxyn8Ec2VfI88+0LJOXZPKomTNKfHixDZJ8Gplbr2sGTZIjK0LzRRHvkTmuh7yLmuEhuXzwTfJXoZlnSJy3O/b0ub4YvSzfR/kNfI9Q38m+yxeH4k6NTlt0vcjJxdo02oUlTFyV4sZKxssiJi8MfBqM9cIbv3dMrnRjyOPEhNPw0MaHA2CiKPozTe1tDbbt+9pv8AYihcdCkXY0NFDQkJFFM2r5NY6xv39N/sEiiheKs2Gw+mbUiq8Nms5g/f0iuZERQkULxZZY5DY2Zlaoap172jj2xeExC8ORuNw2OQ34kjU49sr9H/ABX9Nj+oa542k2otpPq+Fz/7f4/PB/yn9KWj/R5Sm7lcfjr+vZ02PbBCLLFIUiyyxsssb85ManGieJx86fVZ9LPfgm4v8ptP/wCGo/VNbqYfTzZpSj+HJtf+N+xp8W+VvoiqVeL8pm43G4ssfoROFmTBfKGmu/ZirdGKKiqRfPh9+GWX6WPyhjROCa5JxUXS9H//2Q==",
"objects@common_capturer_uld_fda": [
{
"id": 1,
"class": "face",
"templates": {
"$template10v100": "T5JnWgcfMPHQANMdP8NA8FwPQJLc5TDfcJFVFS/tYgEw9yNCISDQAiGU9iVQDwAA0BM6AhOQAcorXw5b/msC0AzwvQJfO34SzSACyQ9qYvom8gAMAHQP3lBgyQB/weXffCAPC1bUxw4GA10E8DADewH70SNzBsBdCwQRDyAPNTAfAOHjEAICAuQSAR8uEjQPVBIB3j2xCbDuTbAdIMGRLgAhFwIfDdQlUcID/w4/LfDvMEABQOEn4w8uBvAeFz/k0UAgA/QjDwESnA/0cDzAE9UCAO61JwEjEgAvINNRDhkdCUEg5UEO9ycL9FHzNBGSAmxABf4GK3QCnSFh8SAQAUIRJAWxTCQVAAHF4E1SIBAfIn2eMReb0g=="
},
"bbox": [
0,
0.21308482869466144,
1,
0.9869169769287109
],
"$cropImage": "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",
"keypoints": {
"left_eye_brow_left": {
"x": 0.1554061550564236,
"y": 0.3466766866048177
},
"left_eye_brow_up": {
"x": 0.25802788628472223,
"y": 0.3236322784423828
},
"left_eye_brow_right": {
"x": 0.3854702419704861,
"y": 0.3430420430501302
},
"right_eye_brow_left": {
"x": 0.6136109754774306,
"y": 0.345932362874349
},
"right_eye_brow_up": {
"x": 0.7370150417751736,
"y": 0.3286321258544922
},
"right_eye_brow_right": {
"x": 0.8359405517578125,
"y": 0.35814239501953127
},
"left_eye_left": {
"x": 0.21608330620659721,
"y": 0.4157813008626302
},
"left_pupil": {
"x": 0.30088453504774304,
"y": 0.4109149678548177
},
"left_eye_right": {
"x": 0.3838650173611111,
"y": 0.4230572001139323
},
"right_eye_left": {
"x": 0.6079323323567708,
"y": 0.4287389628092448
},
"right_pupil": {
"x": 0.6891607666015624,
"y": 0.4170384724934896
},
"right_eye_right": {
"x": 0.7724110243055555,
"y": 0.4233682759602865
},
"left_ear_bottom": {
"x": 0.1043272230360243,
"y": 0.5988115437825521
},
"nose_left": {
"x": 0.3953646511501736,
"y": 0.5805702209472656
},
"nose": {
"x": 0.4884576416015625,
"y": 0.5780504862467448
},
"nose_right": {
"x": 0.5848392740885416,
"y": 0.5861359659830729
},
"right_ear_bottom": {
"x": 0.8565327962239583,
"y": 0.607865956624349
},
"mouth_left": {
"x": 0.33830030653211807,
"y": 0.6955980936686198
},
"mouth": {
"x": 0.4904075113932292,
"y": 0.7090469868977864
},
"mouth_right": {
"x": 0.6333636474609375,
"y": 0.6958428955078125
},
"chin": {
"x": 0.4895579020182292,
"y": 0.8763695271809896
}
},
"age": 23,
"emotions": {
"neutral": 0.9834117889404297,
"angry": 0.013813868165016174,
"happy": 0.002322095213457942,
"surprised": 0.00045228638919070363
},
"gender": "FEMALE",
"liveness": {
"value": "FAKE",
"confidence": 0.801980197429657
},
"angles": {
"yaw": -0.8611235618591309,
"pitch": -15.951218605041504,
"roll": 1.7437981367111206
},
"mask": {
"value": false,
"confidence": 1
}
}
]

}
}
}

Создание сэмпла

Мутация позволяет создавать сэмплы с атрибутами лиц (пола, возраста, эмоций, ключевых точек, liveness, наличия маски и т.д.).Созданный сэмпл автоматически сохраняется на OMNI-сервере.

createSample(
anonymousMode: Boolean = false
image: CustomBinaryType = null
pupils: [EyesInput!] = null
sampleData: JSON = null): [SampleOutput!]!

anonymousMode: Boolean = false : При работе с анонимными данными можно установить для anonymousMode значение true (по умолчанию установлено значение false). В этом случае изображение не будет храниться на OMNI-сервере.

image: CustomBinaryType : Изображение в формате base64

pupils: [EyesInput!] : Для повышения точности детекции лиц можно установить X и Y координаты зрачков.

  • EyesInput!
    • leftPupil: PointInputType!
      • x: Float!
      • y: Float!
    • rightPupil: PointInputType!
      • x: Float!
      • y: Float!

sampleData: JSON : Результат детекции лица, не сохраненный в базе.

SampleOutput! : API возвращает JSON-файл со следующими параметрами:

  • id : ID сэмпла
  • creationDate : Дата создания сэмпла в формате ISO 8601 с часовыми поясами
  • lastModified : Дата последнего изменения сэмпла в формате ISO 8601 с часовыми поясами
  • data : Изображение и/или шаблон и/или результат детекции в формате сэмпла

Возвращенный сэмпл автоматически сохраняется на OMNI-сервере (если для параметра anonymousMode установлено значение false) и может использоваться для верификации лиц или поиска людей по базе.

Ошибки входных данных:

  • Отсутствуют входные данные для создания сэмпла:
{
"message": "One of the parameters sampleData or sourceImage is required",
"code": "0xnf5825dh"
}
  • Переданы неверные данные сэмпла:
{
"message": "argument should be a bytes-like object or ASCII string, not 'NoneType'"
}
  • Переданы неверные координаты зрачков:
{
"message": "0x8905a659: Assertion '( transform_m(0, 0) * transform_m(0, 0) + transform_m(0, 1) * transform_m(0, 1) + transform_m(1, 0) * transform_m(1, 0) + transform_m(1, 1) * transform_m(1, 1) ) > 1e-5' failed, error code: 0x8905a659. wrap code: 0x7df96daf."
}

Пример запроса:

mutation{
createSample(image/sampleData: "your image in Base64 format or sample data"){
id
creationDate
lastModified
data
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"createSample": [
{
"id": "3f7352c9-94be-4449-aaa0-b93a3812e1c6",
"creationDate": "2022-04-28T06:23:45.902315+00:00",
"lastModified": "2022-04-28T06:23:46.450993+00:00",
"data": {
"$image": {
"id": "3403c21e-44e1-4ea4-9e57-2d2c0933861e"
},
"objects@common_capturer_uld_fda": [
{
"id": 1,
"age": 23,
"bbox": [
0,
0.21308482869466144,
1,
0.9869169769287109
],
"mask": {
"value": false,
"confidence": 1
},
"class": "face",
"angles": {
"yaw": -0.8611235618591309,
"roll": 1.7437981367111206,
"pitch": -15.951218605041504
},
"gender": "FEMALE",
"emotions": {
"angry": 0.013813868165016174,
"happy": 0.002322095213457942,
"neutral": 0.9834117889404297,
"surprised": 0.00045228638919070363
},
"liveness": {
"value": "FAKE",
"confidence": 0.801980197429657
},
"keypoints": {
"chin": {
"x": 0.4895579020182292,
"y": 0.8763695271809896
},
"nose": {
"x": 0.4884576416015625,
"y": 0.5780504862467448
},
"mouth": {
"x": 0.4904075113932292,
"y": 0.7090469868977864
},
"nose_left": {
"x": 0.3953646511501736,
"y": 0.5805702209472656
},
"left_pupil": {
"x": 0.30088453504774304,
"y": 0.4109149678548177
},
"mouth_left": {
"x": 0.33830030653211807,
"y": 0.6955980936686198
},
"nose_right": {
"x": 0.5848392740885416,
"y": 0.5861359659830729
},
"mouth_right": {
"x": 0.6333636474609375,
"y": 0.6958428955078125
},
"right_pupil": {
"x": 0.6891607666015624,
"y": 0.4170384724934896
},
"left_eye_left": {
"x": 0.21608330620659721,
"y": 0.4157813008626302
},
"left_eye_right": {
"x": 0.3838650173611111,
"y": 0.4230572001139323
},
"right_eye_left": {
"x": 0.6079323323567708,
"y": 0.4287389628092448
},
"left_ear_bottom": {
"x": 0.1043272230360243,
"y": 0.5988115437825521
},
"right_eye_right": {
"x": 0.7724110243055555,
"y": 0.4233682759602865
},
"left_eye_brow_up": {
"x": 0.25802788628472223,
"y": 0.3236322784423828
},
"right_ear_bottom": {
"x": 0.8565327962239583,
"y": 0.607865956624349
},
"right_eye_brow_up": {
"x": 0.7370150417751736,
"y": 0.3286321258544922
},
"left_eye_brow_left": {
"x": 0.1554061550564236,
"y": 0.3466766866048177
},
"left_eye_brow_right": {
"x": 0.3854702419704861,
"y": 0.3430420430501302
},
"right_eye_brow_left": {
"x": 0.6136109754774306,
"y": 0.345932362874349
},
"right_eye_brow_right": {
"x": 0.8359405517578125,
"y": 0.35814239501953127
}
},
"templates": {
"$template10v100": {
"id": "708a5da8-104e-4b83-9f26-ec0329e08b89"
}
},
"$cropImage": {
"id": "3cf0792f-1dde-4e8b-841a-c18330080d21"
},
"quality": -540.9627075195312
}
]
}
}
]
}
}

Верификация лиц

Запрос verify() позволяет сравнить два сэмпла и определить принадлежность двух изображений лиц одному и тому же человеку.

verify(sourceImage: CustomBinaryType = null
sourceSampleData: JSON = null
sourceSampleId: ID = null
targetSampleId: ID!): MatchResult!

sourceImage: CustomBinaryType : Изображение в формате base64

sourceSampleData: JSON : Результат детекции лица, не сохраняемый в базе.

sourceSampleId: ID : ID сэмпла для сравнения с ID целевого сэмпла.

targetSampleId: ID : ID сэмпла для сравнения с исходным изображением, данными исходного сэмпла или ID исходного сэмпла

MatchResult : Результат верификации со следующими параметрами:

  • distance: Параметр показывает дистанцию между сравниваемыми векторами шаблонов. Чем короче дистанция, тем выше степень верификации.

  • faR : FAR (вероятность ошибочных подтверждений) показывает уровень сопротивления системы ошибкам ложного распознавания. Такая ошибка возникает, когда биометрическая система определяет новое лицо как ранее распознанное, т.е. принимает изображения разных людей за изображение одного и того же человека. Коэффициент измеряется количеством ложных распознаваний, деленным на общее количество попыток распознавания.


  • frR : FRR (вероятность ошибочных отказов) происходит в случае, если система не способна распознать ранее обнаруженное лицо, т.е. принимает два изображения одного и того же человека за изображения разных людей. Коэффициент показывает процент попыток распознания с ошибочным отказом.


  • score: Параметр показывает уровень верификации от 0 (0%) до 1 (100%)

Ошибки входных данных:

  • Не передан объект сравнения или передана неоднозначно интерпретируемая комбинация:
{
"message": "One of the parameters sourceSampleData or sourceSampleId or sourceImage is required",
"code": "0x963fb254"
}
  • Отсутствует сэмпл по переданному ID:
{
"message": "Sample matching query does not exist."
}
  • Некорректные данные переданного исходного сэмпла:
{
"message": "'objects@common_capturer_uld_fda'"
}

Пример запроса:

{
verify(sourceSampleId:"fa76e8a4-3c90-4007-a72f-94d5fc655c36", targetSampleId:"a2d852e8-aa00-4403-bc5d-f8b94cc183ca")
{
distance
faR
frR
score
}}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"verify": {
"distance": 0,
"faR": 0,
"frR": 1,
"score": 1
}
}
}

Идентификация лиц

Поиск по профилям

Этот запрос позволяет выполнить поиск человека по базе. Функция search() используется для сравнения одного сэмпла со всеми остальными сэмплами в базе.

search(confidenceThreshold: Float = 0
maxNumOfCandidatesReturned: Int = 5
scope: ID = null
sourceImage: CustomBinaryType = null
sourceSampleData: JSON = null
sourceSampleIds: [ID!] = null): [SearchType!]!

confidenceThreshold: Float = 0 : Чтобы исключить совпадения с низкой достоверностью из возвращенного результата, используйте параметр confidenceThreshold (мин. значение: 0, макс. значение: 1; значение по умолчанию: 0)

maxNumOfCandidatesReturned: Int = 5 : Чтобы установить максимальное число возвращенных кандидатов, укажите значение для параметра maxNumOfCandidatesReturned (мин. значение: 1, макс. значение: 100). По умолчанию возвращаются 5 ближайших кандидатов.

scope: ID : По умолчанию поиск человека выполняется по всей базе лиц. Для поиска совпадений по конкретному списку укажите ID списка в поле scope.

sourceImage: CustomBinaryType : Изображение в формате base64

sourceSampleData: JSON : Результат детекции лица, не сохраняемый в базе данных.

sourceSampleIds: [ID!] : ID сэмплов

SearchType! : API возвращает список кандидатов по каждому запрошенному сэмплу в порядке убывания достоверности. Результат поиска включает следующие параметры:

  • template
  • searchResult
    PersonSearchResult
    • sample: SampleOutput! (id: ID!, creationDate: DateTime, lastModified: DateTime, data: JSON!)
    • profile: ProfileOutputData! (id: ID!, info: JSON!, lastModified: DateTime!, creationDate: DateTime!, personId: ID!, mainSample: SampleOutput)
    • matchResult: MatchResult! (distance: Float!, faR: Float!, frR: Float!, score: Float!)

Примечание: исходные данные сравниваются с профилями, созданными на сервере, а не с сэмплами. Таким образом, перед запуском поиска убедитесь, что у вас создан хотя бы 1 профиль.

Пример запроса:

{
search(sourceSampleIds:"fa76e8a4-3c90-4007-a72f-94d5fc655c36"){
template
searchResult{
matchResult{
distance
faR
frR
score}
sample{
id
}
profile{
id
info
}
}
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"search": [
{
"template": "T5JnWuAN4j5MHWRP7tDj7/AOcg9S8AWw4AAQZwJAHeMRw1MUGfkxFTTVUALbWmAHBHJTBKM9LfMgwCUvXlQgAizEAzwP0BvkQDHQfykA4ZDvHrkDFhCvD3Eh73TSD+UQTMDSQBPj4DAtYBEi/wDQMH9A8PMObwQQAFHDAgMOAQHjMB+vEHc2Q/ACH/EHAw+9MPUDA+ImodYPbeKv7Q9/Xw8wD39CPQpQd/wrfwPcZRDSIgkj0PEA8L0NZNoAIdACER8Q/hAQPQAa8UDdovBN6eXBAHUwQOC7DjECPjBQ5FJBE+MNPeAB1OUPEW787jBCAsHQkBCSRXD0MHEP4E0O49IgQ7MBGyBEDyMldtHx4RT0MH9MMReb0g==",
"searchResult": [
{
"matchResult": {
"distance": 0,
"faR": 0,
"frR": 1,
"score": 1
},
"sample": {
"id": "805be807-dd89-4265-9ee7-bbdc19473136"
},
"profile": {
"id": "fd606132-9757-419b-97d6-d8cdd67ed476",
"info": {
"age": 25,
"gender": "MALE",
"main_sample_id": "805be807-dd89-4265-9ee7-bbdc19473136"
}
}
},
{
"matchResult": {
"distance": 9356,
"faR": 0.31920063495635986,
"frR": 0,
"score": 0.0000018477439880371094
},
"sample": {
"id": "c18b3a5a-ccfb-4785-9248-b7ce90052754"
},
"profile": {
"id": "218db30f-b6ff-4a46-a83d-a0701005a12b",
"info": {
"age": 23,
"gender": "FEMALE",
"main_sample_id": "c18b3a5a-ccfb-4785-9248-b7ce90052754"
}
}
}
]
}
]
}
}

Поиск по активностям

Запрос searchInActivities позволяет выполнить поиск человека по активностям.

searchInActivities (
confidenceThreshold: Float = 0
maxNumOfCandidatesReturned: Int = 5
sourceImage: CustomBinaryType = null
sourceSampleData: JSON = null
sourceSampleIds: [ID!] = null
): [ActivitySearchType!]!

confidenceThreshold: Float = 0 : Чтобы исключить совпадения с низкой достоверностью из возвращаемого результата, используйте параметр confidenceThreshold (мин. значение: 0, макс. значение: 1; значение по умолчанию: 0)

maxNumOfCandidatesReturned: Int = 5 : Чтобы установить максимальное число возвращенных кандидатов, укажите значение для параметра maxNumOfCandidatesReturned (мин. значение: 1, макс. значение: 100). По умолчанию возвращаются 5 ближайших кандидатов.

sourceImage: CustomBinaryType : Изображение в формате base64

sourceSampleData: JSON : Результат детекции лица, не сохраняемый в базе данных.

sourceSampleIds: [ID!] : ID сэмплов

ActivitySearchType! : API возвращает список кандидатов в порядке убывания достоверности совпадения. Результат поиска включает следующие параметры:

  • template: String!
  • searchResult: [ActivitySearchResult!]!
    • activity: ActivityOutput ( id: ID! , data: JSON , lastModified: DateTime! , creationDate: DateTime! , bestShotId: ID, cameraId: ID!, locationId: String, profileId: ID, status: ActivityType!, timeStart: String, timeEnd: String )
    • matchResult: MatchResult! ( distance: Float! , faR: Float! , frR: Float! , score: Float! )

Примечание: Поиск осуществляется только по активностям со статусом FINALIZED и FAILED, для которых был вычислен биометрический шаблон.

Пример запроса:

{
searchInActivities(sourceSampleIds: ["fa76e8a4-3c90-4007-a72f-94d5fc655c36"]) {
searchResult {
activity {
id
creationDate
cameraId
bestShotId
}
matchResult {
distance
faR
frR
score
}
}
}
}

Пример ответа:

API возвращает следующий результат:
{
"data": {
"searchInActivities": [
{
"searchResult": [
{
"activity": {
"id": "87c3079b-c93d-49ef-a4d6-f8a4ddb0d1a1",
"creationDate": "2023-02-22T08:53:22.984437+00:00",
"cameraId": "7b896604-5a11-4604-8677-742297b192ab",
"bestShotId": "fabc0b78-054b-4169-96ec-6e39cc6f16c9"
},
"matchResult": {
"distance": 7975,
"faR": 0.026017505675554276,
"frR": 0.004508852958679199,
"score": 0.6593803763389587
}
},
{
"activity": {
"id": "ac7f1848-3270-47dd-9ed4-e119f24aef68",
"creationDate": "2023-02-22T06:29:58.757351+00:00",
"cameraId": "49a1f363-ed9b-428f-bd98-5901dde99618",
"bestShotId": "a47ba56d-5983-48e3-8439-d6b9231c3919"
},
"matchResult": {
"distance": 8044,
"faR": 0.030948175117373466,
"frR": 0.004176795482635498,
"score": 0.653989315032959
}
}
]
}
]
}
}

Ошибки входных данных

  • Не передан объект сравнения или передана неоднозначно интерпретируемая комбинация:
{
"message": "One of the parameters sourceSampleData or sourceSampleId or sourceImage is required",
"code": "0x963fb254"
}
  • Значение параметра confidenceThreshold передается за пределами допустимого диапазона:
{
"message": "Confidence threshold must be between 0 and 1",
"code": "0xf47f116a"
}
  • Значение параметра maxNumOfCandidatesReturned передается за пределами допустимого диапазона:
{
"message": "Max num of candidates must be between 1 and 100",
"code": "0xf8be6762"
}
  • Некорректные данные переданного исходного сэмпла:
{
"message": "'objects@common_capturer_uld_fda'"
}