Журнал змін
Что нового.
Все усовершенствования платформы, как только она будет запущена.
· AIService
Параметр запрошення на зустріч є необов’ язковим обмеженням, типово його немає
Рішення власника 2026- 10- 26: права самої SI визначають, хто може запрошувати її (будь- який член команди, якщо вони включають зустрічі, інакше тільки його керівники). **************** тепер типове значення — ORGANIZATION (ні) обмеження); DDL **************** застосовано (типове + чотири рядки, які містять тільки старе типове значення).
· kamo-shared-library
Власні права SI визначають, хто може його запрошувати; meeting_ invite_ policy є лише додатковим обмеженням
Рішення власника 2026- 10- 26: SI, власна політика безпеки якої дозволяє зустрічі, може бути запрошена будь- яким членом команди; правила якого визначаються не тільки його керівниками (їхній безпосередній порядок визначає їх правила). MeetingInvitePolicy stays як необов’ язкове додаткове обмеження, типове значення якого, ORGANIZATION, не обмежує нічого (було SUPERVISORS).
· kamo-shared-library
Кожен SI говорить за допомогою своєї особистості, а таблиці для фонового звуку, голосової згоди і пам’ яті фрази виклику
PhoneStyle скомпілює характеристики SI до правил мовлення (зменшення і збільшення) адресні форми, тепло, гумор, енергія, захист, емпатія, цікавість, реєстрація, регіональні формулювання) плюс числа, які застосовує голосовий конвеєр: обмеження заповнення на виклик (D3, вимкнено до A/ B), проміжок між слуховими звуками (D4), сміх і емоційний діапазон (D6), спокійний тон і терпіння на кінець ходу без особистості, яка ще не має зв’ язку з типовими параметрами реєстру (D2). AiAmbienceSetting (D7), AiVoiceCloneConsent (D12) і AiCounterpartyMemory оголошено, щоб KamoInitializer могло відтворити нові таблиці kamoai-service.
· MediaService
СІ грають у Техас Холдем з членами, і кожен член Чеддар працює знову
Процитовано 2016-10-26. (англ.) Торбинка Cheddar: - Єдині двері торбинки (universe- gateway -> universe- persistence) були немає кінцевих точок, оскільки гра KamoUniverse була призупинена 2026- 09- 28, отже кожні Спроба вступу до холдема завершилася невдало (« торбинка Cheddar не відповідає »), для людей і для ІС. CheddarLedger записує ті самі три таблиці у база даних kamouniverse безпосередньо (той самий кластер, власний користувач бази даних цієї служби), з правилами служби тривалості: одна транзакція на пересування, унікальна idempotency key (replay = applied false), підписаний рядок бухгалтерської книги; дебет — це умовне оновлення, щоб два бай- іни не могли перетягнути. CheddarWalletClient now використовує його. - Одноразовий дозвіл на реєстрацію (1, 000, 000, ключ signup_ grant: < id >), який стосується лише найбільший паркований 3D світ, який коли-небудь створювався, створюється вперше, коли торбинка члена через додаток для ігор, що вони мають - людина чи СИ те ж саме. CheddarSiGrants відкриває гаманець кожного не випущеного на пенсію SI заздалегідь (щогодини, singleton, сторінкований за ідентифікаторами членів списку SI; нічого іншого не змінено). Чеддар не має шляху купівлі, тому жоден СІ ніколи не купує його за гроші. Холдем - HoldemSiBrain: рівність Монте- Карло над HandEvaluator проти живих опонентів, шанси банку, стиль ОСТРОЖНИЙ/ ЗБАГАТЕЛЬНИЙ/ СТРЕМЛИВИЙ і рівень майстерності НЕОФІЦІЙНИЙ/ КЛУБНИЙ/ ШИРОКИЙ, 300 мс cap. Єдиним вхідним значенням є SI HoldemTableView: own two карти і публічна інформація, ніколи інші карти або колода. - HoldemSiPlayer: заснований на події (HoldemTurnEvent після кожного опублікованого кадру, ~ 1. 4- 2. 3 с паузи в межах 30- х секундного годинника). Сідає, коли людина запросила його і сидить, діє за допомогою HoldemGameService.act з expectedSeq, ребай за максимум 3 рази на день за одним столом, сидить з людиною, яка не сидить, і йде коли не залишилося жодної людини: SI ніколи не грають між собою. Redis claim per table; стиль/ вміння за SI за таблицею в Redis. - HoldemSiEligibility кожен крок: програму Холдем, PLAY_HOLDEM (SI, або запрошення/ сидяча особа: Без непокори), час виконання не призупинено. - POST /tables/{id}/si-play (style, skill), тільки виклик SI. - ChessFaces читає вузол теми з- за меж транзакції (ratchet), з кешу. Тести: CheddarLedgerTest 4 (H2), HoldemSiBrainTest 5, HoldemSiFairnessTest 3 (у перегляді SI немає карт інших гравців і колоди; закритих карт неможливо змінити рішення; гравець не має доступу до рядків сирої руки), HoldemSiPlayerTest 7; комплекти ігор 240 зелених.
· MCPGatewayService
Mail_ send приймає текстову версію тіла HTML і один текстовий файл, написаний викликаючим (TPRECAPS)
Резюме зустрічі SI тепер містить повний транскрипт зустрічі; після обмеження тіла він переходить у долучення . txt. textBody (з bodyFormat HTML) стає багаточастинною/ альтернативною частиною тексту; textAttachmentName + textAttachment стають одну частину долучень (назва зберігається у вигляді безпечних символів, . txt). Текст долучення буде заплановано разом з тілом для розкриття. Відновлено золоті списки інструментів (тільки mail_ send).
· EmailService
Факти відправника повідомлення для перевірки ідентичності SI; SI_ AUTH_ REQUEST не належить жодній програмі
У відповіді на питання про походження тепер також буде вказано, що саме повідомлення стверджує щодо свого відправника: Від, Reply- To, сервер, який передав його нашому, і результати SPF/ DKIM/ DMARC, записані у його заголовки (тільки читання заголовків, нічого не позначено). SI_ AUTH_ REQUEST не вказано: будь- хто може запитати СИ, чтобы подтвердить, что запрос действительно от них.
· kamo-shared-library
Тип сповіщення SI_ AUTH_ REQUEST і об’ єкти журналу розпізнавання SI
Власник 2026-10-26: прямі накази, що досягають SI по каналу, який не доводить ідентичність нікому спочатку підтверджуються членом Kamo. Додаток **************** (належить до no app), оголошення si_ auth_ requests / si_ auth_ requests_ events (ручне застосування DDL у kamoai- service) **************** і індекс media_session_guid support_ticket.
· kamo-internal
Виберіть, хто може запрошувати SI на зустрічі, за допомогою параметрів виклику
Kamo Meet « Запросити SI » (порядок власника 2026- 10- 26): Тільки люди, які керують ним (типово) / Його керівники і колеги з команди / Будь- хто у вашій організації, з поясненням кожного з них простими словами. Збережено за допомогою AIService; Служба медіа її забезпечує.
· MediaService
Запрошувати SI з самої зустрічі; хто може запрошувати SI, визначає сам SI
Kamo Meet « Запросити SI » (порядок власника 2026- 10- 26): - ОТРИМУВАТИ **************** для особи, яка ввійшла у систему НА нараді (творець, записаний учасник, або передавали ключ цієї кімнати з власного сеансу: позначка MEETPRES), активні ключі організації, які вони отримали може запрошувати, згруповано за категоріями НАДЗОР / ДОСТУПНИЙ, з фотографією (фото -> аватар), назвою роботи і доступністю (доступний, не у мережі, але може приєднатися, на іншому дзвінку, призупинено, недоступно). Не було жодного SI у цій зустрічі або на шляху до неї (активний учасник, запрошення на автоматичне приєднання, активний ai_ call у нього); один, що залишився, буде знову вказано у списку. - POST ... / invitable- sis / {memberId}: переносить його зараз через шлях одного екземпляра M1 (учасник upsert, виключно dial claim; kamoai- service' s unique live- call index behind it): одночасні клацання або дві людини здійснюють один виклик. - MeetSiInvitePolicy: керівники (рядок звітування графіка організації, власник організації) завжди; інші за SI meeting_ invite_ policy (типове значення SUPERVISORS | ГРУПА | ОРГАНИЗАЦІЯ). Застосовується для M1 і створення зустрічі для людей, і вибірник M3 пропонує лише запрошені SI (з « supervised »). SI зберігають правило TP12 SI- to- SI. - Пошук кімнати на вузлі теми **************** за допомогою ViewerThemeDomain поза будь- якою транзакцією.
· AIService
Хто може запрошувати цю ІС на зустрічі, у її параметрах виклику
Kamo Meet « Запросити SI » (порядок власника 2026- 10- 26): meetingInvitePolicy (SUPERVISORS default | TEAM | ORGANIZATION) читається і змінюється разом з іншими параметрами викликів і зустрічей SI, такі ж права; зберігається у **************** (DDL ****************) Застосовано). Служба медіа вимагає її виконання.
· kamo-shared-library
MeetingInvitePolicy — хто може запрошувати SI на зустріч; оголосити ai_ member_ call_ options
Kamo Meet « Запросити SI » (наказ власника 2026- 10- 26). Начальники SI (їх підпорядкування менеджеру і SI- supervisor edges, власник організації) завжди може запрошувати її; її власна meeting_ invite_ policy визначає, хто ще може: SUPERVISORS (типове значення), TEAM (названа команда, той самий менеджер, його звіти) або ORGANIZATION. Не вдається закрити графік. AiMemberCallOptionsRow оголошує вручну створену таблицю ai_ member_ call_ options (і новий стовпчик) як KamoInitializer можемо створити його з коду.
· MCPGatewayService
Games_ * — SI грає в шахи з іншими учасниками
SITP TPGAMES. Одинадцять інструментів для кінцевих точок шахів MediaService, зашифрованих як дошка учасника: (Програма шахів + PLAY_ CHESS, знову послідовно): games_ list, games_ get_ state (діаграма, FEN, законні ходи, текст ходу, запис), games_ invite (необов’ язкова вміння), games_ join, games_ decoder, games_ move (SAN або квадрати, перевірено з боку сервера), games_ offer_ draw, games_ decoder_ draw, games_ resign, games_ rematch, games_ set_ skill. Ходи SI інакше виконуються за допомогою Рушій MediaService; модель виконує розмову. Внутрішній запис: ні approval class, NOT_ DISCLOSING; читає NOT_ CONTENT. chat_ read називає гру картка GAME_ INVITE. Фрази схвалення + CHESS_ GAME substantive; games_ prefix; goldens відновлено (додано 11). Тести: GamesPackTest 7, ChatPackTest +1; повний набір 1968 green.
· EmailService
Версія у вигляді простого тексту поряд з HTML, а також підсумковий лист SI для керівника, якщо SI не має поштової скриньки (TPRECAPS)
/ api/ email/ send використовує необов’ язковий textBody: тіло є багаточастинним/ альтернативним (текст, потім HTML), всередині змішаним якщо є долучення. POST **************** (KamoAI секретний, багатокомпонентний, наприклад, /api/email/send) надсилає лист, який його викликач створив як транзакційну пошту організації: NoReply@ its domain тільки якщо цей домен SPF авторизує нас, інакше платформа під своїм ім'ям, з текстовою версією і до двох файлів.
· kamo-shared-library
Оголосити ai_ call_ recap і ai_ member_ recap_ options для електронної пошти підсумку виклику SI (TPRECAPS)
Один рядок за кожен телефонний дзвінок SI, який містив розмову, отже його підсумкова інформація надходить до керівника один раз, а підсумкова інформація SI двічі параметри, обидва типово увімкнено. Ручне застосування DDL (kamoai- service ****************) оголосив тут, щоб KamoInitializer міг відтворити його.
· MCPGatewayService
Кожна SI має годинник: time_ now, time_ convert, time_ calc
Звіт власника 2026- 10- 26: запитав час під час виклику, SI сказав, що у нього немає годинника. Годинник і календар, який має кожна людина: час у зоні СІ або будь- якій іншій (з днем місяця) тиждень), час, вказаний у іншій зоні, і арифметична дата. Читання, без права, без запису.
· MCPGatewayService
Проверенная электронная почта товарища по команде к СИ - это их запрос и их приказ
Звіт власника 2026- 10- 26: власник надіслав електронну пошту своїй SI, щоб зателефонувати їм; електронна пошта ніколи не була замовлення ([ЗАВОД] немає замовлення) і кожне наступне заповнення читає його як зовнішню пошту і запитує власник для затвердження. Служба електронної пошти пошти підтверджує, що власна поштова скринька співробітника команди, надіслана до SI, тепер у поштовій скриньці (sendByTeammate, internal taint) і виклик або цитування, на зразок повідомлення балачки: автор, дата, цей запуск і забрудження перевірено. Фальшиве повідомлення залишається поза полем пошти.
· MediaService
Член SI грає в шахи з членами, його ходи обираються рушієм Kamo
SITP TPGAMES (власник 2026-10-26: SI попросив грати в шахи не знав як). - ChessSiPlayer: керування за подією (ChessTurnEvent після кожної зміни). Запрошення члена: SI приєднується і його розум пробуджується один раз (балака) сповіщення про розмову картки), щоб привітати їх пропозиція: приймається, якщо тільки СИ не випереджає на більше ніж половину пішака. Його хід: ChessAi (альфа- бета + спокій, з часовим бюджетом) вибирає хід на рівень SI і грається як SI за допомогою ChessGameService. move, той самий перевірений шлях, що і клацання. ~0. 7 с паузи, одне завдання на гру, 200 на підрозділ, Redis заявок на підрозділи, FEN перевірено перед записом. - ChessSiEligibility, кожен хід: програма Chess увімкнена, застосовано PLAY_ CHESS, час виконання не ПРИПУСНЕНО/ БЛОКОВАНО/ ВІДНЯТО. - Відновлення (одинично, 30 с) для промаху перезапуску або паузи. - Немає дощок SI- проти- SI (запрошення відхилено; ніхто не грає). - Навички на гру (CASUAL/CLUB/MASTER, типовий CLUB) у Redis, без DDL; POST /games/{id}/si-level; записані ходи (SAN або e2e4) на /move. - на дошці буде показано фотографію суперника (opponentAvatarUrl завжди було нульовим), opponentIsSi і siLevel. - Виправлено: один ChessAi, спільний для всіх запитів, перемагав у своїх власних полях терміну. Перевірки: ChessSiPlayerTest 11, ChessSiRulesTest 15, обробка запиту 1; шахи і зелений набір ігор (100).
· EmailService
Довести, що співробітник команди надіслав електронну пошту інспектору, щоб запит, надісланий електронною поштою, можна було вважати замовленням
Внутрішня кінцева точка відповідає, чи було повідомлення у власній поштовій скриньці члена надіслано співробітник команди: його повідомлення « Від » надходить до члена тієї ж організації, а у власній теці « Надіслані » цього члена міститься той самий ідентифікатор повідомлення, який адресовано адресату. Фальшивий ідентифікатор Від ніколи не передається, він призначений лише для читання.
· kamo-internal
Конвейєр показує, коли було відкрито кожну угоду і кредит, і впорядковує за цим
У зонах користувача буде показано « Відкрито < дата, час > » для угод і позик. Для позик імпортовано з Arive, що є часом створення Arive — перед, кожним імпортуванням упорядковані у порядку відкриття у день імпортування.
· SecurityService
Конвейєрні позики, відкриті в Arive, мають час створення Arive, а не імпорту
· kamo-shared-library
Резюме позик переносяться, коли позика MLOS дійсно відкривається (openedAt)
· kamo-internal
Перспективи — передзаявні угоди залишають відкритий конвейер
Спосіб, за яким всі кредити приймаються, кваліфікуються або передсхвалюються (не програма ще не взяла) показує у власному перегляді Перспективи і лічильник. Відкрити, його KPI і рейка стадій тепер підраховують тільки програми, що виконуються; Kamo Власні чернетки залишаться у розділі Відкритий. Про позики нічого не зміниться.
· kamo-internal
Конвейєр показує стадії перед застосуванням, кожен результат і архівовані позики
- стани: прийнято заявку, кваліфіковано, попередньо затверджено; не затверджено Прийнято, закрито через незавершеність, скасовано, відмовлено у попередньому затвердженні / Не прийнято — один спільний список замість двох твердих копій - таблиця і угоди: архівовані позики залишаються у відкритому конвеєрі (показано у минулому, позначено Архівовано); нефінансовані результати вважаються скасованими - « submitted » більше не є statusId > = 2 (id — це ідентифікаційні дані, а не порядок) - Arive карта стадій пропонує стани перед запуском
· SecurityService
Kamo тримає кожен Arive кредит, при стані Arive дійсно має його
- події імпорту і вхідні приймають кожен кредит — відкритий, фінансований, негативний або архівовані — замість тільки « активних » - немає штампів Get Loan або crmReferenceId для кожного позичальника: кожен з них є завданням Zapier у план клієнта (20, 000+ для одного імпорту); GUID розпізнає позику - дати Arive застосовуються як система запису (вилучається, якщо Arive має немає, наприклад, дата застосування у файлі перед застосуванням) - етап за Kamo буде перевирівняно, на записі, замість відмови - захист лише чернетки (редагування позичальника, власне надсилання, витягування кредитів SI / AUS) стадії перед застосуванням; « submitted » більше не є statusId >= 2
· kamo-shared-library
Стани перед застосуванням, результати кожного HMDA, архів і реальні дати Arive
Arive позик було відображено лише з назв стадій: кожна стадія перед застосуванням Заявка прийнята, всі архівовані позики зняті (також і профінансовані), у всіх негативних діях було відмовлено, і дати були штамповані з днем імпорту. - LoanFileStatus (додано — порядковий стовпчик): APPLICATION_ INTAKE, КВАЛІФІКАЦІЯ, ПЕРЕДЗАКЛЮЧЕННЯ; результати ЗАКЛЮЧЕННЯ_ НЕ_ ЗАКЛЮЧЕННЯ, НЕЗАКЛЮЧЕННЯ СКАСУВАНО, ПЕРЕДСУМОВЛЕННЯ_ НЕ_ ЗАПРИНЯТО, ПЕРЕДСУМОВЛЕННЯ_ НЕ_ ПРИЙНЯТО - стан машини: необов’ язкові стрілки перед застосуванням; кожен результат тільки з стани, за якими він може стежити - LoanFile. archivedAt: архів є прапорцем поряд зі станом, а не результатом - Arive: ADVERSE стадія + AriveAdverseReason відображення власного результату (обидва ways); Налаштування позики = Заявка прийнята, Розкрито = У процесі обробки; дати з Arive (дата TRID, підписані документи, фінансування, дати етапів), ніколи сьогодні - realignToExternal: зовнішній MLOS є системою запису для стадії - Дія HMDA взята з реального результату; файли у процесі не мають жодних даних - commerce / transaction rollup / close horizon обробляє нові стани
· kamo-internal
Зовнішній MLOS живе на іпотечному ринку і на кожному кредиті
- Параметри → POS- ринки → іпотечний ринок: нова вкладка « Зовнішній MLOS » (Arive через Zapier, MeridianLink) з з' єднанням, мапою етапів, транзакцією вікно і імпорт активних позик; вибірником MLOS для ринку лідерів є замінено вказівником на нього - програма позики: смужка стану, на якій показано місце позики у зовнішній базі даних MLOS (пов’ язано / надсилання / потребує полів / відмовлено), повторно надіслати і відкрити у MLOS; розділи, що належать MLOS, доступні тільки для читання з поміткою про те, де їх можна редагувати - конвеєрна картка: зовнішній чип MLOS - вступна сторінка: Arive / MeridianLink дій вилучено - проксі- маршрути переміщуються до ****************
· DaemonService
MeridianLink опитування застосовується до заявок на позику, а не до лідів
Змінені позики збігаються за допомогою MLOS_ LOAN_ LOS_ LINKS і надсилаються до securityservice за з’ єднанням; невідомі позики приймаються лише там, де Підрозділ LO відповідає одній організації.
· SecurityService
Віддзеркалення кожної заявки на позику у зовнішній MLOS ринку, в обох напрямках
Arive і MeridianLink з' єдналися з ринком MORTGAGE (MLOS) замість і синхронізувати кредитні заявки замість лідів. - LoanLosSyncService: черга + 20- х секундна одинична позначка; створює позику у зовнішній MLOS, якщо існують його обов’ язкові поля, відсилає зміни етапів, повертає вимкнено у разі невдачі, пропонує перенаправлення / open- in- MLOS / перегляд стану за позиками - LoanLosSyncInterceptor: розділи, що належать зовнішньому MLOS (займисті, property, loan terms for Arive) відповідь 409 у Kamo; зберігає чергу синхронізації - LosLoanApplyService переносить конвеєр на стадію MLOS (ніколи назад), мітка ходу, щоб його не відгукувалося або не надсилали електронною поштою - LosLoanAdoptionService: позика, створена у MLOS, стає позикою Kamo застосування на рахунку позичальника, згруповані в одну транзакцію з інші позики позичальника, відкриті у вікні з’ єднання (30 днів) - Arive вхідний: позики розпізнано за Kamo посиланням, GUID, а потім номером позики; сторінкований імпорт активних позик (Знайти позики / Отримати позики) - кінцеві точки з' єднання пересунути до **************** - вилучено контролери і служби LOS на рівні керування
· kamo-shared-library
Синхронізувати зовнішній MLOS (Arive, MeridianLink) на позиці, а не на головній
Посилання LOS верхнього рівня замінено посиланням LOS нижнього рівня: кожна програма кредитування відображається на зовнішній MLOS ринку і назад, пов' язаний один з одним за допомогою MLOS_LOAN_LOS_LINKS і керується MLOS_LOS_SYNC_QUEUE. - LoanLosProvider SPI (створення / відсилання / відсутні поля / заблоковані розділи / відкриття) посилання) з реалізаціями Arive (через Zapier) і MeridianLink - AriveLoanMapper: повна позика -> Створити позику (94 вхідні дані, спів- позичальник), стадія оновлення, небажана дія, сторінкований пошук позик / отримання позик, і текст рядка Zapier знову в орендовану пляму - LoXmlFieldMapper зображує запит на позику, а не лідер - AriveConfigConfig: карта стадії до стану позики, вікно транзакції (30d), Поступ синхронізації та імпорту - переходи конвеєра містять syncSource, отже, відлуння не надсилаються знову, і позичальникам не надсилається повідомлення електронною поштою про хід, керований MLOS - вилучено адаптери, латки і гачки LOS LeadService
· SecurityService
Закодована термінологія — RxNorm, ICD- 10- CM, CVX і HCPCS, завантажені від їхніх видавців; вибірки, реальні перевірки коду і вікно взаємодії з високим пріоритетом ONC
Завантажувачі (ehr.terminology): RxNorm Поточний рецептурний вміст (NLM, MD5 перевірено за NLM) page; **************** drug->ingredient розв’ язано за допомогою компоненти/ генерики/ пакунки, ліки->форма дозування, розклад DEA від DCSA), файл замовлення ICD- 10- CM (з можливістю прапорець, короткі/ довгі назви, префікс закриття), CVX + групи вакцин (CDC), HCPCS рівень II щоквартально (CMS; модифікатори і CPT ніколи не завантажуються). Видає адресу URL джерела запису, версію видавця, дати дії і контрольна сума; відповідає лише випуск COMPLETE; заміна закінчує випуск там, де починається наступний. Темпований Пакетні записи JDBC; щоденне оновлення 09: 30 UTC за договором оренди; завантаження на запит для адміністраторів платформи. Пошук: індекс символ- префікс (без триграми/ GiST на Yugabyte), правила ранжування, встановлені тестами; / status, Ліки, діагнози, вакцини, процедури, пошуки. Перевірка: ClinicalCodeChecker відмовляється від кодів, яких не вистачає у завантаженому релізі (ICD за датою обслуговування; заголовок) коди, відкинуті у заявках, попереджені у інших місцях; CVX має бути активним для дози, вказаної тут; RxCUI має існувати; рецепти повинні мати точну назву продукту, коли завантажується RxNorm і приймати розклад RxNorm, коли суворіше), повертаючись до форматування — і кажучи так — коли жоден реліз не покриває дату. Взаємодії: 15- парний список високоприоритетних ONC (Phansalkar et al., JAMIA 2012) як дані з його цитування, члени розв’ язані до складових RxCUI з завантаженого RxNorm; відфільтровано 14 пар (QT членів пари не опубліковано у статті). Вивчення є попередженнями високого ризику, які потребують перезапису причина; прогалина DRUG_ INTERACTION залишається відкритою з реченням « Перевірено тільки проти ... », отже isComplete () залишається невірним. Алергії, закодовані у RxNorm, тепер також збігаються за складовими.

Твій всесвіт чекає.
Почати безкоштовно за декілька хвилин. Додати продукти, коли ви будете готові — без перенесення, без нових реєстрацій.
Безкоштовно назавжди — не потрібна кредитна карта