@coffer-org/web 2.5.2 → 2.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,15 +3,15 @@ import{n as e,r as t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,i as r,r
3
3
 
4
4
  {{list}}
5
5
 
6
- Сервер перезапуститься одразу після встановлення — переконайтесь, що він працює під process-manager'ом (systemd/pm2/docker), який автоматично його підніме. Рекомендовано зробити резервну копію бази даних заздалегідь.`,errors:{core_required:`Плагін core вимкнути не можна.`,has_dependents:`Від нього залежать увімкнені: {{list}}.`,missing_deps:`Спершу увімкни залежності: {{list}}.`,unknown_plugin:`Невідомий плагін.`}},auth:{loginTitle:`Вхід`,welcomeEyebrow:`Особистий простір`,welcomeTitle:`Ваші дані. Під вашим контролем.`,welcomeText:`Увійдіть, щоб продовжити роботу з Coffer.`,secureConnection:`Захищене з’єднання`,setupTitle:`Створити першого адміністратора`,login:`Логін`,password:`Пароль`,displayName:`Ім'я`,signIn:`Увійти`,createAccount:`Створити акаунт`,invalidCredentials:`Невірний логін або пароль.`,genericError:`Щось пішло не так.`,accountTitle:`Мій акаунт`,sessionTitle:`Сеанс`,logoutDescription:`Завершити поточний сеанс на цьому пристрої.`,logout:`Вийти`,fieldDisplayName:`Ім'я`,fieldLogin:`Логін`,fieldPasswordOptional:`Новий пароль (лишіть порожнім, щоб не міняти)`,tokensTitle:`API-токени`,tokenNamePlaceholder:`Назва токена (напр. "agent")`,tokenCreate:`Створити токен`,tokenCreatedOnce:`Скопіюйте токен зараз — більше він не покажеться:`,tokenRevoke:`Відкликати`,tokenConfirmRevoke:`Відкликати цей токен? Усе, що його використовує, перестане працювати.`,grantsTitle:`Підключені застосунки`,grantsEmpty:`Жоден застосунок ще не авторизовано. Вони зʼявляться тут після підтвердження на екрані згоди Coffer.`,grantConfirmRevoke:`Відключити цей застосунок? Його токени доступу перестануть працювати одразу.`,usersTitle:`Користувачі`,addUser:`Додати користувача`,roleAdmin:`Адмін`,roleMember:`Учасник`,fieldRole:`Роль`,fieldDisabled:`Вимкнено`,userCreateTitle:`Новий користувач`,lastAdminError:`Не можна прибрати останнього адміна.`},form:{serverRejected:`Сервер відхилив:`,createTitle:`Новий — {{label}}`,editTitle:`Редагувати — {{label}}`,mdPlaceholder:`Текст у форматі Markdown…`,photo:`+ Фото`,properties:`Властивості`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значення`,addProperty:`Властивість`,days:`дн`,hours:`год`,minutes:`хв`,seconds:`с`,addTag:`Додати тег…`,addRow:`+ Додати рядок`,search:`Пошук…`,loading:`Завантаження…`,loadError:`Помилка завантаження`,noRecords:`Немає записів`,addRecord:`+ Додати…`,addItem:`+ Додати пункт`},list:{empty:`Поки порожньо`,searchPlaceholder:`Пошук…`,sortBy:`Сортувати за`,sortNone:`Без сортування`,asc:`За зростанням`,desc:`За спаданням`,peopleCount_one:`{{count}} ос.`,peopleCount_few:`{{count}} ос.`,peopleCount_many:`{{count}} ос.`,peopleCount_other:`{{count}} ос.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пари`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальний пошук`,placeholder:`Пошук полиць і записів…`,allShelves:`Усі полиці`,results:`Результати`,noResults:`Нічого не знайдено`},record:{count_one:`{{count}} запис`,count_few:`{{count}} записи`,count_many:`{{count}} записів`,count_other:`{{count}} записів`,hide:`Сховати`,show:`Показати`},extend:{shownWhen:`Показується коли:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Нд`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обов'язкове поле`,invalid_type:`неприпустимий тип значення`,min_length:`мінімум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`неприпустимий формат`,email:`некоректна email-адреса`,min:`не менше {{min}}`,max:`не більше {{max}}`,int:`має бути цілим`,date_format:`формат YYYY-MM-DD`,date_min:`не раніше {{min}}`,date_max:`не пізніше {{max}}`,enum:`оберіть зі списку`,json:`невалідний JSON`,structure:`невалідна структура`,int_list:`невалідні посилання на записи`,kv_single:`дозволено лише одну пару`,links_structure:`невалідна структура підключень`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`очікується масив тегів`,slotted_length:`невірна кількість елементів`,check_structure:`невалідна структура відмітки`,measured_structure:`очікується {value, unit}`,measured_unit:`невідома одиниця`,money_structure:`некоректна сума`,geo_structure:`очікується {lat, lng}`,money_currency:`невідома валюта`,color_format:`формат #RRGGBB`,row_structure:`невалідна структура рядків`,row_duplicate:`значення «{{key}}» повторюється між рядками`,array:`очікується масив`,array_item:`невалідне значення у масиві`,ip_structure:`невалідна IP-адреса`,cidr_structure:`невалідний CIDR`,per_weekday:`масив із 7 чисел`,period_order:`початок не може бути після кінця`,range_structure:`очікується {from, to}`,last_admin:`Не можна прибрати останнього адміна.`,range_order:`from має бути ≤ to`,file_structure:`некоректний файл`,file_remote_url:`file-поле тримає завантажений файл, а не віддалений URL`,file_unknown_key:`у файлі можуть бути лише name, mime і size`,file_name:`очікується голе ім’я файлу, без шляху`,file_not_uploaded:`такого завантаженого файлу немає — спершу завантажте його`,code_structure:`очікується {code, lang}`,url:`некоректний URL`,embed_structure:`некоректне вкладення`,colorname:`невідома назва кольору`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публічна адреса`,publicUrlHint:`Лише origin, без кінцевого слеша — напр. https://coffer.example`,language:`Мова`},fields:{type:`Тип`,name:`Назва`,weekday:`День тижня`,value:`Значення`,text:`Текст`,check:`Позначка`},presets:{slug:`лише малі латинські літери, цифри й дефіс`,imei:`IMEI — рівно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 літери, 2 цифри, далі літери й цифри (без пробілів)`,hostname:`імʼя хоста / FQDN (мітки через крапку: літери, цифри, дефіс)`,tel:`номер телефону`,link:`URL (scheme:// або домен із крапкою)`},lookup:{enough:`Досить`,partial:`Частково`,missing:`Немає`,noData:`немає даних`},period:{from:`З`,until:`По`},sex:{M:`Чоловіча`,F:`Жіноча`,other:`Інша`},weekdays:{mon:`Понеділок`,tue:`Вівторок`,wed:`Середа`,thu:`Четвер`,fri:`П'ятниця`,sat:`Субота`,sun:`Неділя`},colors:x.uk,countries:{AF:`Афганістан`,AL:`Албанія`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа і Барбуда`,AR:`Аргентина`,AM:`Вірменія`,AU:`Австралія`,AT:`Австрія`,AZ:`Азербайджан`,BS:`Багамські Острови`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Білорусь`,BE:`Бельгія`,BZ:`Беліз`,BJ:`Бенін`,BT:`Бутан`,BO:`Болівія`,BA:`Боснія і Герцеговина`,BW:`Ботсвана`,BR:`Бразилія`,BN:`Бруней`,BG:`Болгарія`,BF:`Буркіна-Фасо`,BI:`Бурунді`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`ЦАР`,TD:`Чад`,CL:`Чилі`,CN:`Китай`,CO:`Колумбія`,KM:`Комори`,CG:`Конго`,CD:`ДР Конго`,CR:`Коста-Рика`,CI:`Кот-д'Івуар`,HR:`Хорватія`,CU:`Куба`,CY:`Кіпр`,CZ:`Чехія`,DK:`Данія`,DJ:`Джибуті`,DM:`Домініка`,DO:`Домініканська Республіка`,EC:`Еквадор`,EG:`Єгипет`,SV:`Сальвадор`,GQ:`Екваторіальна Гвінея`,ER:`Еритрея`,EE:`Естонія`,SZ:`Есватіні`,ET:`Ефіопія`,FJ:`Фіджі`,FI:`Фінляндія`,FR:`Франція`,GA:`Габон`,GM:`Гамбія`,GE:`Грузія`,DE:`Німеччина`,GH:`Гана`,GR:`Греція`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвінея`,GW:`Гвінея-Бісау`,GY:`Гаяна`,HT:`Гаїті`,HN:`Гондурас`,HU:`Угорщина`,IS:`Ісландія`,IN:`Індія`,ID:`Індонезія`,IR:`Іран`,IQ:`Ірак`,IE:`Ірландія`,IL:`Ізраїль`,IT:`Італія`,JM:`Ямайка`,JP:`Японія`,JO:`Йорданія`,KZ:`Казахстан`,KE:`Кенія`,KI:`Кірибаті`,KP:`КНДР`,KR:`Південна Корея`,KW:`Кувейт`,KG:`Киргизстан`,LA:`Лаос`,LV:`Латвія`,LB:`Ліван`,LS:`Лесото`,LR:`Ліберія`,LY:`Лівія`,LI:`Ліхтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малаві`,MY:`Малайзія`,MV:`Мальдіви`,ML:`Малі`,MT:`Мальта`,MH:`Маршаллові Острови`,MR:`Мавританія`,MU:`Маврикій`,MX:`Мексика`,FM:`Мікронезія`,MD:`Молдова`,MC:`Монако`,MN:`Монголія`,ME:`Чорногорія`,MA:`Марокко`,MZ:`Мозамбік`,MM:`М'янма`,NA:`Намібія`,NR:`Науру`,NP:`Непал`,NL:`Нідерланди`,NZ:`Нова Зеландія`,NI:`Нікарагуа`,NE:`Нігер`,NG:`Нігерія`,MK:`Північна Македонія`,NO:`Норвегія`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа Нова Гвінея`,PY:`Парагвай`,PE:`Перу`,PH:`Філіппіни`,PL:`Польща`,PT:`Португалія`,QA:`Катар`,RO:`Румунія`,RU:`Росія`,RW:`Руанда`,KN:`Сент-Кітс і Невіс`,LC:`Сент-Люсія`,VC:`Сент-Вінсент і Гренадіни`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе і Принсіпі`,SA:`Саудівська Аравія`,SN:`Сенегал`,RS:`Сербія`,SC:`Сейшели`,SL:`Сьєрра-Леоне`,SG:`Сінгапур`,SK:`Словаччина`,SI:`Словенія`,SB:`Соломонові Острови`,SO:`Сомалі`,ZA:`ПАР`,SS:`Південний Судан`,ES:`Іспанія`,LK:`Шрі-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеція`,CH:`Швейцарія`,SY:`Сирія`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзанія`,TH:`Таїланд`,TL:`Тімор-Лесте`,TG:`Того`,TO:`Тонга`,TT:`Тринідад і Тобаго`,TN:`Туніс`,TR:`Туреччина`,TM:`Туркменістан`,TV:`Тувалу`,UG:`Уганда`,UA:`Україна`,AE:`ОАЕ`,GB:`Велика Британія`,US:`США`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуела`,VN:`В'єтнам`,YE:`Ємен`,ZM:`Замбія`,ZW:`Зімбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набір`,pack:`пачка`,s:`сек`,min:`хв`,h:`год`,d:`день`,w:`тиждень`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морська миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАг`,Ah:`Аг`,Wh:`Вт·год`,kWh:`кВт·год`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/год`,mph:`mph`,kn:`вузол`,"%":`%`,ppm:`ppm`}}},Ar={common:{loading:`Загрузка…`,saving:`Сохранение…`,error:`Ошибка`,back:`Назад`,yes:`Да`,no:`Нет`,notFound:`Тип не найден`,daysUnit:`дн.`,peopleUnit:`чел.`,empty:`Нет записей`},actions:{new:`Новый`,addFirst:`Добавить первую запись`,edit:`Редактировать`,editAll:`Редактировать всё`,save:`Сохранить`,create:`Создать`,cancel:`Отмена`,confirm:`Подтвердить`,confirmDelete:`Удалить эту запись?`,delete:`Удалить`,favoriteAdd:`Добавить в избранное`,favoriteRemove:`Убрать из избранного`,upload:`Загрузить`,retry:`Повторить`,replace:`Заменить`,confirmDeletePhoto:`Удалить фото?`,add:`Добавить`,actionSuccess:`Готово`,actionError:`Ошибка`,actionNotFound:`Действие не зарегистрировано`,notice:`Уведомление`},save:{saving:`Сохранение…`,done:`Сохранено`,failed:`Не удалось сохранить`},upload:{tooLarge:`Файл слишком большой (макс. 25 МБ)`,failed:`Не удалось загрузить`,progress:`Прогресс загрузки`},files:{preview:`Предпросмотр`,download:`Скачать`,loadingPreview:`Загрузка предпросмотра…`,previewFailed:`Не удалось загрузить предпросмотр`,previewTruncated:`Предпросмотр сокращён до 1 МБ.`},embed:{open:`Открыть`,pastePlaceholder:`Вставьте URL…`,resolveFailed:`Не удалось загрузить превью`},reminder:{today:`сегодня`,inDays:`через {{days}} дн`,overdue:`просрочено {{days}} дн`},nav:{selectType:`Выберите тип в меню`,plugins:`Плагины`,home:`Главная`,search:`Поиск`,settings:`Настройки`,trash:`Корзина`},trash:{title:`Корзина`,description:`Удалённые записи сохраняются в базе данных. Здесь их можно восстановить или удалить навсегда.`,empty:`Корзина пуста`,restore:`Восстановить`,purge:`Удалить навсегда`,confirmPurge:`Удалить запись навсегда? Это действие нельзя отменить.`,restored:`Запись восстановлена`,purged:`Запись удалена навсегда`},dashboard:{title:`Главная`,empty:`Нет активных полок`},settings:{title:`Настройки`,appearance:`Вид`,theme:`Тема`,language:`Язык`,systemDescription:`Настройки всей системы и базовые пакеты.`,systemUpdateTitle:`Обновить базовые пакеты (core + рантайм)`,componentsTitle:`Компоненты`,componentsDescription:`Системные пакеты и плагины: обновление, включение, удаление данных.`,personalTitle:`Личное`,usersTitle:`Пользователи`,usersDescription:`Управление всеми аккаунтами инстанса.`,diagnosticsTitle:`Диагностика`,diagnosticsDescription:`Состояние сервера, агенты, коннекторы и последние события оркестратора.`},theme:{label:`Тема`,auto:`Авто`,light:`Светлая`,dark:`Тёмная`,eink:`E-ink`},diagnostics:{title:`Диагностика`,description:`Состояние сервера и последние события оркестратора. Содержимое сообщений здесь не показывается.`,adminOnly:`Диагностика доступна только администраторам.`,refresh:`Обновить`,refreshing:`Обновляю…`,loadFailed:`Не удалось загрузить диагностику.`,server:`Сервер`,healthy:`Работает`,unavailable:`Недоступен`,agents:`Зарегистрированные агенты`,connectors:`Зарегистрированные коннекторы`,versions:`Версии пакетов`,component:`Компонент`,installed:`Установлена`,latest:`Последняя`,outdated:`Доступны обновления для пакетов: {{count}}.`,noData:`Нет данных о версиях.`,recentMessages:`Последние сообщения`,time:`Время`,connector:`Коннектор`,role:`Роль`,duration:`Длительность`,tokens:`Токены вход / выход`,noMessages:`Метрик сообщений пока нет.`,recentErrors:`Последние ошибки выполнения`,noErrors:`После последнего запуска ошибки не записывались.`},folders:{title:`Папки`,all:`Все`,noFolder:`Без папки`,newFolder:`+ Новая папка`,namePlaceholder:`Название папки…`,confirmDelete:`Удалить папку? Записи останутся.`,collapse:`Свернуть`,expand:`Развернуть`,newSubfolder:`Новая подпапка`,rename:`Переименовать`,delete:`Удалить`},plugins:{loading:`Загрузка…`,restartBannerBefore:`Изменения применятся после `,restartBannerBold:`перезапуска сервера`,restartBannerAfter:` (набор активных плагинов читается при старте).`,confirmPurge:`Удалить ВСЕ данные плагина «{{id}}»? Таблицы будут удалены безвозвратно.`,genericError:`Ошибка: {{code}}`,purgeButton:`Удалить данные`,purgeTitle:`Удалить все данные плагина (безвозвратно)`,switchDisable:`Выключить`,switchEnable:`Включить`,blockedByDependents:`Нельзя выключить: от него зависят включённые плагины — {{list}}`,metaDepends:`зависит:`,metaLibraries:`библиотеки:`,metaExtends:`расширения:`,updateButton:`Обновить`,checkUpdates:`Проверить обновления`,checkingUpdates:`Проверяю…`,updateCheckError:`Не удалось проверить обновления.`,updatesAvailable:`Доступны обновления: {{count}}.`,noUpdates:`Обновлений нет.`,lastChecked:`Проверено в {{time}}.`,restartTimeout:`Пакеты установлены, но сервер не подтвердил перезапуск за 60 секунд. Проверьте диагностику и повторите проверку позже.`,updateTitle:`Обновить с v{{from}} до v{{to}}`,confirmUpdate:`Обновить плагин «{{id}}» с v{{from}} до v{{to}}? Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,updateError:`Обновление не удалось`,updateAllButton:`Обновить все ({{count}})`,runtimeLabel:`Рантайм (server/web/cli)`,confirmUpdateAll:`Обновить {{count}} компонент(ов)?
6
+ Сервер перезапуститься одразу після встановлення — переконайтесь, що він працює під process-manager'ом (systemd/pm2/docker), який автоматично його підніме. Рекомендовано зробити резервну копію бази даних заздалегідь.`,errors:{core_required:`Плагін core вимкнути не можна.`,has_dependents:`Від нього залежать увімкнені: {{list}}.`,missing_deps:`Спершу увімкни залежності: {{list}}.`,unknown_plugin:`Невідомий плагін.`}},auth:{loginTitle:`Вхід`,welcomeEyebrow:`Особистий простір`,welcomeTitle:`Ваші дані. Під вашим контролем.`,welcomeText:`Увійдіть, щоб продовжити роботу з Coffer.`,secureConnection:`Захищене з’єднання`,setupTitle:`Створити першого адміністратора`,login:`Логін`,password:`Пароль`,displayName:`Ім'я`,signIn:`Увійти`,createAccount:`Створити акаунт`,invalidCredentials:`Невірний логін або пароль.`,genericError:`Щось пішло не так.`,accountTitle:`Мій акаунт`,sessionTitle:`Сеанс`,logoutDescription:`Завершити поточний сеанс на цьому пристрої.`,logout:`Вийти`,fieldDisplayName:`Ім'я`,fieldLogin:`Логін`,fieldPasswordOptional:`Новий пароль (лишіть порожнім, щоб не міняти)`,tokensTitle:`API-токени`,tokenNamePlaceholder:`Назва токена (напр. "agent")`,tokenCreate:`Створити токен`,tokenCreatedOnce:`Скопіюйте токен зараз — більше він не покажеться:`,tokenRevoke:`Відкликати`,tokenConfirmRevoke:`Відкликати цей токен? Усе, що його використовує, перестане працювати.`,grantsTitle:`Підключені застосунки`,grantsEmpty:`Жоден застосунок ще не авторизовано. Вони зʼявляться тут після підтвердження на екрані згоди Coffer.`,grantConfirmRevoke:`Відключити цей застосунок? Його токени доступу перестануть працювати одразу.`,usersTitle:`Користувачі`,addUser:`Додати користувача`,roleAdmin:`Адмін`,roleMember:`Учасник`,fieldRole:`Роль`,fieldDisabled:`Вимкнено`,userCreateTitle:`Новий користувач`,lastAdminError:`Не можна прибрати останнього адміна.`},form:{serverRejected:`Сервер відхилив:`,createTitle:`Новий — {{label}}`,editTitle:`Редагувати — {{label}}`,mdPlaceholder:`Текст у форматі Markdown…`,photo:`+ Фото`,properties:`Властивості`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значення`,addProperty:`Властивість`,days:`дн`,hours:`год`,minutes:`хв`,seconds:`с`,addTag:`Додати тег…`,addRow:`+ Додати рядок`,search:`Пошук…`,loading:`Завантаження…`,loadError:`Помилка завантаження`,noRecords:`Немає записів`,addRecord:`+ Додати…`,addItem:`+ Додати пункт`},list:{empty:`Поки порожньо`,searchPlaceholder:`Пошук…`,sortBy:`Сортувати за`,sortRating:`Рейтинг`,asc:`За зростанням`,desc:`За спаданням`,peopleCount_one:`{{count}} ос.`,peopleCount_few:`{{count}} ос.`,peopleCount_many:`{{count}} ос.`,peopleCount_other:`{{count}} ос.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пари`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальний пошук`,placeholder:`Пошук полиць і записів…`,allShelves:`Усі полиці`,results:`Результати`,noResults:`Нічого не знайдено`},record:{count_one:`{{count}} запис`,count_few:`{{count}} записи`,count_many:`{{count}} записів`,count_other:`{{count}} записів`,hide:`Сховати`,show:`Показати`},extend:{shownWhen:`Показується коли:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Нд`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обов'язкове поле`,invalid_type:`неприпустимий тип значення`,min_length:`мінімум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`неприпустимий формат`,email:`некоректна email-адреса`,min:`не менше {{min}}`,max:`не більше {{max}}`,int:`має бути цілим`,date_format:`формат YYYY-MM-DD`,date_min:`не раніше {{min}}`,date_max:`не пізніше {{max}}`,enum:`оберіть зі списку`,json:`невалідний JSON`,structure:`невалідна структура`,int_list:`невалідні посилання на записи`,kv_single:`дозволено лише одну пару`,links_structure:`невалідна структура підключень`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`очікується масив тегів`,slotted_length:`невірна кількість елементів`,check_structure:`невалідна структура відмітки`,measured_structure:`очікується {value, unit}`,measured_unit:`невідома одиниця`,money_structure:`некоректна сума`,geo_structure:`очікується {lat, lng}`,money_currency:`невідома валюта`,color_format:`формат #RRGGBB`,row_structure:`невалідна структура рядків`,row_duplicate:`значення «{{key}}» повторюється між рядками`,array:`очікується масив`,array_item:`невалідне значення у масиві`,ip_structure:`невалідна IP-адреса`,cidr_structure:`невалідний CIDR`,per_weekday:`масив із 7 чисел`,period_order:`початок не може бути після кінця`,range_structure:`очікується {from, to}`,last_admin:`Не можна прибрати останнього адміна.`,range_order:`from має бути ≤ to`,file_structure:`некоректний файл`,file_remote_url:`file-поле тримає завантажений файл, а не віддалений URL`,file_unknown_key:`у файлі можуть бути лише name, mime і size`,file_name:`очікується голе ім’я файлу, без шляху`,file_not_uploaded:`такого завантаженого файлу немає — спершу завантажте його`,code_structure:`очікується {code, lang}`,url:`некоректний URL`,embed_structure:`некоректне вкладення`,colorname:`невідома назва кольору`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публічна адреса`,publicUrlHint:`Лише origin, без кінцевого слеша — напр. https://coffer.example`,language:`Мова`},fields:{type:`Тип`,name:`Назва`,weekday:`День тижня`,value:`Значення`,text:`Текст`,check:`Позначка`},presets:{slug:`лише малі латинські літери, цифри й дефіс`,imei:`IMEI — рівно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 літери, 2 цифри, далі літери й цифри (без пробілів)`,hostname:`імʼя хоста / FQDN (мітки через крапку: літери, цифри, дефіс)`,tel:`номер телефону`,link:`URL (scheme:// або домен із крапкою)`},lookup:{enough:`Досить`,partial:`Частково`,missing:`Немає`,noData:`немає даних`},period:{from:`З`,until:`По`},sex:{M:`Чоловіча`,F:`Жіноча`,other:`Інша`},weekdays:{mon:`Понеділок`,tue:`Вівторок`,wed:`Середа`,thu:`Четвер`,fri:`П'ятниця`,sat:`Субота`,sun:`Неділя`},colors:x.uk,countries:{AF:`Афганістан`,AL:`Албанія`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа і Барбуда`,AR:`Аргентина`,AM:`Вірменія`,AU:`Австралія`,AT:`Австрія`,AZ:`Азербайджан`,BS:`Багамські Острови`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Білорусь`,BE:`Бельгія`,BZ:`Беліз`,BJ:`Бенін`,BT:`Бутан`,BO:`Болівія`,BA:`Боснія і Герцеговина`,BW:`Ботсвана`,BR:`Бразилія`,BN:`Бруней`,BG:`Болгарія`,BF:`Буркіна-Фасо`,BI:`Бурунді`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`ЦАР`,TD:`Чад`,CL:`Чилі`,CN:`Китай`,CO:`Колумбія`,KM:`Комори`,CG:`Конго`,CD:`ДР Конго`,CR:`Коста-Рика`,CI:`Кот-д'Івуар`,HR:`Хорватія`,CU:`Куба`,CY:`Кіпр`,CZ:`Чехія`,DK:`Данія`,DJ:`Джибуті`,DM:`Домініка`,DO:`Домініканська Республіка`,EC:`Еквадор`,EG:`Єгипет`,SV:`Сальвадор`,GQ:`Екваторіальна Гвінея`,ER:`Еритрея`,EE:`Естонія`,SZ:`Есватіні`,ET:`Ефіопія`,FJ:`Фіджі`,FI:`Фінляндія`,FR:`Франція`,GA:`Габон`,GM:`Гамбія`,GE:`Грузія`,DE:`Німеччина`,GH:`Гана`,GR:`Греція`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвінея`,GW:`Гвінея-Бісау`,GY:`Гаяна`,HT:`Гаїті`,HN:`Гондурас`,HU:`Угорщина`,IS:`Ісландія`,IN:`Індія`,ID:`Індонезія`,IR:`Іран`,IQ:`Ірак`,IE:`Ірландія`,IL:`Ізраїль`,IT:`Італія`,JM:`Ямайка`,JP:`Японія`,JO:`Йорданія`,KZ:`Казахстан`,KE:`Кенія`,KI:`Кірибаті`,KP:`КНДР`,KR:`Південна Корея`,KW:`Кувейт`,KG:`Киргизстан`,LA:`Лаос`,LV:`Латвія`,LB:`Ліван`,LS:`Лесото`,LR:`Ліберія`,LY:`Лівія`,LI:`Ліхтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малаві`,MY:`Малайзія`,MV:`Мальдіви`,ML:`Малі`,MT:`Мальта`,MH:`Маршаллові Острови`,MR:`Мавританія`,MU:`Маврикій`,MX:`Мексика`,FM:`Мікронезія`,MD:`Молдова`,MC:`Монако`,MN:`Монголія`,ME:`Чорногорія`,MA:`Марокко`,MZ:`Мозамбік`,MM:`М'янма`,NA:`Намібія`,NR:`Науру`,NP:`Непал`,NL:`Нідерланди`,NZ:`Нова Зеландія`,NI:`Нікарагуа`,NE:`Нігер`,NG:`Нігерія`,MK:`Північна Македонія`,NO:`Норвегія`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа Нова Гвінея`,PY:`Парагвай`,PE:`Перу`,PH:`Філіппіни`,PL:`Польща`,PT:`Португалія`,QA:`Катар`,RO:`Румунія`,RU:`Росія`,RW:`Руанда`,KN:`Сент-Кітс і Невіс`,LC:`Сент-Люсія`,VC:`Сент-Вінсент і Гренадіни`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе і Принсіпі`,SA:`Саудівська Аравія`,SN:`Сенегал`,RS:`Сербія`,SC:`Сейшели`,SL:`Сьєрра-Леоне`,SG:`Сінгапур`,SK:`Словаччина`,SI:`Словенія`,SB:`Соломонові Острови`,SO:`Сомалі`,ZA:`ПАР`,SS:`Південний Судан`,ES:`Іспанія`,LK:`Шрі-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеція`,CH:`Швейцарія`,SY:`Сирія`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзанія`,TH:`Таїланд`,TL:`Тімор-Лесте`,TG:`Того`,TO:`Тонга`,TT:`Тринідад і Тобаго`,TN:`Туніс`,TR:`Туреччина`,TM:`Туркменістан`,TV:`Тувалу`,UG:`Уганда`,UA:`Україна`,AE:`ОАЕ`,GB:`Велика Британія`,US:`США`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуела`,VN:`В'єтнам`,YE:`Ємен`,ZM:`Замбія`,ZW:`Зімбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набір`,pack:`пачка`,s:`сек`,min:`хв`,h:`год`,d:`день`,w:`тиждень`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морська миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАг`,Ah:`Аг`,Wh:`Вт·год`,kWh:`кВт·год`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/год`,mph:`mph`,kn:`вузол`,"%":`%`,ppm:`ppm`}}},Ar={common:{loading:`Загрузка…`,saving:`Сохранение…`,error:`Ошибка`,back:`Назад`,yes:`Да`,no:`Нет`,notFound:`Тип не найден`,daysUnit:`дн.`,peopleUnit:`чел.`,empty:`Нет записей`},actions:{new:`Новый`,addFirst:`Добавить первую запись`,edit:`Редактировать`,editAll:`Редактировать всё`,save:`Сохранить`,create:`Создать`,cancel:`Отмена`,confirm:`Подтвердить`,confirmDelete:`Удалить эту запись?`,delete:`Удалить`,favoriteAdd:`Добавить в избранное`,favoriteRemove:`Убрать из избранного`,upload:`Загрузить`,retry:`Повторить`,replace:`Заменить`,confirmDeletePhoto:`Удалить фото?`,add:`Добавить`,actionSuccess:`Готово`,actionError:`Ошибка`,actionNotFound:`Действие не зарегистрировано`,notice:`Уведомление`},save:{saving:`Сохранение…`,done:`Сохранено`,failed:`Не удалось сохранить`},upload:{tooLarge:`Файл слишком большой (макс. 25 МБ)`,failed:`Не удалось загрузить`,progress:`Прогресс загрузки`},files:{preview:`Предпросмотр`,download:`Скачать`,loadingPreview:`Загрузка предпросмотра…`,previewFailed:`Не удалось загрузить предпросмотр`,previewTruncated:`Предпросмотр сокращён до 1 МБ.`},embed:{open:`Открыть`,pastePlaceholder:`Вставьте URL…`,resolveFailed:`Не удалось загрузить превью`},reminder:{today:`сегодня`,inDays:`через {{days}} дн`,overdue:`просрочено {{days}} дн`},nav:{selectType:`Выберите тип в меню`,plugins:`Плагины`,home:`Главная`,search:`Поиск`,settings:`Настройки`,trash:`Корзина`},trash:{title:`Корзина`,description:`Удалённые записи сохраняются в базе данных. Здесь их можно восстановить или удалить навсегда.`,empty:`Корзина пуста`,restore:`Восстановить`,purge:`Удалить навсегда`,confirmPurge:`Удалить запись навсегда? Это действие нельзя отменить.`,restored:`Запись восстановлена`,purged:`Запись удалена навсегда`},dashboard:{title:`Главная`,empty:`Нет активных полок`},settings:{title:`Настройки`,appearance:`Вид`,theme:`Тема`,language:`Язык`,systemDescription:`Настройки всей системы и базовые пакеты.`,systemUpdateTitle:`Обновить базовые пакеты (core + рантайм)`,componentsTitle:`Компоненты`,componentsDescription:`Системные пакеты и плагины: обновление, включение, удаление данных.`,personalTitle:`Личное`,usersTitle:`Пользователи`,usersDescription:`Управление всеми аккаунтами инстанса.`,diagnosticsTitle:`Диагностика`,diagnosticsDescription:`Состояние сервера, агенты, коннекторы и последние события оркестратора.`},theme:{label:`Тема`,auto:`Авто`,light:`Светлая`,dark:`Тёмная`,eink:`E-ink`},diagnostics:{title:`Диагностика`,description:`Состояние сервера и последние события оркестратора. Содержимое сообщений здесь не показывается.`,adminOnly:`Диагностика доступна только администраторам.`,refresh:`Обновить`,refreshing:`Обновляю…`,loadFailed:`Не удалось загрузить диагностику.`,server:`Сервер`,healthy:`Работает`,unavailable:`Недоступен`,agents:`Зарегистрированные агенты`,connectors:`Зарегистрированные коннекторы`,versions:`Версии пакетов`,component:`Компонент`,installed:`Установлена`,latest:`Последняя`,outdated:`Доступны обновления для пакетов: {{count}}.`,noData:`Нет данных о версиях.`,recentMessages:`Последние сообщения`,time:`Время`,connector:`Коннектор`,role:`Роль`,duration:`Длительность`,tokens:`Токены вход / выход`,noMessages:`Метрик сообщений пока нет.`,recentErrors:`Последние ошибки выполнения`,noErrors:`После последнего запуска ошибки не записывались.`},folders:{title:`Папки`,all:`Все`,noFolder:`Без папки`,newFolder:`+ Новая папка`,namePlaceholder:`Название папки…`,confirmDelete:`Удалить папку? Записи останутся.`,collapse:`Свернуть`,expand:`Развернуть`,newSubfolder:`Новая подпапка`,rename:`Переименовать`,delete:`Удалить`},plugins:{loading:`Загрузка…`,restartBannerBefore:`Изменения применятся после `,restartBannerBold:`перезапуска сервера`,restartBannerAfter:` (набор активных плагинов читается при старте).`,confirmPurge:`Удалить ВСЕ данные плагина «{{id}}»? Таблицы будут удалены безвозвратно.`,genericError:`Ошибка: {{code}}`,purgeButton:`Удалить данные`,purgeTitle:`Удалить все данные плагина (безвозвратно)`,switchDisable:`Выключить`,switchEnable:`Включить`,blockedByDependents:`Нельзя выключить: от него зависят включённые плагины — {{list}}`,metaDepends:`зависит:`,metaLibraries:`библиотеки:`,metaExtends:`расширения:`,updateButton:`Обновить`,checkUpdates:`Проверить обновления`,checkingUpdates:`Проверяю…`,updateCheckError:`Не удалось проверить обновления.`,updatesAvailable:`Доступны обновления: {{count}}.`,noUpdates:`Обновлений нет.`,lastChecked:`Проверено в {{time}}.`,restartTimeout:`Пакеты установлены, но сервер не подтвердил перезапуск за 60 секунд. Проверьте диагностику и повторите проверку позже.`,updateTitle:`Обновить с v{{from}} до v{{to}}`,confirmUpdate:`Обновить плагин «{{id}}» с v{{from}} до v{{to}}? Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,updateError:`Обновление не удалось`,updateAllButton:`Обновить все ({{count}})`,runtimeLabel:`Рантайм (server/web/cli)`,confirmUpdateAll:`Обновить {{count}} компонент(ов)?
7
7
 
8
8
  {{list}}
9
9
 
10
- Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,errors:{core_required:`Плагин core нельзя выключить.`,has_dependents:`От него зависят включённые: {{list}}.`,missing_deps:`Сначала включи зависимости: {{list}}.`,unknown_plugin:`Неизвестный плагин.`}},auth:{loginTitle:`Вход`,welcomeEyebrow:`Личное пространство`,welcomeTitle:`Ваши данные. Под вашим контролем.`,welcomeText:`Войдите, чтобы продолжить работу с Coffer.`,secureConnection:`Защищённое соединение`,setupTitle:`Создать первого администратора`,login:`Логин`,password:`Пароль`,displayName:`Имя`,signIn:`Войти`,createAccount:`Создать аккаунт`,invalidCredentials:`Неверный логин или пароль.`,genericError:`Что-то пошло не так.`,accountTitle:`Мой аккаунт`,sessionTitle:`Сессия`,logoutDescription:`Завершить текущую сессию на этом устройстве.`,logout:`Выйти`,fieldDisplayName:`Имя`,fieldLogin:`Логин`,fieldPasswordOptional:`Новый пароль (оставьте пустым, чтобы не менять)`,tokensTitle:`API-токены`,tokenNamePlaceholder:`Название токена (напр. "agent")`,tokenCreate:`Создать токен`,tokenCreatedOnce:`Скопируйте токен сейчас — он больше не будет показан:`,tokenRevoke:`Отозвать`,tokenConfirmRevoke:`Отозвать этот токен? Всё, что его использует, перестанет работать.`,grantsTitle:`Подключённые приложения`,grantsEmpty:`Ни одно приложение ещё не авторизовано. Они появятся здесь после подтверждения на экране согласия Coffer.`,grantConfirmRevoke:`Отключить это приложение? Его токены доступа перестанут работать сразу.`,usersTitle:`Пользователи`,addUser:`Добавить пользователя`,roleAdmin:`Админ`,roleMember:`Участник`,fieldRole:`Роль`,fieldDisabled:`Отключён`,userCreateTitle:`Новый пользователь`,lastAdminError:`Нельзя убрать последнего админа.`},form:{serverRejected:`Сервер отклонил:`,createTitle:`Новый — {{label}}`,editTitle:`Редактировать — {{label}}`,mdPlaceholder:`Текст в формате Markdown…`,photo:`+ Фото`,properties:`Свойства`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значение`,addProperty:`Свойство`,days:`дн`,hours:`ч`,minutes:`мин`,seconds:`с`,addTag:`Добавить тег…`,addRow:`+ Добавить строку`,search:`Поиск…`,loading:`Загрузка…`,loadError:`Ошибка загрузки`,noRecords:`Нет записей`,addRecord:`+ Добавить…`,addItem:`+ Добавить пункт`},list:{empty:`Пока пусто`,searchPlaceholder:`Поиск…`,sortBy:`Сортировать по`,sortNone:`Без сортировки`,asc:`По возрастанию`,desc:`По убыванию`,peopleCount_one:`{{count}} чел.`,peopleCount_few:`{{count}} чел.`,peopleCount_many:`{{count}} чел.`,peopleCount_other:`{{count}} чел.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пары`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальный поиск`,placeholder:`Поиск полок и записей…`,allShelves:`Все полки`,results:`Результаты`,noResults:`Ничего не найдено`},record:{count_one:`{{count}} запись`,count_few:`{{count}} записи`,count_many:`{{count}} записей`,count_other:`{{count}} записей`,hide:`Скрыть`,show:`Показать`},extend:{shownWhen:`Показывается когда:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обязательное поле`,invalid_type:`недопустимый тип значения`,min_length:`минимум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`недопустимый формат`,email:`некорректный email-адрес`,min:`не меньше {{min}}`,max:`не больше {{max}}`,int:`должно быть целым`,date_format:`формат YYYY-MM-DD`,date_min:`не раньше {{min}}`,date_max:`не позже {{max}}`,enum:`выберите из списка`,json:`невалидный JSON`,structure:`недопустимая структура`,int_list:`недопустимые ссылки на записи`,kv_single:`допустима только одна пара`,links_structure:`недопустимая структура подключений`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`ожидается массив тегов`,slotted_length:`неверное количество элементов`,check_structure:`неверная структура отметки`,measured_structure:`ожидается {value, unit}`,measured_unit:`неизвестная единица`,money_structure:`некорректная сумма`,geo_structure:`ожидается {lat, lng}`,money_currency:`неизвестная валюта`,color_format:`формат #RRGGBB`,row_structure:`недопустимая структура строк`,row_duplicate:`значение «{{key}}» повторяется между строками`,array:`ожидается массив`,array_item:`недопустимое значение в массиве`,ip_structure:`недопустимый IP-адрес`,cidr_structure:`недопустимый CIDR`,per_weekday:`массив из 7 чисел`,period_order:`начало не должно быть позже конца`,range_structure:`ожидается {from, to}`,last_admin:`Нельзя убрать последнего админа.`,range_order:`from должно быть ≤ to`,file_structure:`некорректный файл`,file_remote_url:`file-поле хранит загруженный файл, а не удалённый URL`,file_unknown_key:`у файла могут быть только name, mime и size`,file_name:`ожидается голое имя файла, без пути`,file_not_uploaded:`такого загруженного файла нет — сначала загрузите его`,code_structure:`ожидается {code, lang}`,url:`некорректный URL`,embed_structure:`некорректное вложение`,colorname:`неизвестное название цвета`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публичный адрес`,publicUrlHint:`Только origin, без завершающего слеша — напр. https://coffer.example`,language:`Язык`},fields:{type:`Тип`,name:`Название`,weekday:`День недели`,value:`Значение`,text:`Текст`,check:`Отметка`},presets:{slug:`только строчные латинские буквы, цифры и дефис`,imei:`IMEI — ровно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 буквы, 2 цифры, далее буквы и цифры (без пробелов)`,hostname:`имя хоста / FQDN (метки через точку: буквы, цифры, дефис)`,tel:`номер телефона`,link:`URL (scheme:// или домен с точкой)`},lookup:{enough:`Достаточно`,partial:`Частично`,missing:`Нет`,noData:`нет данных`},period:{from:`С`,until:`По`},sex:{M:`Мужской`,F:`Женский`,other:`Другой`},weekdays:{mon:`Понедельник`,tue:`Вторник`,wed:`Среда`,thu:`Четверг`,fri:`Пятница`,sat:`Суббота`,sun:`Воскресенье`},colors:x.ru,countries:{AF:`Афганистан`,AL:`Албания`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа и Барбуда`,AR:`Аргентина`,AM:`Армения`,AU:`Австралия`,AT:`Австрия`,AZ:`Азербайджан`,BS:`Багамы`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Беларусь`,BE:`Бельгия`,BZ:`Белиз`,BJ:`Бенин`,BT:`Бутан`,BO:`Боливия`,BA:`Босния и Герцеговина`,BW:`Ботсвана`,BR:`Бразилия`,BN:`Бруней`,BG:`Болгария`,BF:`Буркина-Фасо`,BI:`Бурунди`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`Центрально-Африканская Республика`,TD:`Чад`,CL:`Чили`,CN:`Китай`,CO:`Колумбия`,KM:`Коморы`,CG:`Конго - Браззавиль`,CD:`Конго - Киншаса`,CR:`Коста-Рика`,CI:`Кот-д’Ивуар`,HR:`Хорватия`,CU:`Куба`,CY:`Кипр`,CZ:`Чехия`,DK:`Дания`,DJ:`Джибути`,DM:`Доминика`,DO:`Доминиканская Республика`,EC:`Эквадор`,EG:`Египет`,SV:`Сальвадор`,GQ:`Экваториальная Гвинея`,ER:`Эритрея`,EE:`Эстония`,SZ:`Эсватини`,ET:`Эфиопия`,FJ:`Фиджи`,FI:`Финляндия`,FR:`Франция`,GA:`Габон`,GM:`Гамбия`,GE:`Грузия`,DE:`Германия`,GH:`Гана`,GR:`Греция`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвинея`,GW:`Гвинея-Бисау`,GY:`Гайана`,HT:`Гаити`,HN:`Гондурас`,HU:`Венгрия`,IS:`Исландия`,IN:`Индия`,ID:`Индонезия`,IR:`Иран`,IQ:`Ирак`,IE:`Ирландия`,IL:`Израиль`,IT:`Италия`,JM:`Ямайка`,JP:`Япония`,JO:`Иордания`,KZ:`Казахстан`,KE:`Кения`,KI:`Кирибати`,KP:`КНДР`,KR:`Республика Корея`,KW:`Кувейт`,KG:`Киргизия`,LA:`Лаос`,LV:`Латвия`,LB:`Ливан`,LS:`Лесото`,LR:`Либерия`,LY:`Ливия`,LI:`Лихтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малави`,MY:`Малайзия`,MV:`Мальдивы`,ML:`Мали`,MT:`Мальта`,MH:`Маршалловы о-ва`,MR:`Мавритания`,MU:`Маврикий`,MX:`Мексика`,FM:`Федеративные Штаты Микронезии`,MD:`Молдова`,MC:`Монако`,MN:`Монголия`,ME:`Черногория`,MA:`Марокко`,MZ:`Мозамбик`,MM:`Мьянма (Бирма)`,NA:`Намибия`,NR:`Науру`,NP:`Непал`,NL:`Нидерланды`,NZ:`Новая Зеландия`,NI:`Никарагуа`,NE:`Нигер`,NG:`Нигерия`,MK:`Северная Македония`,NO:`Норвегия`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа — Новая Гвинея`,PY:`Парагвай`,PE:`Перу`,PH:`Филиппины`,PL:`Польша`,PT:`Португалия`,QA:`Катар`,RO:`Румыния`,RU:`Россия`,RW:`Руанда`,KN:`Сент-Китс и Невис`,LC:`Сент-Люсия`,VC:`Сент-Винсент и Гренадины`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе и Принсипи`,SA:`Саудовская Аравия`,SN:`Сенегал`,RS:`Сербия`,SC:`Сейшельские о-ва`,SL:`Сьерра-Леоне`,SG:`Сингапур`,SK:`Словакия`,SI:`Словения`,SB:`Соломоновы о-ва`,SO:`Сомали`,ZA:`Южно-Африканская Республика`,SS:`Южный Судан`,ES:`Испания`,LK:`Шри-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеция`,CH:`Швейцария`,SY:`Сирия`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзания`,TH:`Таиланд`,TL:`Восточный Тимор`,TG:`Того`,TO:`Тонга`,TT:`Тринидад и Тобаго`,TN:`Тунис`,TR:`Турция`,TM:`Туркменистан`,TV:`Тувалу`,UG:`Уганда`,UA:`Украина`,AE:`ОАЭ`,GB:`Великобритания`,US:`Соединенные Штаты`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуэла`,VN:`Вьетнам`,YE:`Йемен`,ZM:`Замбия`,ZW:`Зимбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набор`,pack:`пачка`,s:`сек`,min:`мин`,h:`ч`,d:`день`,w:`неделя`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морская миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАч`,Ah:`Ач`,Wh:`Вт·ч`,kWh:`кВт·ч`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/ч`,mph:`mph`,kn:`узел`,"%":`%`,ppm:`ppm`}}},jr={common:{loading:`Loading…`,saving:`Saving…`,error:`Error`,back:`Back`,yes:`Yes`,no:`No`,notFound:`Type not found`,daysUnit:`d`,peopleUnit:`ppl`,empty:`No records`},actions:{new:`New`,addFirst:`Add first record`,edit:`Edit`,editAll:`Edit all`,save:`Save`,create:`Create`,cancel:`Cancel`,confirm:`Confirm`,confirmDelete:`Delete this record?`,delete:`Delete`,favoriteAdd:`Add to favorites`,favoriteRemove:`Remove from favorites`,upload:`Upload`,retry:`Retry`,replace:`Replace`,confirmDeletePhoto:`Delete photo?`,add:`Add`,actionSuccess:`Done`,actionError:`Error`,actionNotFound:`Action not registered`,notice:`Notice`},save:{saving:`Saving…`,done:`Saved`,failed:`Save failed`},upload:{tooLarge:`File too large (max 25 MB)`,failed:`Upload failed`,progress:`Upload progress`},files:{preview:`Preview`,download:`Download`,loadingPreview:`Loading preview…`,previewFailed:`Could not load preview`,previewTruncated:`Preview truncated at 1 MB.`},embed:{open:`Open`,pastePlaceholder:`Paste a URL…`,resolveFailed:`Could not load preview`},reminder:{today:`today`,inDays:`in {{days}}d`,overdue:`overdue {{days}}d`},nav:{selectType:`Select a type from the menu`,plugins:`Plugins`,home:`Home`,search:`Search`,settings:`Settings`,trash:`Trash`},trash:{title:`Trash`,description:`Deleted records remain in the database. Restore them here or remove them permanently.`,empty:`Trash is empty`,restore:`Restore`,purge:`Delete permanently`,confirmPurge:`Delete this record permanently? This cannot be undone.`,restored:`Record restored`,purged:`Record permanently deleted`},dashboard:{title:`Home`,empty:`No active shelves`},settings:{title:`Settings`,appearance:`Appearance`,theme:`Theme`,language:`Language`,systemDescription:`App-wide settings and base packages.`,systemUpdateTitle:`Update the base packages (core + runtime)`,componentsTitle:`Components`,componentsDescription:`System packages and plugins: updates, enable/disable, purge data.`,personalTitle:`Personal`,usersTitle:`Users`,usersDescription:`Manage every account on this instance.`,diagnosticsTitle:`Diagnostics`,diagnosticsDescription:`Inspect runtime health, agents, connectors, and recent orchestration activity.`},theme:{label:`Theme`,auto:`Auto`,light:`Light`,dark:`Dark`,eink:`E-ink`},diagnostics:{title:`Diagnostics`,description:`Runtime health and recent orchestration activity. Message content is not shown here.`,adminOnly:`Diagnostics are available to administrators only.`,refresh:`Refresh`,refreshing:`Refreshing…`,loadFailed:`Could not load diagnostics.`,server:`Server`,healthy:`Healthy`,unavailable:`Unavailable`,agents:`Registered agents`,connectors:`Registered connectors`,versions:`Package versions`,component:`Component`,installed:`Installed`,latest:`Latest`,outdated:`{{count}} package(s) have updates available.`,noData:`No version data.`,recentMessages:`Recent messages`,time:`Time`,connector:`Connector`,role:`Role`,duration:`Duration`,tokens:`Tokens in / out`,noMessages:`No message metrics yet.`,recentErrors:`Recent runtime errors`,noErrors:`No runtime errors recorded since the last restart.`},group:{title:`Grouping`,field:`Field`,all:`All records`,noValue:`No value`,yes:`Yes`,no:`No`},plugins:{loading:`Loading…`,restartBannerBefore:`Changes will take effect after `,restartBannerBold:`server restart`,restartBannerAfter:` (the active plugin set is read at startup).`,confirmPurge:`Delete ALL data for plugin "{{id}}"? Tables will be dropped permanently.`,genericError:`Error: {{code}}`,purgeButton:`Delete data`,purgeTitle:`Delete all plugin data (permanently)`,switchDisable:`Disable`,switchEnable:`Enable`,blockedByDependents:`Can't disable: enabled plugins depend on it — {{list}}`,metaDepends:`depends on:`,metaLibraries:`libraries:`,metaExtends:`extends:`,updateButton:`Update`,checkUpdates:`Check for updates`,checkingUpdates:`Checking…`,updateCheckError:`Could not check for updates.`,updatesAvailable:`Updates available: {{count}}.`,noUpdates:`No updates available.`,lastChecked:`Checked at {{time}}.`,restartTimeout:`Packages were installed, but the server did not confirm a restart within 60 seconds. Check diagnostics and try again later.`,updateTitle:`Update from v{{from}} to v{{to}}`,confirmUpdate:`Update plugin "{{id}}" from v{{from}} to v{{to}}? The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,updateError:`Update failed`,updateAllButton:`Update all ({{count}})`,runtimeLabel:`Runtime (server/web/cli)`,confirmUpdateAll:`Update {{count}} component(s)?
10
+ Сервер перезапустится сразу после установки — убедитесь, что он работает под process-manager'ом (systemd/pm2/docker), который автоматически его поднимет. Рекомендуется сделать резервную копию базы данных заранее.`,errors:{core_required:`Плагин core нельзя выключить.`,has_dependents:`От него зависят включённые: {{list}}.`,missing_deps:`Сначала включи зависимости: {{list}}.`,unknown_plugin:`Неизвестный плагин.`}},auth:{loginTitle:`Вход`,welcomeEyebrow:`Личное пространство`,welcomeTitle:`Ваши данные. Под вашим контролем.`,welcomeText:`Войдите, чтобы продолжить работу с Coffer.`,secureConnection:`Защищённое соединение`,setupTitle:`Создать первого администратора`,login:`Логин`,password:`Пароль`,displayName:`Имя`,signIn:`Войти`,createAccount:`Создать аккаунт`,invalidCredentials:`Неверный логин или пароль.`,genericError:`Что-то пошло не так.`,accountTitle:`Мой аккаунт`,sessionTitle:`Сессия`,logoutDescription:`Завершить текущую сессию на этом устройстве.`,logout:`Выйти`,fieldDisplayName:`Имя`,fieldLogin:`Логин`,fieldPasswordOptional:`Новый пароль (оставьте пустым, чтобы не менять)`,tokensTitle:`API-токены`,tokenNamePlaceholder:`Название токена (напр. "agent")`,tokenCreate:`Создать токен`,tokenCreatedOnce:`Скопируйте токен сейчас — он больше не будет показан:`,tokenRevoke:`Отозвать`,tokenConfirmRevoke:`Отозвать этот токен? Всё, что его использует, перестанет работать.`,grantsTitle:`Подключённые приложения`,grantsEmpty:`Ни одно приложение ещё не авторизовано. Они появятся здесь после подтверждения на экране согласия Coffer.`,grantConfirmRevoke:`Отключить это приложение? Его токены доступа перестанут работать сразу.`,usersTitle:`Пользователи`,addUser:`Добавить пользователя`,roleAdmin:`Админ`,roleMember:`Участник`,fieldRole:`Роль`,fieldDisabled:`Отключён`,userCreateTitle:`Новый пользователь`,lastAdminError:`Нельзя убрать последнего админа.`},form:{serverRejected:`Сервер отклонил:`,createTitle:`Новый — {{label}}`,editTitle:`Редактировать — {{label}}`,mdPlaceholder:`Текст в формате Markdown…`,photo:`+ Фото`,properties:`Свойства`,keyPlaceholder:`ключ`,valuePlaceholderShort:`значение`,addProperty:`Свойство`,days:`дн`,hours:`ч`,minutes:`мин`,seconds:`с`,addTag:`Добавить тег…`,addRow:`+ Добавить строку`,search:`Поиск…`,loading:`Загрузка…`,loadError:`Ошибка загрузки`,noRecords:`Нет записей`,addRecord:`+ Добавить…`,addItem:`+ Добавить пункт`},list:{empty:`Пока пусто`,searchPlaceholder:`Поиск…`,sortBy:`Сортировать по`,sortRating:`Рейтинг`,asc:`По возрастанию`,desc:`По убыванию`,peopleCount_one:`{{count}} чел.`,peopleCount_few:`{{count}} чел.`,peopleCount_many:`{{count}} чел.`,peopleCount_other:`{{count}} чел.`,pairsCount_one:`{{count}} пара`,pairsCount_few:`{{count}} пары`,pairsCount_many:`{{count}} пар`,pairsCount_other:`{{count}} пар`},search:{title:`Глобальный поиск`,placeholder:`Поиск полок и записей…`,allShelves:`Все полки`,results:`Результаты`,noResults:`Ничего не найдено`},record:{count_one:`{{count}} запись`,count_few:`{{count}} записи`,count_many:`{{count}} записей`,count_other:`{{count}} записей`,hide:`Скрыть`,show:`Показать`},extend:{shownWhen:`Показывается когда:`},weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`обязательное поле`,invalid_type:`недопустимый тип значения`,min_length:`минимум {{min}} симв.`,max_length:`максимум {{max}} симв.`,pattern:`недопустимый формат`,email:`некорректный email-адрес`,min:`не меньше {{min}}`,max:`не больше {{max}}`,int:`должно быть целым`,date_format:`формат YYYY-MM-DD`,date_min:`не раньше {{min}}`,date_max:`не позже {{max}}`,enum:`выберите из списка`,json:`невалидный JSON`,structure:`недопустимая структура`,int_list:`недопустимые ссылки на записи`,kv_single:`допустима только одна пара`,links_structure:`недопустимая структура подключений`,time_format:`формат HH:MM:SS`,datetime_format:`формат YYYY-MM-DDTHH:MM`,tags_list:`ожидается массив тегов`,slotted_length:`неверное количество элементов`,check_structure:`неверная структура отметки`,measured_structure:`ожидается {value, unit}`,measured_unit:`неизвестная единица`,money_structure:`некорректная сумма`,geo_structure:`ожидается {lat, lng}`,money_currency:`неизвестная валюта`,color_format:`формат #RRGGBB`,row_structure:`недопустимая структура строк`,row_duplicate:`значение «{{key}}» повторяется между строками`,array:`ожидается массив`,array_item:`недопустимое значение в массиве`,ip_structure:`недопустимый IP-адрес`,cidr_structure:`недопустимый CIDR`,per_weekday:`массив из 7 чисел`,period_order:`начало не должно быть позже конца`,range_structure:`ожидается {from, to}`,last_admin:`Нельзя убрать последнего админа.`,range_order:`from должно быть ≤ to`,file_structure:`некорректный файл`,file_remote_url:`file-поле хранит загруженный файл, а не удалённый URL`,file_unknown_key:`у файла могут быть только name, mime и size`,file_name:`ожидается голое имя файла, без пути`,file_not_uploaded:`такого загруженного файла нет — сначала загрузите его`,code_structure:`ожидается {code, lang}`,url:`некорректный URL`,embed_structure:`некорректное вложение`,colorname:`неизвестное название цвета`},core:{plugin:{label:`Система`},settings:{label:`Система`,publicUrl:`Публичный адрес`,publicUrlHint:`Только origin, без завершающего слеша — напр. https://coffer.example`,language:`Язык`},fields:{type:`Тип`,name:`Название`,weekday:`День недели`,value:`Значение`,text:`Текст`,check:`Отметка`},presets:{slug:`только строчные латинские буквы, цифры и дефис`,imei:`IMEI — ровно 15 цифр`,mac:`MAC — формат XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 буквы, 2 цифры, далее буквы и цифры (без пробелов)`,hostname:`имя хоста / FQDN (метки через точку: буквы, цифры, дефис)`,tel:`номер телефона`,link:`URL (scheme:// или домен с точкой)`},lookup:{enough:`Достаточно`,partial:`Частично`,missing:`Нет`,noData:`нет данных`},period:{from:`С`,until:`По`},sex:{M:`Мужской`,F:`Женский`,other:`Другой`},weekdays:{mon:`Понедельник`,tue:`Вторник`,wed:`Среда`,thu:`Четверг`,fri:`Пятница`,sat:`Суббота`,sun:`Воскресенье`},colors:x.ru,countries:{AF:`Афганистан`,AL:`Албания`,DZ:`Алжир`,AD:`Андорра`,AO:`Ангола`,AG:`Антигуа и Барбуда`,AR:`Аргентина`,AM:`Армения`,AU:`Австралия`,AT:`Австрия`,AZ:`Азербайджан`,BS:`Багамы`,BH:`Бахрейн`,BD:`Бангладеш`,BY:`Беларусь`,BE:`Бельгия`,BZ:`Белиз`,BJ:`Бенин`,BT:`Бутан`,BO:`Боливия`,BA:`Босния и Герцеговина`,BW:`Ботсвана`,BR:`Бразилия`,BN:`Бруней`,BG:`Болгария`,BF:`Буркина-Фасо`,BI:`Бурунди`,CV:`Кабо-Верде`,KH:`Камбоджа`,CM:`Камерун`,CA:`Канада`,CF:`Центрально-Африканская Республика`,TD:`Чад`,CL:`Чили`,CN:`Китай`,CO:`Колумбия`,KM:`Коморы`,CG:`Конго - Браззавиль`,CD:`Конго - Киншаса`,CR:`Коста-Рика`,CI:`Кот-д’Ивуар`,HR:`Хорватия`,CU:`Куба`,CY:`Кипр`,CZ:`Чехия`,DK:`Дания`,DJ:`Джибути`,DM:`Доминика`,DO:`Доминиканская Республика`,EC:`Эквадор`,EG:`Египет`,SV:`Сальвадор`,GQ:`Экваториальная Гвинея`,ER:`Эритрея`,EE:`Эстония`,SZ:`Эсватини`,ET:`Эфиопия`,FJ:`Фиджи`,FI:`Финляндия`,FR:`Франция`,GA:`Габон`,GM:`Гамбия`,GE:`Грузия`,DE:`Германия`,GH:`Гана`,GR:`Греция`,GD:`Гренада`,GT:`Гватемала`,GN:`Гвинея`,GW:`Гвинея-Бисау`,GY:`Гайана`,HT:`Гаити`,HN:`Гондурас`,HU:`Венгрия`,IS:`Исландия`,IN:`Индия`,ID:`Индонезия`,IR:`Иран`,IQ:`Ирак`,IE:`Ирландия`,IL:`Израиль`,IT:`Италия`,JM:`Ямайка`,JP:`Япония`,JO:`Иордания`,KZ:`Казахстан`,KE:`Кения`,KI:`Кирибати`,KP:`КНДР`,KR:`Республика Корея`,KW:`Кувейт`,KG:`Киргизия`,LA:`Лаос`,LV:`Латвия`,LB:`Ливан`,LS:`Лесото`,LR:`Либерия`,LY:`Ливия`,LI:`Лихтенштейн`,LT:`Литва`,LU:`Люксембург`,MG:`Мадагаскар`,MW:`Малави`,MY:`Малайзия`,MV:`Мальдивы`,ML:`Мали`,MT:`Мальта`,MH:`Маршалловы о-ва`,MR:`Мавритания`,MU:`Маврикий`,MX:`Мексика`,FM:`Федеративные Штаты Микронезии`,MD:`Молдова`,MC:`Монако`,MN:`Монголия`,ME:`Черногория`,MA:`Марокко`,MZ:`Мозамбик`,MM:`Мьянма (Бирма)`,NA:`Намибия`,NR:`Науру`,NP:`Непал`,NL:`Нидерланды`,NZ:`Новая Зеландия`,NI:`Никарагуа`,NE:`Нигер`,NG:`Нигерия`,MK:`Северная Македония`,NO:`Норвегия`,OM:`Оман`,PK:`Пакистан`,PW:`Палау`,PA:`Панама`,PG:`Папуа — Новая Гвинея`,PY:`Парагвай`,PE:`Перу`,PH:`Филиппины`,PL:`Польша`,PT:`Португалия`,QA:`Катар`,RO:`Румыния`,RU:`Россия`,RW:`Руанда`,KN:`Сент-Китс и Невис`,LC:`Сент-Люсия`,VC:`Сент-Винсент и Гренадины`,WS:`Самоа`,SM:`Сан-Марино`,ST:`Сан-Томе и Принсипи`,SA:`Саудовская Аравия`,SN:`Сенегал`,RS:`Сербия`,SC:`Сейшельские о-ва`,SL:`Сьерра-Леоне`,SG:`Сингапур`,SK:`Словакия`,SI:`Словения`,SB:`Соломоновы о-ва`,SO:`Сомали`,ZA:`Южно-Африканская Республика`,SS:`Южный Судан`,ES:`Испания`,LK:`Шри-Ланка`,SD:`Судан`,SR:`Суринам`,SE:`Швеция`,CH:`Швейцария`,SY:`Сирия`,TW:`Тайвань`,TJ:`Таджикистан`,TZ:`Танзания`,TH:`Таиланд`,TL:`Восточный Тимор`,TG:`Того`,TO:`Тонга`,TT:`Тринидад и Тобаго`,TN:`Тунис`,TR:`Турция`,TM:`Туркменистан`,TV:`Тувалу`,UG:`Уганда`,UA:`Украина`,AE:`ОАЭ`,GB:`Великобритания`,US:`Соединенные Штаты`,UY:`Уругвай`,UZ:`Узбекистан`,VU:`Вануату`,VE:`Венесуэла`,VN:`Вьетнам`,YE:`Йемен`,ZM:`Замбия`,ZW:`Зимбабве`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`мг`,g:`г`,kg:`кг`,t:`т`,oz:`oz`,lb:`lb`,ml:`мл`,cl:`сл`,dl:`дл`,l:`л`,tsp:`ч.л.`,tbsp:`ст.л.`,cup:`чашка`,fl_oz:`fl oz`,pcs:`шт`,pair:`пара`,set:`набор`,pack:`пачка`,s:`сек`,min:`мин`,h:`ч`,d:`день`,w:`неделя`,C:`°C`,F:`°F`,K:`К`,mm:`мм`,cm:`см`,m:`м`,km:`км`,in:`дюйм`,ft:`фут`,mi:`миля`,nm:`морская миля`,cm2:`см²`,m2:`м²`,ha:`га`,km2:`км²`,ft2:`фут²`,ac:`акр`,B:`Б`,KB:`КБ`,MB:`МБ`,GB:`ГБ`,TB:`ТБ`,mAh:`мАч`,Ah:`Ач`,Wh:`Вт·ч`,kWh:`кВт·ч`,mW:`мВт`,W:`Вт`,kW:`кВт`,mV:`мВ`,V:`В`,ms:`м/с`,kmh:`км/ч`,mph:`mph`,kn:`узел`,"%":`%`,ppm:`ppm`}}},jr={common:{loading:`Loading…`,saving:`Saving…`,error:`Error`,back:`Back`,yes:`Yes`,no:`No`,notFound:`Type not found`,daysUnit:`d`,peopleUnit:`ppl`,empty:`No records`},actions:{new:`New`,addFirst:`Add first record`,edit:`Edit`,editAll:`Edit all`,save:`Save`,create:`Create`,cancel:`Cancel`,confirm:`Confirm`,confirmDelete:`Delete this record?`,delete:`Delete`,favoriteAdd:`Add to favorites`,favoriteRemove:`Remove from favorites`,upload:`Upload`,retry:`Retry`,replace:`Replace`,confirmDeletePhoto:`Delete photo?`,add:`Add`,actionSuccess:`Done`,actionError:`Error`,actionNotFound:`Action not registered`,notice:`Notice`},save:{saving:`Saving…`,done:`Saved`,failed:`Save failed`},upload:{tooLarge:`File too large (max 25 MB)`,failed:`Upload failed`,progress:`Upload progress`},files:{preview:`Preview`,download:`Download`,loadingPreview:`Loading preview…`,previewFailed:`Could not load preview`,previewTruncated:`Preview truncated at 1 MB.`},embed:{open:`Open`,pastePlaceholder:`Paste a URL…`,resolveFailed:`Could not load preview`},reminder:{today:`today`,inDays:`in {{days}}d`,overdue:`overdue {{days}}d`},nav:{selectType:`Select a type from the menu`,plugins:`Plugins`,home:`Home`,search:`Search`,settings:`Settings`,trash:`Trash`},trash:{title:`Trash`,description:`Deleted records remain in the database. Restore them here or remove them permanently.`,empty:`Trash is empty`,restore:`Restore`,purge:`Delete permanently`,confirmPurge:`Delete this record permanently? This cannot be undone.`,restored:`Record restored`,purged:`Record permanently deleted`},dashboard:{title:`Home`,empty:`No active shelves`},settings:{title:`Settings`,appearance:`Appearance`,theme:`Theme`,language:`Language`,systemDescription:`App-wide settings and base packages.`,systemUpdateTitle:`Update the base packages (core + runtime)`,componentsTitle:`Components`,componentsDescription:`System packages and plugins: updates, enable/disable, purge data.`,personalTitle:`Personal`,usersTitle:`Users`,usersDescription:`Manage every account on this instance.`,diagnosticsTitle:`Diagnostics`,diagnosticsDescription:`Inspect runtime health, agents, connectors, and recent orchestration activity.`},theme:{label:`Theme`,auto:`Auto`,light:`Light`,dark:`Dark`,eink:`E-ink`},diagnostics:{title:`Diagnostics`,description:`Runtime health and recent orchestration activity. Message content is not shown here.`,adminOnly:`Diagnostics are available to administrators only.`,refresh:`Refresh`,refreshing:`Refreshing…`,loadFailed:`Could not load diagnostics.`,server:`Server`,healthy:`Healthy`,unavailable:`Unavailable`,agents:`Registered agents`,connectors:`Registered connectors`,versions:`Package versions`,component:`Component`,installed:`Installed`,latest:`Latest`,outdated:`{{count}} package(s) have updates available.`,noData:`No version data.`,recentMessages:`Recent messages`,time:`Time`,connector:`Connector`,role:`Role`,duration:`Duration`,tokens:`Tokens in / out`,noMessages:`No message metrics yet.`,recentErrors:`Recent runtime errors`,noErrors:`No runtime errors recorded since the last restart.`},group:{title:`Grouping`,field:`Field`,all:`All records`,noValue:`No value`,yes:`Yes`,no:`No`},plugins:{loading:`Loading…`,restartBannerBefore:`Changes will take effect after `,restartBannerBold:`server restart`,restartBannerAfter:` (the active plugin set is read at startup).`,confirmPurge:`Delete ALL data for plugin "{{id}}"? Tables will be dropped permanently.`,genericError:`Error: {{code}}`,purgeButton:`Delete data`,purgeTitle:`Delete all plugin data (permanently)`,switchDisable:`Disable`,switchEnable:`Enable`,blockedByDependents:`Can't disable: enabled plugins depend on it — {{list}}`,metaDepends:`depends on:`,metaLibraries:`libraries:`,metaExtends:`extends:`,updateButton:`Update`,checkUpdates:`Check for updates`,checkingUpdates:`Checking…`,updateCheckError:`Could not check for updates.`,updatesAvailable:`Updates available: {{count}}.`,noUpdates:`No updates available.`,lastChecked:`Checked at {{time}}.`,restartTimeout:`Packages were installed, but the server did not confirm a restart within 60 seconds. Check diagnostics and try again later.`,updateTitle:`Update from v{{from}} to v{{to}}`,confirmUpdate:`Update plugin "{{id}}" from v{{from}} to v{{to}}? The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,updateError:`Update failed`,updateAllButton:`Update all ({{count}})`,runtimeLabel:`Runtime (server/web/cli)`,confirmUpdateAll:`Update {{count}} component(s)?
11
11
 
12
12
  {{list}}
13
13
 
14
- The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,errors:{core_required:`The core plugin cannot be disabled.`,has_dependents:`Enabled plugins depend on it: {{list}}.`,missing_deps:`Enable dependencies first: {{list}}.`,unknown_plugin:`Unknown plugin.`}},auth:{loginTitle:`Sign in`,welcomeEyebrow:`Personal workspace`,welcomeTitle:`Your data. In your hands.`,welcomeText:`Sign in to continue working with Coffer.`,secureConnection:`Secure connection`,setupTitle:`Create the first admin account`,login:`Login`,password:`Password`,displayName:`Display name`,signIn:`Sign in`,createAccount:`Create account`,invalidCredentials:`Wrong login or password.`,genericError:`Something went wrong.`,accountTitle:`My account`,sessionTitle:`Session`,logoutDescription:`End the current session on this device.`,logout:`Sign out`,fieldDisplayName:`Display name`,fieldLogin:`Login`,fieldPasswordOptional:`New password (leave blank to keep unchanged)`,tokensTitle:`API tokens`,tokenNamePlaceholder:`Token name (e.g. "agent")`,tokenCreate:`Create token`,tokenCreatedOnce:`Copy this token now — it will not be shown again:`,tokenRevoke:`Revoke`,tokenConfirmRevoke:`Revoke this token? Anything using it will stop working.`,grantsTitle:`Connected apps`,grantsEmpty:`No app has been authorized yet. Apps appear here after you approve them on the Coffer consent screen.`,grantConfirmRevoke:`Disconnect this app? Its access tokens stop working immediately.`,usersTitle:`Users`,addUser:`Add user`,roleAdmin:`Admin`,roleMember:`Member`,fieldRole:`Role`,fieldDisabled:`Disabled`,userCreateTitle:`New user`,lastAdminError:`Cannot remove the last admin.`},form:{serverRejected:`Server rejected:`,createTitle:`New — {{label}}`,editTitle:`Edit — {{label}}`,mdPlaceholder:`Markdown text…`,photo:`+ Photo`,properties:`Properties`,keyPlaceholder:`key`,valuePlaceholderShort:`value`,addProperty:`Property`,days:`d`,hours:`h`,minutes:`min`,seconds:`s`,addTag:`Add tag…`,addRow:`+ Add row`,search:`Search…`,loading:`Loading…`,loadError:`Load error`,noRecords:`No records`,addRecord:`+ Add…`,addItem:`+ Add item`},list:{empty:`Nothing here yet`,searchPlaceholder:`Search…`,sortBy:`Sort by`,sortNone:`No sorting`,asc:`Ascending`,desc:`Descending`,peopleCount_one:`{{count}} person`,peopleCount_other:`{{count}} ppl`,pairsCount_one:`{{count}} pair`,pairsCount_other:`{{count}} pairs`},search:{title:`Global Search`,placeholder:`Search shelves and records…`,allShelves:`All shelves`,results:`Results`,noResults:`Nothing found`},record:{count_one:`{{count}} record`,count_other:`{{count}} records`,hide:`Hide`,show:`Show`},extend:{shownWhen:`Shown when:`},weekdaysShort:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`required field`,invalid_type:`invalid value type`,min_length:`minimum {{min}} chars`,max_length:`maximum {{max}} chars`,pattern:`invalid format`,email:`invalid email address`,min:`at least {{min}}`,max:`at most {{max}}`,int:`must be an integer`,date_format:`format YYYY-MM-DD`,date_min:`not earlier than {{min}}`,date_max:`not later than {{max}}`,enum:`choose from the list`,json:`invalid JSON`,structure:`invalid structure`,int_list:`invalid record references`,kv_single:`only one pair allowed`,links_structure:`invalid connections structure`,time_format:`format HH:MM:SS`,datetime_format:`format YYYY-MM-DDTHH:MM`,tags_list:`expected array of tags`,slotted_length:`wrong number of items`,check_structure:`invalid check structure`,measured_structure:`expected {value, unit}`,measured_unit:`unknown unit`,money_structure:`invalid amount`,geo_structure:`expected {lat, lng}`,money_currency:`unknown currency`,color_format:`format #RRGGBB`,row_structure:`invalid row structure`,row_duplicate:`value "{{key}}" is duplicated across rows`,array:`expected an array`,array_item:`invalid value in array`,ip_structure:`invalid IP address`,cidr_structure:`invalid CIDR`,per_weekday:`array of 7 numbers`,period_order:`start must not be after end`,range_structure:`expected {from, to}`,last_admin:`Cannot remove the last admin.`,range_order:`from must be ≤ to`,file_structure:`invalid file`,file_remote_url:`file fields hold an uploaded file, not a remote URL`,file_unknown_key:`a file may only carry name, mime and size`,file_name:`expected a bare filename, without a path`,file_not_uploaded:`no such uploaded file — upload it first`,code_structure:`expected {code, lang}`,url:`invalid URL`,embed_structure:`invalid embed`,colorname:`unknown color name`},core:{plugin:{label:`System`},settings:{label:`System`,publicUrl:`Public URL`,publicUrlHint:`Origin only, no trailing slash — e.g. https://coffer.example`,language:`Language`},fields:{type:`Type`,name:`Name`,weekday:`Weekday`,value:`Value`,text:`Text`,check:`Check`},presets:{slug:`lowercase latin letters, digits and hyphen only`,imei:`IMEI — exactly 15 digits`,mac:`MAC — format XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 letters, 2 digits, then letters and digits (no spaces)`,hostname:`hostname / FQDN (dot-separated labels: letters, digits, hyphen)`,tel:`phone number`,link:`URL (scheme:// or a domain with a dot)`},lookup:{enough:`Enough`,partial:`Partial`,missing:`Missing`,noData:`no data`},period:{from:`From`,until:`Until`},sex:{M:`Male`,F:`Female`,other:`Other`},weekdays:{mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`,sun:`Sunday`},colors:x.en,countries:{AF:`Afghanistan`,AL:`Albania`,DZ:`Algeria`,AD:`Andorra`,AO:`Angola`,AG:`Antigua & Barbuda`,AR:`Argentina`,AM:`Armenia`,AU:`Australia`,AT:`Austria`,AZ:`Azerbaijan`,BS:`Bahamas`,BH:`Bahrain`,BD:`Bangladesh`,BY:`Belarus`,BE:`Belgium`,BZ:`Belize`,BJ:`Benin`,BT:`Bhutan`,BO:`Bolivia`,BA:`Bosnia & Herzegovina`,BW:`Botswana`,BR:`Brazil`,BN:`Brunei`,BG:`Bulgaria`,BF:`Burkina Faso`,BI:`Burundi`,CV:`Cape Verde`,KH:`Cambodia`,CM:`Cameroon`,CA:`Canada`,CF:`Central African Republic`,TD:`Chad`,CL:`Chile`,CN:`China`,CO:`Colombia`,KM:`Comoros`,CG:`Congo - Brazzaville`,CD:`Congo - Kinshasa`,CR:`Costa Rica`,CI:`Côte d’Ivoire`,HR:`Croatia`,CU:`Cuba`,CY:`Cyprus`,CZ:`Czechia`,DK:`Denmark`,DJ:`Djibouti`,DM:`Dominica`,DO:`Dominican Republic`,EC:`Ecuador`,EG:`Egypt`,SV:`El Salvador`,GQ:`Equatorial Guinea`,ER:`Eritrea`,EE:`Estonia`,SZ:`Eswatini`,ET:`Ethiopia`,FJ:`Fiji`,FI:`Finland`,FR:`France`,GA:`Gabon`,GM:`Gambia`,GE:`Georgia`,DE:`Germany`,GH:`Ghana`,GR:`Greece`,GD:`Grenada`,GT:`Guatemala`,GN:`Guinea`,GW:`Guinea-Bissau`,GY:`Guyana`,HT:`Haiti`,HN:`Honduras`,HU:`Hungary`,IS:`Iceland`,IN:`India`,ID:`Indonesia`,IR:`Iran`,IQ:`Iraq`,IE:`Ireland`,IL:`Israel`,IT:`Italy`,JM:`Jamaica`,JP:`Japan`,JO:`Jordan`,KZ:`Kazakhstan`,KE:`Kenya`,KI:`Kiribati`,KP:`North Korea`,KR:`South Korea`,KW:`Kuwait`,KG:`Kyrgyzstan`,LA:`Laos`,LV:`Latvia`,LB:`Lebanon`,LS:`Lesotho`,LR:`Liberia`,LY:`Libya`,LI:`Liechtenstein`,LT:`Lithuania`,LU:`Luxembourg`,MG:`Madagascar`,MW:`Malawi`,MY:`Malaysia`,MV:`Maldives`,ML:`Mali`,MT:`Malta`,MH:`Marshall Islands`,MR:`Mauritania`,MU:`Mauritius`,MX:`Mexico`,FM:`Micronesia`,MD:`Moldova`,MC:`Monaco`,MN:`Mongolia`,ME:`Montenegro`,MA:`Morocco`,MZ:`Mozambique`,MM:`Myanmar (Burma)`,NA:`Namibia`,NR:`Nauru`,NP:`Nepal`,NL:`Netherlands`,NZ:`New Zealand`,NI:`Nicaragua`,NE:`Niger`,NG:`Nigeria`,MK:`North Macedonia`,NO:`Norway`,OM:`Oman`,PK:`Pakistan`,PW:`Palau`,PA:`Panama`,PG:`Papua New Guinea`,PY:`Paraguay`,PE:`Peru`,PH:`Philippines`,PL:`Poland`,PT:`Portugal`,QA:`Qatar`,RO:`Romania`,RU:`Russia`,RW:`Rwanda`,KN:`St. Kitts & Nevis`,LC:`St. Lucia`,VC:`St. Vincent & Grenadines`,WS:`Samoa`,SM:`San Marino`,ST:`São Tomé & Príncipe`,SA:`Saudi Arabia`,SN:`Senegal`,RS:`Serbia`,SC:`Seychelles`,SL:`Sierra Leone`,SG:`Singapore`,SK:`Slovakia`,SI:`Slovenia`,SB:`Solomon Islands`,SO:`Somalia`,ZA:`South Africa`,SS:`South Sudan`,ES:`Spain`,LK:`Sri Lanka`,SD:`Sudan`,SR:`Suriname`,SE:`Sweden`,CH:`Switzerland`,SY:`Syria`,TW:`Taiwan`,TJ:`Tajikistan`,TZ:`Tanzania`,TH:`Thailand`,TL:`Timor-Leste`,TG:`Togo`,TO:`Tonga`,TT:`Trinidad & Tobago`,TN:`Tunisia`,TR:`Türkiye`,TM:`Turkmenistan`,TV:`Tuvalu`,UG:`Uganda`,UA:`Ukraine`,AE:`United Arab Emirates`,GB:`United Kingdom`,US:`United States`,UY:`Uruguay`,UZ:`Uzbekistan`,VU:`Vanuatu`,VE:`Venezuela`,VN:`Vietnam`,YE:`Yemen`,ZM:`Zambia`,ZW:`Zimbabwe`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`mg`,g:`g`,kg:`kg`,t:`t`,oz:`oz`,lb:`lb`,ml:`ml`,cl:`cl`,dl:`dl`,l:`l`,tsp:`tsp`,tbsp:`tbsp`,cup:`cup`,fl_oz:`fl oz`,pcs:`pcs`,pair:`pair`,set:`set`,pack:`pack`,s:`s`,min:`min`,h:`h`,d:`day`,w:`week`,C:`°C`,F:`°F`,K:`K`,mm:`mm`,cm:`cm`,m:`m`,km:`km`,in:`in`,ft:`ft`,mi:`mi`,nm:`nmi`,cm2:`cm²`,m2:`m²`,ha:`ha`,km2:`km²`,ft2:`ft²`,ac:`ac`,B:`B`,KB:`KB`,MB:`MB`,GB:`GB`,TB:`TB`,mAh:`mAh`,Ah:`Ah`,Wh:`Wh`,kWh:`kWh`,mW:`mW`,W:`W`,kW:`kW`,mV:`mV`,V:`V`,ms:`m/s`,kmh:`km/h`,mph:`mph`,kn:`kn`,"%":`%`,ppm:`ppm`}}},Mr=typeof localStorage<`u`?localStorage.getItem(`lang`)??`uk`:`uk`;r.use(i).init({resources:{uk:{translation:kr},ru:{translation:Ar},en:{translation:jr}},lng:Mr,fallbackLng:`uk`,interpolation:{escapeValue:!1},parseMissingKeyHandler:e=>(console.warn(`[i18n] missing key:`,e),e)}),fetch(`/api/plugins/core/settings`).then(e=>e.ok?e.json():null).then(e=>{let t=e?.language;if(t&&t!==r.language){r.changeLanguage(t);try{localStorage.setItem(`lang`,t)}catch{}}}).catch(e=>console.warn(`[i18n] language reconcile failed:`,e));var Nr=r,Pr=e({default:()=>Fr}),Fr={"claude-agent":{plugin:{label:`Claude AI agent`,description:`In-process Claude Agent SDK runtime with optional RAG.`},settings:{label:`Agent settings`,groups:{runtime:`Model & runtime`,rag:`RAG search`,langfuse:`Langfuse tracing`},auth_mode:`Billing mode`,auth_mode_subscription:`Subscription (session from system)`,auth_mode_api_key:`API key (pay per token)`,anthropic_api_key:`Anthropic API key`,claude_model:`Claude model`,skip_permissions:`Skip permissions check`,response_timeout:`Response timeout (s)`,rag_enabled:`Enable RAG`,openai_api_key:`OpenAI API key (embeddings, optional — default from OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Enable Langfuse tracing`,thinking_enabled:`Extended thinking (opus/sonnet/fable only)`}}},Ir=e({default:()=>Lr}),Lr={"claude-agent":{plugin:{label:`Claude AI-агент`,description:`Рантайм Claude Agent SDK в процессе с опциональным RAG.`},settings:{label:`Настройки агента`,groups:{runtime:`Модель и выполнение`,rag:`Поиск RAG`,langfuse:`Трейсинг Langfuse`},auth_mode:`Способ оплаты`,auth_mode_subscription:`Подписка (сессия из системы)`,auth_mode_api_key:`API-ключ (оплата за токены)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустить проверку прав`,response_timeout:`Тайм-аут ответа (с)`,rag_enabled:`Включить RAG`,openai_api_key:`Ключ OpenAI (эмбеддинги, опц. — по умолчанию из OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Включить трейсинг Langfuse`,thinking_enabled:`Extended thinking (только opus/sonnet/fable)`}}},Rr=e({default:()=>zr}),zr={"claude-agent":{plugin:{label:`Claude AI-агент`,description:`Рантайм Claude Agent SDK у процесі з опційним RAG.`},settings:{label:`Налаштування агента`,groups:{runtime:`Модель і виконання`,rag:`Пошук RAG`,langfuse:`Трейсинг Langfuse`},auth_mode:`Спосіб оплати`,auth_mode_subscription:`Підписка (сесія з системи)`,auth_mode_api_key:`API-ключ (оплата за токени)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустити перевірку прав`,response_timeout:`Тайм-аут відповіді (с)`,rag_enabled:`Увімкнути RAG`,openai_api_key:`Ключ OpenAI (ембединги, опц. — типово з OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Увімкнути трейсинг Langfuse`,thinking_enabled:`Extended thinking (лише opus/sonnet/fable)`}}},Br=e({console:()=>Vr,default:()=>Hr}),Vr={plugin:{label:`Console access`,description:`Drive Coffer from a terminal AI (Claude Code / Codex) via the coffer MCP.`},settings:{label:`Console access`,intro:"## Use Coffer from the console\n\nThe Coffer server itself exposes your libraries to a terminal AI as MCP tools (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, plus the tools of any installed plugin). It is schema-driven: any plugin or library you enable shows up after a server restart — no client changes.\n\nThe transport is **Streamable HTTP** on `POST /mcp` of that same server (default `http://localhost:7023/mcp`); there is no separate process — `npx @coffer-org/mcp` starts nothing. You need an API token: **Settings → API tokens**. The token's role decides the tool set (`member` — data, `admin` — plus plugin admin tools).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nThen in any session the tools appear as `mcp__coffer__*`. Ask e.g. _"list my libraries"_ or _"add a record to …"_ and the agent calls them directly.',codex:'### Codex CLI\n\nAdd to `~/.codex/config.toml` (keep the token in the `COFFER_TOKEN` environment variable):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Skills\n\nFor repeatable flows, drop a `SKILL.md` (Claude Code) or a prompt file that chains the `coffer` tools — e.g. a weekly review that reads a library and writes a summary record. The MCP tools are the only building blocks you need; no Coffer-specific SDK is required on the client side."}},Hr={console:Vr},Ur=e({console:()=>Wr,default:()=>Gr}),Wr={plugin:{label:`Консольный доступ`,description:`Управляй Coffer из терминального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольный доступ`,intro:"## Coffer из консоли\n\nСам сервер Coffer отдаёт твои библиотеки терминальному AI как MCP-инструменты (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс инструменты установленных плагинов). Управляется схемой: любой включённый плагин или библиотека появляется после перезапуска сервера — без изменений на клиенте.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того же сервера (по умолчанию `http://localhost:7023/mcp`); отдельного процесса нет, `npx @coffer-org/mcp` ничего не запускает. Нужен API-токен: **Настройки → API-токены**. Роль токена определяет набор инструментов (`member` — данные, `admin` — плюс админские инструменты плагинов).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nЗатем в любой сессии инструменты появляются как `mcp__coffer__*`. Спроси напр. _«покажи мои библиотеки»_ или _«добавь запись в …»_ — агент вызовет их напрямую.',codex:'### Codex CLI\n\nДобавь в `~/.codex/config.toml` (токен — в переменной окружения `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навыки (skills)\n\nДля повторяющихся сценариев положи `SKILL.md` (Claude Code) или промпт-файл, который цепочкой вызывает инструменты `coffer` — напр. еженедельный обзор, читающий библиотеку и пишущий запись-итог. MCP-инструментов достаточно; отдельный Coffer SDK на клиенте не нужен."}},Gr={console:Wr},Kr=e({console:()=>qr,default:()=>Jr}),qr={plugin:{label:`Консольний доступ`,description:`Керуй Coffer з термінального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольний доступ`,intro:"## Coffer з консолі\n\nСам сервер Coffer віддає твої бібліотеки термінальному AI як MCP-інструменти (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс інструменти встановлених плагінів). Керується схемою: будь-який увімкнений плагін чи бібліотека зʼявляється після перезапуску сервера — без змін на клієнті.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того самого сервера (типово `http://localhost:7023/mcp`); окремого процесу немає, `npx @coffer-org/mcp` нічого не запускає. Потрібен API-токен: **Налаштування → API-токени**. Роль токена вирішує набір інструментів (`member` — дані, `admin` — ще й адмінські інструменти плагінів).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nПотім у будь-якій сесії інструменти зʼявляються як `mcp__coffer__*`. Спитай напр. _«покажи мої бібліотеки»_ або _«додай запис до …»_ — агент викличе їх напряму.',codex:'### Codex CLI\n\nДодай у `~/.codex/config.toml` (токен — у змінній оточення `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навички (skills)\n\nДля повторюваних сценаріїв поклади `SKILL.md` (Claude Code) або промпт-файл, що ланцюжком викликає інструменти `coffer` — напр. щотижневий огляд, який читає бібліотеку й пише запис-підсумок. MCP-інструментів достатньо; окремий Coffer SDK на клієнті не потрібен."}},Jr={console:qr},Yr=e({default:()=>Zr,devices:()=>Xr}),Xr={plugin:{label:`Devices & network`,description:`Networks, devices and their settings.`},settings:{label:`Network scan`,scan_info:`LAN scan runs automatically twice a day. Press the button to run a scan now.`,scan_button:`Scan now`,secrets_help:"<details>\n<summary>How to fill service secrets</summary>\n\nAdd plaintext secrets to `~/.profile` as `export PREFIX_FIELD=value`. The LAN scan reads them and fills the matching secret slots on each service card. Hashed values (bcrypt/argon2/…) are skipped. Empty slots are always created so you can fill them manually.\n\n| Service | Variables |\n| --- | --- |\n| Home Assistant | `HOME_ASSISTANT_LOGIN`, `HOME_ASSISTANT_PASSWORD`, `HOME_ASSISTANT_TOKEN` |\n| Nextcloud | `NEXTCLOUD_LOGIN`, `NEXTCLOUD_PASSWORD`, `NEXTCLOUD_TOKEN` |\n| Syncthing | `SYNCTHING_TOKEN`, `SYNCTHING_LOGIN`, `SYNCTHING_PASSWORD` |\n| Transmission | `TRANSMISSION_LOGIN`, `TRANSMISSION_PASSWORD` |\n| Firefly III | `FIREFLY_TOKEN`, `FIREFLY_PASSWORD`, `FIREFLY_CRON_TOKEN` |\n| MariaDB | `MARIADB_ROOT_PASSWORD`, `MARIADB_USER`, `MARIADB_PASSWORD` |\n| Pi-hole | `PIHOLE_PASSWORD`, `PIHOLE_TOKEN` |\n| Kodi | `KODI_LOGIN`, `KODI_PASSWORD` |\n| Gitea | `GITEA_API_KEY`, `GITEA_PASSWORD` |\n| Grafana | `GRAFANA_LOGIN`, `GRAFANA_PASSWORD`, `GRAFANA_TOKEN` |\n| Vaultwarden | `VAULTWARDEN_ADMIN_TOKEN` |\n| Portainer | `PORTAINER_LOGIN`, `PORTAINER_PASSWORD` |\n| Proxmox | `PROXMOX_ROOT_PASSWORD`, `PROXMOX_TOKEN` |\n| AdGuard Home | `ADGUARD_LOGIN`, `ADGUARD_PASSWORD` |\n| Uptime Kuma | `UPTIME_KUMA_LOGIN`, `UPTIME_KUMA_PASSWORD` |\n| Node-RED | `NODE_RED_PASSWORD`, `NODE_RED_TOKEN` |\n| qBittorrent | `QBITTORRENT_LOGIN`, `QBITTORRENT_PASSWORD` |\n| Radarr | `RADARR_API_KEY` |\n| Sonarr | `SONARR_API_KEY` |\n| Prowlarr | `PROWLARR_API_KEY` |\n| Jellyfin | `JELLYFIN_TOKEN` |\n| Plex | `PLEX_TOKEN` |\n| Redis | `REDIS_PASSWORD` |\n| PostgreSQL | `POSTGRES_USER`, `POSTGRES_PASSWORD` |\n| Mosquitto | `MOSQUITTO_USER`, `MOSQUITTO_PASSWORD` |\n\n</details>",sync_targets_info:`### Where device data is written
14
+ The server will restart immediately after install — make sure it runs under a process manager (systemd/pm2/docker) that will bring it back up automatically. A database backup beforehand is recommended.`,errors:{core_required:`The core plugin cannot be disabled.`,has_dependents:`Enabled plugins depend on it: {{list}}.`,missing_deps:`Enable dependencies first: {{list}}.`,unknown_plugin:`Unknown plugin.`}},auth:{loginTitle:`Sign in`,welcomeEyebrow:`Personal workspace`,welcomeTitle:`Your data. In your hands.`,welcomeText:`Sign in to continue working with Coffer.`,secureConnection:`Secure connection`,setupTitle:`Create the first admin account`,login:`Login`,password:`Password`,displayName:`Display name`,signIn:`Sign in`,createAccount:`Create account`,invalidCredentials:`Wrong login or password.`,genericError:`Something went wrong.`,accountTitle:`My account`,sessionTitle:`Session`,logoutDescription:`End the current session on this device.`,logout:`Sign out`,fieldDisplayName:`Display name`,fieldLogin:`Login`,fieldPasswordOptional:`New password (leave blank to keep unchanged)`,tokensTitle:`API tokens`,tokenNamePlaceholder:`Token name (e.g. "agent")`,tokenCreate:`Create token`,tokenCreatedOnce:`Copy this token now — it will not be shown again:`,tokenRevoke:`Revoke`,tokenConfirmRevoke:`Revoke this token? Anything using it will stop working.`,grantsTitle:`Connected apps`,grantsEmpty:`No app has been authorized yet. Apps appear here after you approve them on the Coffer consent screen.`,grantConfirmRevoke:`Disconnect this app? Its access tokens stop working immediately.`,usersTitle:`Users`,addUser:`Add user`,roleAdmin:`Admin`,roleMember:`Member`,fieldRole:`Role`,fieldDisabled:`Disabled`,userCreateTitle:`New user`,lastAdminError:`Cannot remove the last admin.`},form:{serverRejected:`Server rejected:`,createTitle:`New — {{label}}`,editTitle:`Edit — {{label}}`,mdPlaceholder:`Markdown text…`,photo:`+ Photo`,properties:`Properties`,keyPlaceholder:`key`,valuePlaceholderShort:`value`,addProperty:`Property`,days:`d`,hours:`h`,minutes:`min`,seconds:`s`,addTag:`Add tag…`,addRow:`+ Add row`,search:`Search…`,loading:`Loading…`,loadError:`Load error`,noRecords:`No records`,addRecord:`+ Add…`,addItem:`+ Add item`},list:{empty:`Nothing here yet`,searchPlaceholder:`Search…`,sortBy:`Sort by`,sortRating:`Rating`,asc:`Ascending`,desc:`Descending`,peopleCount_one:`{{count}} person`,peopleCount_other:`{{count}} ppl`,pairsCount_one:`{{count}} pair`,pairsCount_other:`{{count}} pairs`},search:{title:`Global Search`,placeholder:`Search shelves and records…`,allShelves:`All shelves`,results:`Results`,noResults:`Nothing found`},record:{count_one:`{{count}} record`,count_other:`{{count}} records`,hide:`Hide`,show:`Show`},extend:{shownWhen:`Shown when:`},weekdaysShort:[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],lang:{uk:`Українська`,ru:`Русский`,en:`English`},validation:{required:`required field`,invalid_type:`invalid value type`,min_length:`minimum {{min}} chars`,max_length:`maximum {{max}} chars`,pattern:`invalid format`,email:`invalid email address`,min:`at least {{min}}`,max:`at most {{max}}`,int:`must be an integer`,date_format:`format YYYY-MM-DD`,date_min:`not earlier than {{min}}`,date_max:`not later than {{max}}`,enum:`choose from the list`,json:`invalid JSON`,structure:`invalid structure`,int_list:`invalid record references`,kv_single:`only one pair allowed`,links_structure:`invalid connections structure`,time_format:`format HH:MM:SS`,datetime_format:`format YYYY-MM-DDTHH:MM`,tags_list:`expected array of tags`,slotted_length:`wrong number of items`,check_structure:`invalid check structure`,measured_structure:`expected {value, unit}`,measured_unit:`unknown unit`,money_structure:`invalid amount`,geo_structure:`expected {lat, lng}`,money_currency:`unknown currency`,color_format:`format #RRGGBB`,row_structure:`invalid row structure`,row_duplicate:`value "{{key}}" is duplicated across rows`,array:`expected an array`,array_item:`invalid value in array`,ip_structure:`invalid IP address`,cidr_structure:`invalid CIDR`,per_weekday:`array of 7 numbers`,period_order:`start must not be after end`,range_structure:`expected {from, to}`,last_admin:`Cannot remove the last admin.`,range_order:`from must be ≤ to`,file_structure:`invalid file`,file_remote_url:`file fields hold an uploaded file, not a remote URL`,file_unknown_key:`a file may only carry name, mime and size`,file_name:`expected a bare filename, without a path`,file_not_uploaded:`no such uploaded file — upload it first`,code_structure:`expected {code, lang}`,url:`invalid URL`,embed_structure:`invalid embed`,colorname:`unknown color name`},core:{plugin:{label:`System`},settings:{label:`System`,publicUrl:`Public URL`,publicUrlHint:`Origin only, no trailing slash — e.g. https://coffer.example`,language:`Language`},fields:{type:`Type`,name:`Name`,weekday:`Weekday`,value:`Value`,text:`Text`,check:`Check`},presets:{slug:`lowercase latin letters, digits and hyphen only`,imei:`IMEI — exactly 15 digits`,mac:`MAC — format XX:XX:XX:XX:XX:XX`,iban:`IBAN — 2 letters, 2 digits, then letters and digits (no spaces)`,hostname:`hostname / FQDN (dot-separated labels: letters, digits, hyphen)`,tel:`phone number`,link:`URL (scheme:// or a domain with a dot)`},lookup:{enough:`Enough`,partial:`Partial`,missing:`Missing`,noData:`no data`},period:{from:`From`,until:`Until`},sex:{M:`Male`,F:`Female`,other:`Other`},weekdays:{mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`,sun:`Sunday`},colors:x.en,countries:{AF:`Afghanistan`,AL:`Albania`,DZ:`Algeria`,AD:`Andorra`,AO:`Angola`,AG:`Antigua & Barbuda`,AR:`Argentina`,AM:`Armenia`,AU:`Australia`,AT:`Austria`,AZ:`Azerbaijan`,BS:`Bahamas`,BH:`Bahrain`,BD:`Bangladesh`,BY:`Belarus`,BE:`Belgium`,BZ:`Belize`,BJ:`Benin`,BT:`Bhutan`,BO:`Bolivia`,BA:`Bosnia & Herzegovina`,BW:`Botswana`,BR:`Brazil`,BN:`Brunei`,BG:`Bulgaria`,BF:`Burkina Faso`,BI:`Burundi`,CV:`Cape Verde`,KH:`Cambodia`,CM:`Cameroon`,CA:`Canada`,CF:`Central African Republic`,TD:`Chad`,CL:`Chile`,CN:`China`,CO:`Colombia`,KM:`Comoros`,CG:`Congo - Brazzaville`,CD:`Congo - Kinshasa`,CR:`Costa Rica`,CI:`Côte d’Ivoire`,HR:`Croatia`,CU:`Cuba`,CY:`Cyprus`,CZ:`Czechia`,DK:`Denmark`,DJ:`Djibouti`,DM:`Dominica`,DO:`Dominican Republic`,EC:`Ecuador`,EG:`Egypt`,SV:`El Salvador`,GQ:`Equatorial Guinea`,ER:`Eritrea`,EE:`Estonia`,SZ:`Eswatini`,ET:`Ethiopia`,FJ:`Fiji`,FI:`Finland`,FR:`France`,GA:`Gabon`,GM:`Gambia`,GE:`Georgia`,DE:`Germany`,GH:`Ghana`,GR:`Greece`,GD:`Grenada`,GT:`Guatemala`,GN:`Guinea`,GW:`Guinea-Bissau`,GY:`Guyana`,HT:`Haiti`,HN:`Honduras`,HU:`Hungary`,IS:`Iceland`,IN:`India`,ID:`Indonesia`,IR:`Iran`,IQ:`Iraq`,IE:`Ireland`,IL:`Israel`,IT:`Italy`,JM:`Jamaica`,JP:`Japan`,JO:`Jordan`,KZ:`Kazakhstan`,KE:`Kenya`,KI:`Kiribati`,KP:`North Korea`,KR:`South Korea`,KW:`Kuwait`,KG:`Kyrgyzstan`,LA:`Laos`,LV:`Latvia`,LB:`Lebanon`,LS:`Lesotho`,LR:`Liberia`,LY:`Libya`,LI:`Liechtenstein`,LT:`Lithuania`,LU:`Luxembourg`,MG:`Madagascar`,MW:`Malawi`,MY:`Malaysia`,MV:`Maldives`,ML:`Mali`,MT:`Malta`,MH:`Marshall Islands`,MR:`Mauritania`,MU:`Mauritius`,MX:`Mexico`,FM:`Micronesia`,MD:`Moldova`,MC:`Monaco`,MN:`Mongolia`,ME:`Montenegro`,MA:`Morocco`,MZ:`Mozambique`,MM:`Myanmar (Burma)`,NA:`Namibia`,NR:`Nauru`,NP:`Nepal`,NL:`Netherlands`,NZ:`New Zealand`,NI:`Nicaragua`,NE:`Niger`,NG:`Nigeria`,MK:`North Macedonia`,NO:`Norway`,OM:`Oman`,PK:`Pakistan`,PW:`Palau`,PA:`Panama`,PG:`Papua New Guinea`,PY:`Paraguay`,PE:`Peru`,PH:`Philippines`,PL:`Poland`,PT:`Portugal`,QA:`Qatar`,RO:`Romania`,RU:`Russia`,RW:`Rwanda`,KN:`St. Kitts & Nevis`,LC:`St. Lucia`,VC:`St. Vincent & Grenadines`,WS:`Samoa`,SM:`San Marino`,ST:`São Tomé & Príncipe`,SA:`Saudi Arabia`,SN:`Senegal`,RS:`Serbia`,SC:`Seychelles`,SL:`Sierra Leone`,SG:`Singapore`,SK:`Slovakia`,SI:`Slovenia`,SB:`Solomon Islands`,SO:`Somalia`,ZA:`South Africa`,SS:`South Sudan`,ES:`Spain`,LK:`Sri Lanka`,SD:`Sudan`,SR:`Suriname`,SE:`Sweden`,CH:`Switzerland`,SY:`Syria`,TW:`Taiwan`,TJ:`Tajikistan`,TZ:`Tanzania`,TH:`Thailand`,TL:`Timor-Leste`,TG:`Togo`,TO:`Tonga`,TT:`Trinidad & Tobago`,TN:`Tunisia`,TR:`Türkiye`,TM:`Turkmenistan`,TV:`Tuvalu`,UG:`Uganda`,UA:`Ukraine`,AE:`United Arab Emirates`,GB:`United Kingdom`,US:`United States`,UY:`Uruguay`,UZ:`Uzbekistan`,VU:`Vanuatu`,VE:`Venezuela`,VN:`Vietnam`,YE:`Yemen`,ZM:`Zambia`,ZW:`Zimbabwe`},units:{UAH:`₴ UAH`,USD:`$ USD`,EUR:`€ EUR`,GBP:`£ GBP`,CZK:`Kč CZK`,PLN:`zł PLN`,mg:`mg`,g:`g`,kg:`kg`,t:`t`,oz:`oz`,lb:`lb`,ml:`ml`,cl:`cl`,dl:`dl`,l:`l`,tsp:`tsp`,tbsp:`tbsp`,cup:`cup`,fl_oz:`fl oz`,pcs:`pcs`,pair:`pair`,set:`set`,pack:`pack`,s:`s`,min:`min`,h:`h`,d:`day`,w:`week`,C:`°C`,F:`°F`,K:`K`,mm:`mm`,cm:`cm`,m:`m`,km:`km`,in:`in`,ft:`ft`,mi:`mi`,nm:`nmi`,cm2:`cm²`,m2:`m²`,ha:`ha`,km2:`km²`,ft2:`ft²`,ac:`ac`,B:`B`,KB:`KB`,MB:`MB`,GB:`GB`,TB:`TB`,mAh:`mAh`,Ah:`Ah`,Wh:`Wh`,kWh:`kWh`,mW:`mW`,W:`W`,kW:`kW`,mV:`mV`,V:`V`,ms:`m/s`,kmh:`km/h`,mph:`mph`,kn:`kn`,"%":`%`,ppm:`ppm`}}},Mr=typeof localStorage<`u`?localStorage.getItem(`lang`)??`uk`:`uk`;r.use(i).init({resources:{uk:{translation:kr},ru:{translation:Ar},en:{translation:jr}},lng:Mr,fallbackLng:`uk`,interpolation:{escapeValue:!1},parseMissingKeyHandler:e=>(console.warn(`[i18n] missing key:`,e),e)}),fetch(`/api/plugins/core/settings`).then(e=>e.ok?e.json():null).then(e=>{let t=e?.language;if(t&&t!==r.language){r.changeLanguage(t);try{localStorage.setItem(`lang`,t)}catch{}}}).catch(e=>console.warn(`[i18n] language reconcile failed:`,e));var Nr=r,Pr=e({default:()=>Fr}),Fr={"claude-agent":{plugin:{label:`Claude AI agent`,description:`In-process Claude Agent SDK runtime with optional RAG.`},settings:{label:`Agent settings`,groups:{runtime:`Model & runtime`,rag:`RAG search`,langfuse:`Langfuse tracing`},auth_mode:`Billing mode`,auth_mode_subscription:`Subscription (session from system)`,auth_mode_api_key:`API key (pay per token)`,anthropic_api_key:`Anthropic API key`,claude_model:`Claude model`,skip_permissions:`Skip permissions check`,response_timeout:`Response timeout (s)`,rag_enabled:`Enable RAG`,openai_api_key:`OpenAI API key (embeddings, optional — default from OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Enable Langfuse tracing`,thinking_enabled:`Extended thinking (opus/sonnet/fable only)`}}},Ir=e({default:()=>Lr}),Lr={"claude-agent":{plugin:{label:`Claude AI-агент`,description:`Рантайм Claude Agent SDK в процессе с опциональным RAG.`},settings:{label:`Настройки агента`,groups:{runtime:`Модель и выполнение`,rag:`Поиск RAG`,langfuse:`Трейсинг Langfuse`},auth_mode:`Способ оплаты`,auth_mode_subscription:`Подписка (сессия из системы)`,auth_mode_api_key:`API-ключ (оплата за токены)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустить проверку прав`,response_timeout:`Тайм-аут ответа (с)`,rag_enabled:`Включить RAG`,openai_api_key:`Ключ OpenAI (эмбеддинги, опц. — по умолчанию из OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Включить трейсинг Langfuse`,thinking_enabled:`Extended thinking (только opus/sonnet/fable)`}}},Rr=e({default:()=>zr}),zr={"claude-agent":{plugin:{label:`Claude AI-агент`,description:`Рантайм Claude Agent SDK у процесі з опційним RAG.`},settings:{label:`Налаштування агента`,groups:{runtime:`Модель і виконання`,rag:`Пошук RAG`,langfuse:`Трейсинг Langfuse`},auth_mode:`Спосіб оплати`,auth_mode_subscription:`Підписка (сесія з системи)`,auth_mode_api_key:`API-ключ (оплата за токени)`,anthropic_api_key:`Ключ Anthropic API`,claude_model:`Модель Claude`,skip_permissions:`Пропустити перевірку прав`,response_timeout:`Тайм-аут відповіді (с)`,rag_enabled:`Увімкнути RAG`,openai_api_key:`Ключ OpenAI (ембединги, опц. — типово з OPENAI_API_KEY)`,langfuse_public_key:`Langfuse public key`,langfuse_secret_key:`Langfuse secret key`,langfuse_base_url:`Langfuse base URL`,tracing_enabled:`Увімкнути трейсинг Langfuse`,thinking_enabled:`Extended thinking (лише opus/sonnet/fable)`}}},Br=e({console:()=>Vr,default:()=>Hr}),Vr={plugin:{label:`Console access`,description:`Drive Coffer from a terminal AI (Claude Code / Codex) via the coffer MCP.`},settings:{label:`Console access`,intro:"## Use Coffer from the console\n\nThe Coffer server itself exposes your libraries to a terminal AI as MCP tools (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, plus the tools of any installed plugin). It is schema-driven: any plugin or library you enable shows up after a server restart — no client changes.\n\nThe transport is **Streamable HTTP** on `POST /mcp` of that same server (default `http://localhost:7023/mcp`); there is no separate process — `npx @coffer-org/mcp` starts nothing. You need an API token: **Settings → API tokens**. The token's role decides the tool set (`member` — data, `admin` — plus plugin admin tools).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nThen in any session the tools appear as `mcp__coffer__*`. Ask e.g. _"list my libraries"_ or _"add a record to …"_ and the agent calls them directly.',codex:'### Codex CLI\n\nAdd to `~/.codex/config.toml` (keep the token in the `COFFER_TOKEN` environment variable):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Skills\n\nFor repeatable flows, drop a `SKILL.md` (Claude Code) or a prompt file that chains the `coffer` tools — e.g. a weekly review that reads a library and writes a summary record. The MCP tools are the only building blocks you need; no Coffer-specific SDK is required on the client side."}},Hr={console:Vr},Ur=e({console:()=>Wr,default:()=>Gr}),Wr={plugin:{label:`Консольный доступ`,description:`Управляй Coffer из терминального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольный доступ`,intro:"## Coffer из консоли\n\nСам сервер Coffer отдаёт твои библиотеки терминальному AI как MCP-инструменты (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс инструменты установленных плагинов). Управляется схемой: любой включённый плагин или библиотека появляется после перезапуска сервера — без изменений на клиенте.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того же сервера (по умолчанию `http://localhost:7023/mcp`); отдельного процесса нет, `npx @coffer-org/mcp` ничего не запускает. Нужен API-токен: **Настройки → API-токены**. Роль токена определяет набор инструментов (`member` — данные, `admin` — плюс админские инструменты плагинов).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nЗатем в любой сессии инструменты появляются как `mcp__coffer__*`. Спроси напр. _«покажи мои библиотеки»_ или _«добавь запись в …»_ — агент вызовет их напрямую.',codex:'### Codex CLI\n\nДобавь в `~/.codex/config.toml` (токен — в переменной окружения `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навыки (skills)\n\nДля повторяющихся сценариев положи `SKILL.md` (Claude Code) или промпт-файл, который цепочкой вызывает инструменты `coffer` — напр. еженедельный обзор, читающий библиотеку и пишущий запись-итог. MCP-инструментов достаточно; отдельный Coffer SDK на клиенте не нужен."}},Gr={console:Wr},Kr=e({console:()=>qr,default:()=>Jr}),qr={plugin:{label:`Консольний доступ`,description:`Керуй Coffer з термінального AI (Claude Code / Codex) через MCP-сервер coffer.`},settings:{label:`Консольний доступ`,intro:"## Coffer з консолі\n\nСам сервер Coffer віддає твої бібліотеки термінальному AI як MCP-інструменти (`list_libraries`, `describe_type`, `list_records`, `get_record`, `create_record`, `update_record`, `delete_record`, `refresh_schema`, `search_records`, плюс інструменти встановлених плагінів). Керується схемою: будь-який увімкнений плагін чи бібліотека зʼявляється після перезапуску сервера — без змін на клієнті.\n\nТранспорт — **Streamable HTTP** на `POST /mcp` того самого сервера (типово `http://localhost:7023/mcp`); окремого процесу немає, `npx @coffer-org/mcp` нічого не запускає. Потрібен API-токен: **Налаштування → API-токени**. Роль токена вирішує набір інструментів (`member` — дані, `admin` — ще й адмінські інструменти плагінів).",claude:'### Claude Code / Claude CLI\n\n```sh\nclaude mcp add coffer -s user --transport http http://localhost:7023/mcp \\\n --header "Authorization: Bearer <API_TOKEN>"\n```\n\nПотім у будь-якій сесії інструменти зʼявляються як `mcp__coffer__*`. Спитай напр. _«покажи мої бібліотеки»_ або _«додай запис до …»_ — агент викличе їх напряму.',codex:'### Codex CLI\n\nДодай у `~/.codex/config.toml` (токен — у змінній оточення `COFFER_TOKEN`):\n\n```toml\n[mcp_servers.coffer]\nurl = "http://localhost:7023/mcp"\nbearer_token_env_var = "COFFER_TOKEN"\n```',skills:"### Навички (skills)\n\nДля повторюваних сценаріїв поклади `SKILL.md` (Claude Code) або промпт-файл, що ланцюжком викликає інструменти `coffer` — напр. щотижневий огляд, який читає бібліотеку й пише запис-підсумок. MCP-інструментів достатньо; окремий Coffer SDK на клієнті не потрібен."}},Jr={console:qr},Yr=e({default:()=>Zr,devices:()=>Xr}),Xr={plugin:{label:`Devices & network`,description:`Networks, devices and their settings.`},settings:{label:`Network scan`,scan_info:`LAN scan runs automatically twice a day. Press the button to run a scan now.`,scan_button:`Scan now`,secrets_help:"<details>\n<summary>How to fill service secrets</summary>\n\nAdd plaintext secrets to `~/.profile` as `export PREFIX_FIELD=value`. The LAN scan reads them and fills the matching secret slots on each service card. Hashed values (bcrypt/argon2/…) are skipped. Empty slots are always created so you can fill them manually.\n\n| Service | Variables |\n| --- | --- |\n| Home Assistant | `HOME_ASSISTANT_LOGIN`, `HOME_ASSISTANT_PASSWORD`, `HOME_ASSISTANT_TOKEN` |\n| Nextcloud | `NEXTCLOUD_LOGIN`, `NEXTCLOUD_PASSWORD`, `NEXTCLOUD_TOKEN` |\n| Syncthing | `SYNCTHING_TOKEN`, `SYNCTHING_LOGIN`, `SYNCTHING_PASSWORD` |\n| Transmission | `TRANSMISSION_LOGIN`, `TRANSMISSION_PASSWORD` |\n| Firefly III | `FIREFLY_TOKEN`, `FIREFLY_PASSWORD`, `FIREFLY_CRON_TOKEN` |\n| MariaDB | `MARIADB_ROOT_PASSWORD`, `MARIADB_USER`, `MARIADB_PASSWORD` |\n| Pi-hole | `PIHOLE_PASSWORD`, `PIHOLE_TOKEN` |\n| Kodi | `KODI_LOGIN`, `KODI_PASSWORD` |\n| Gitea | `GITEA_API_KEY`, `GITEA_PASSWORD` |\n| Grafana | `GRAFANA_LOGIN`, `GRAFANA_PASSWORD`, `GRAFANA_TOKEN` |\n| Vaultwarden | `VAULTWARDEN_ADMIN_TOKEN` |\n| Portainer | `PORTAINER_LOGIN`, `PORTAINER_PASSWORD` |\n| Proxmox | `PROXMOX_ROOT_PASSWORD`, `PROXMOX_TOKEN` |\n| AdGuard Home | `ADGUARD_LOGIN`, `ADGUARD_PASSWORD` |\n| Uptime Kuma | `UPTIME_KUMA_LOGIN`, `UPTIME_KUMA_PASSWORD` |\n| Node-RED | `NODE_RED_PASSWORD`, `NODE_RED_TOKEN` |\n| qBittorrent | `QBITTORRENT_LOGIN`, `QBITTORRENT_PASSWORD` |\n| Radarr | `RADARR_API_KEY` |\n| Sonarr | `SONARR_API_KEY` |\n| Prowlarr | `PROWLARR_API_KEY` |\n| Jellyfin | `JELLYFIN_TOKEN` |\n| Plex | `PLEX_TOKEN` |\n| Redis | `REDIS_PASSWORD` |\n| PostgreSQL | `POSTGRES_USER`, `POSTGRES_PASSWORD` |\n| Mosquitto | `MOSQUITTO_USER`, `MOSQUITTO_PASSWORD` |\n\n</details>",sync_targets_info:`### Where device data is written
15
15
 
16
16
  After a scan, cards sync into local app configs. Only empty/missing entries are written — manual edits are preserved.
17
17
 
@@ -56,4 +56,4 @@ Buttons below trigger registered actions. The first succeeds after a short delay
56
56
  allowNegative: `+a+`
57
57
  `),a=!1),Object.assign(Object.assign({},e),{allowNegative:a})}function Zl(e){e=Xl(e),e.decimalSeparator,e.allowedDecimalSeparators,e.thousandsGroupStyle;var t=e.suffix,n=e.allowNegative,r=e.allowLeadingZeros,i=e.onKeyDown;i===void 0&&(i=fl);var a=e.onBlur;a===void 0&&(a=fl);var o=e.thousandSeparator,s=e.decimalScale,c=e.fixedDecimalScale,l=e.prefix;l===void 0&&(l=``);var u=e.defaultValue,d=e.value,f=e.valueIsNumericString,p=e.onValueChange,m=ul(e,[`decimalSeparator`,`allowedDecimalSeparators`,`thousandsGroupStyle`,`suffix`,`allowNegative`,`allowLeadingZeros`,`onKeyDown`,`onBlur`,`thousandSeparator`,`decimalScale`,`fixedDecimalScale`,`prefix`,`defaultValue`,`value`,`valueIsNumericString`,`onValueChange`]),h=Wl(e),g=h.decimalSeparator,_=h.allowedDecimalSeparators,v=function(t){return Ul(t,e)},y=function(t,n){return Jl(t,n,e)},b=hl(d)?u:d,x=f??ql(b,l,t);hl(d)?hl(u)||(x||=typeof u==`number`):x||=typeof d==`number`;var S=function(e){return _l(e)?e:(typeof e==`number`&&(e=El(e)),x&&typeof s==`number`?Dl(e,s,!!c):e)},C=zl(S(d),S(u),!!x,v,y,p),w=C[0],T=w.numAsString,E=w.formattedValue,D=C[1];return Object.assign(Object.assign({},m),{value:E,valueIsNumericString:!1,isValidInputCharacter:function(e){return e===g||ml(e)},isCharacterSame:function(e){var t=e.currentValue,n=e.lastValue,r=e.formattedValue,i=e.currentValueIndex,a=e.formattedValueIndex,o=t[i],u=r[a],f=kl(n,t).to,p=function(e){return y(e).indexOf(`.`)+l.length};return d===0&&c&&s&&t[f.start]===g&&p(t)<i&&p(r)>a?!1:i>=f.start&&i<f.end&&_&&_.includes(o)&&u===g?!0:o===u},onValueChange:D,format:v,removeFormatting:y,getCaretBoundary:function(t){return Yl(t,e)},onKeyDown:function(e){var t=e.target,r=e.key,a=t.selectionStart,u=t.selectionEnd,d=t.value;if(d===void 0&&(d=``),(r===`Backspace`||r===`Delete`)&&u<l.length&&d!==`-`){e.preventDefault();return}if(a!==u){i(e);return}r===`Backspace`&&d[0]===`-`&&a===l.length+1&&n&&Ol(t,1),s&&c&&(r===`Backspace`&&d[a-1]===g?(Ol(t,a-1),e.preventDefault()):r===`Delete`&&d[a]===g&&e.preventDefault()),_?.includes(r)&&d[a]===g&&Ol(t,a+1);var f=o===!0?`,`:o;r===`Backspace`&&d[a-1]===f&&Ol(t,a-1),r===`Delete`&&d[a]===f&&Ol(t,a+1),i(e)},onBlur:function(t){var n=T;n.match(/\d/g)||(n=``),r||(n=Cl(n)),c&&s&&(n=Dl(n,s,c)),n!==T&&D({formattedValue:Ul(n,e),value:n,floatValue:parseFloat(n)},{event:t,source:dl.event}),a(t)}})}function Ql(e){var t=Zl(e);return L.createElement(Hl,Object.assign({},t))}var $l=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/visually-hidden-input.tsx`;function eu(e){let{control:t,value:n,checked:r,bubbles:i=!0,type:a=`hidden`,style:o,...s}=e,c=L.useMemo(()=>a===`checkbox`||a===`radio`||a===`switch`,[a]),l=L.useRef(null),u=L.useRef({value:c?r:n,previous:c?r:n}),d=L.useMemo(()=>{let e=c?r:n;return u.current.value!==e&&(u.current.previous=u.current.value,u.current.value=e),u.current.previous},[c,n,r]),[f,p]=L.useState({});L.useLayoutEffect(()=>{if(!t){p({});return}if(p({width:t.offsetWidth,height:t.offsetHeight}),typeof window>`u`)return;let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let n=e[0];if(!n)return;let r,i;if(`borderBoxSize`in n){let e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,i=t.blockSize}else r=t.offsetWidth,i=t.offsetHeight;p({width:r,height:i})});return e.observe(t,{box:`border-box`}),()=>{e.disconnect()}},[t]),L.useEffect(()=>{let e=l.current;if(!e)return;let t=window.HTMLInputElement.prototype,a=c?`checked`:`value`,o=c?`click`:`input`,s=c?r:n,u=c?r:typeof n==`object`&&n?JSON.stringify(n):n,f=Object.getOwnPropertyDescriptor(t,a)?.set;if(d!==s&&f){let t=new Event(o,{bubbles:i});f.call(e,u),e.dispatchEvent(t)}},[d,n,r,i,c]);let m=L.useMemo(()=>({...o,...f.width!==void 0&&f.height!==void 0?f:{},border:0,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,whiteSpace:`nowrap`,width:`1px`}),[o,f]);return(0,R.jsxDEV)(`input`,{type:a,...s,ref:l,"aria-hidden":c,tabIndex:-1,defaultChecked:c?r:void 0,style:m},void 0,!1,{fileName:$l,lineNumber:148,columnNumber:5},this)}var tu=typeof window<`u`?L.useLayoutEffect:L.useEffect;function nu(e){let t=L.useRef(e);return tu(()=>{t.current=e}),t}function ru(e){let t=L.useRef(null);return t.current===null&&(t.current=e()),t}var iu=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/rating.tsx`,au=`Rating`,ou=`RatingItem`,su=`ratingFocusGroup.onEntryFocus`,cu={bubbles:!1,cancelable:!0};function lu(e,t){return`${e}-item-${t}`}function uu(e,t){return`partial-fill-gradient-${e}-${t}`}var du={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,Home:`first`,End:`last`};function fu(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function pu(e,t,n){let r=fu(e.key,t);if(!(n===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r))&&!(n===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r)))return du[r]}function mu(e,t=!1){let n=document.activeElement;for(let r of e){let e=r.current;if(e&&(e===n||(e.focus({preventScroll:t}),document.activeElement!==n)))return}}var hu=L.createContext(null);function gu(e){let t=L.useContext(hu);if(!t)throw Error(`\`${e}\` must be used within \`${au}\``);return t}function _u(e,t){let n=L.useContext(hu),r=t??n;if(!r)throw Error(`\`useStore\` must be used within \`${au}\``);let i=L.useCallback(()=>e(r.getState()),[r,e]);return L.useSyncExternalStore(r.subscribe,i,i)}var vu=L.createContext(null);function yu(e){let t=L.useContext(vu);if(!t)throw Error(`\`${e}\` must be used within \`${au}\``);return t}var bu=L.createContext(null);function xu(e){let t=L.useContext(bu);if(!t)throw Error(`\`${e}\` must be used within \`FocusProvider\``);return t}function Su(e){let{value:t,defaultValue:n=0,onValueChange:r,onHover:i,onFocus:a,onMouseDown:o,dir:s,orientation:c=`horizontal`,activationMode:l=`automatic`,size:u=`default`,max:d=5,step:f=1,clearable:p=!1,asChild:m,disabled:h=!1,readOnly:g=!1,required:_=!1,className:v,id:y,name:b,ref:x,...S}=e,w=oe(s),T=L.useId(),E=y??T,D=ru(()=>new Set),O=ru(()=>({value:t??n,hoveredValue:null})),k=nu({onValueChange:r,onHover:i,onFocus:a,onMouseDown:o,step:f}),A=L.useMemo(()=>({subscribe:e=>(D.current.add(e),()=>D.current.delete(e)),getState:()=>O.current,setState:(e,t)=>{Object.is(O.current[e],t)||(e===`value`&&typeof t==`number`?(O.current.value=t,k.current.onValueChange?.(t)):e===`hoveredValue`?(O.current.hoveredValue=t,k.current.onHover?.(t)):O.current[e]=t,A.notify())},notify:()=>{for(let e of D.current)e()}}),[D,O,k]);tu(()=>{t!==void 0&&A.setState(`value`,t)},[t]);let ee=_u(e=>e.value,A),[te,ne]=L.useState(null),j=Ms(x,e=>ne(e)),M=!te||!!te.closest(`form`),[re,ae]=L.useState(null),[se,ce]=L.useState(!1),[le,ue]=L.useState(0),N=L.useRef(!1),P=L.useRef(new Map),de=L.useRef(new Map),fe=L.useRef(0),pe=L.useCallback(e=>{let t=de.current.get(e);if(t!==void 0)return t;let n=fe.current++;return de.current.set(e,n),n},[]),me=L.useCallback(e=>{ae(e)},[]),he=L.useCallback(()=>{ce(!0)},[]),ge=L.useCallback(()=>{ue(e=>e+1)},[]),_e=L.useCallback(()=>{ue(e=>e-1)},[]),ve=L.useCallback(e=>{P.current.set(e.id,e)},[]),ye=L.useCallback(e=>{P.current.delete(e)},[]),be=L.useCallback(()=>Array.from(P.current.values()).filter(e=>e.ref.current).sort((e,t)=>{let n=e.ref.current,r=t.ref.current;if(!n||!r)return 0;let i=n.compareDocumentPosition(r);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0}),[]),xe=L.useCallback(e=>{S.onBlur?.(e),!e.defaultPrevented&&ce(!1)},[S.onBlur]),Se=L.useCallback(e=>{if(k.current.onFocus?.(e),e.defaultPrevented)return;let t=!N.current;if(e.target===e.currentTarget&&t&&!se){let t=new CustomEvent(su,cu);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=Array.from(P.current.values()).filter(e=>!e.disabled);mu([k.current.step<1?e.find(e=>e.value===Math.ceil(ee)):e.find(e=>e.value===ee),e.find(e=>e.id===re),...e].filter(Boolean).map(e=>e.ref),!1)}}N.current=!1},[k,se,ee,re]),Ce=L.useCallback(e=>{k.current.onMouseDown?.(e),!e.defaultPrevented&&(N.current=!0)},[k]),we=L.useMemo(()=>({rootId:E,dir:w,orientation:c,activationMode:l,disabled:h,readOnly:g,size:u,max:d,step:f,clearable:p,getAutoIndex:pe}),[E,w,c,l,h,g,u,d,f,p,pe]),Te=L.useMemo(()=>({tabStopId:re,onItemFocus:me,onItemShiftTab:he,onFocusableItemAdd:ge,onFocusableItemRemove:_e,onItemRegister:ve,onItemUnregister:ye,getItems:be}),[re,me,he,ge,_e,ve,ye,be]),Ee=m?ie:`div`;return(0,R.jsxDEV)(hu.Provider,{value:A,children:(0,R.jsxDEV)(vu.Provider,{value:we,children:(0,R.jsxDEV)(bu.Provider,{value:Te,children:[(0,R.jsxDEV)(Ee,{id:E,role:`radiogroup`,"aria-orientation":c,"data-disabled":h?``:void 0,"data-readonly":g?``:void 0,"data-orientation":c,"data-slot":`rating`,dir:w,tabIndex:se||le===0?-1:0,...S,ref:j,className:C(`flex gap-1 text-primary outline-none`,c===`horizontal`?`flex-row items-center`:`flex-col items-start`,v),onBlur:xe,onFocus:Se,onMouseDown:Ce},void 0,!1,{fileName:iu,lineNumber:466,columnNumber:11},this),(0,R.jsxDEV)(`svg`,{width:`0`,height:`0`,style:{position:`absolute`},children:(0,R.jsxDEV)(`defs`,{children:(0,R.jsxDEV)(`linearGradient`,{id:uu(E,f),children:w===`rtl`?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`transparent`},void 0,!1,{fileName:iu,lineNumber:494,columnNumber:21},this),(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`currentColor`},void 0,!1,{fileName:iu,lineNumber:495,columnNumber:21},this)]},void 0,!0,{fileName:iu,lineNumber:493,columnNumber:19},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`currentColor`},void 0,!1,{fileName:iu,lineNumber:499,columnNumber:21},this),(0,R.jsxDEV)(`stop`,{offset:`50%`,stopColor:`transparent`},void 0,!1,{fileName:iu,lineNumber:500,columnNumber:21},this)]},void 0,!0,{fileName:iu,lineNumber:498,columnNumber:19},this)},void 0,!1,{fileName:iu,lineNumber:491,columnNumber:15},this)},void 0,!1,{fileName:iu,lineNumber:490,columnNumber:13},this)},void 0,!1,{fileName:iu,lineNumber:489,columnNumber:11},this),M&&(0,R.jsxDEV)(eu,{type:`hidden`,control:te,name:b,value:ee,disabled:h,readOnly:g,required:_},void 0,!1,{fileName:iu,lineNumber:507,columnNumber:13},this)]},void 0,!0,{fileName:iu,lineNumber:465,columnNumber:9},this)},void 0,!1,{fileName:iu,lineNumber:464,columnNumber:7},this)},void 0,!1,{fileName:iu,lineNumber:463,columnNumber:5},this)}function Cu(e){let{index:t,asChild:n,onClick:r,onFocus:i,onKeyDown:a,onMouseDown:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l,disabled:u,className:d,children:f,ref:p,...m}=e,h=L.useRef(null),g=Ms(p,h),_=yu(ou),v=L.useId(),y=L.useMemo(()=>t===void 0?_.getAutoIndex(v):t,[t,_,v])+1,b=gu(ou),x=xu(ou),S=_u(e=>e.value),w=_u(e=>e.hoveredValue),T=_.clearable,E=_.step,D=_.activationMode,O=lu(_.rootId,y),k=_.disabled||u,A=_.readOnly,ee=x.tabStopId===O,te=w??S,ne=te>=y,j=E<1&&te>=y-E&&te<y,M=w!==null&&w<y,re=L.useRef(!1),ae=nu({onClick:r,onFocus:i,onKeyDown:a,onMouseDown:o,onMouseEnter:s,onMouseMove:c,onMouseLeave:l});tu(()=>(x.onItemRegister({id:O,ref:h,value:y,disabled:!!k}),k||x.onFocusableItemAdd(),()=>{x.onItemUnregister(O),k||x.onFocusableItemRemove()}),[x,O,y,k]);let oe=L.useCallback(e=>{if(ae.current.onClick?.(e),!e.defaultPrevented&&!k&&!A){let t=y;if(E<1){let n=e.currentTarget.getBoundingClientRect(),r=e.clientX-n.left<n.width/2;_.dir===`rtl`?r||(t=y-E):r&&(t=y-E)}T&&S===t&&(t=0),b.setState(`value`,t)}},[k,A,T,E,S,y,b,_.dir,ae]),se=L.useCallback(e=>{if(ae.current.onFocus?.(e),e.defaultPrevented)return;x.onItemFocus(O);let t=!re.current;if(!k&&!A&&D!==`manual`&&t&&!(E<1&&S===y-E)){let e=T&&S===y?0:y;b.setState(`value`,e)}re.current=!1},[x,O,D,k,A,T,S,y,E,b,ae]),ce=L.useCallback(e=>{if(ae.current.onKeyDown?.(e),e.defaultPrevented)return;if((e.key===`Enter`||e.key===` `)&&D===`manual`){e.preventDefault(),!k&&!A&&h.current&&h.current.click();return}if(e.key===`Tab`&&e.shiftKey){x.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=pu(e,_.dir,_.orientation);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;if(e.preventDefault(),E<1&&(t===`prev`||t===`next`)){if(!k&&!A){let e=S;e=t===`next`?Math.min(S+E,_.max):Math.max(S-E,0),b.setState(`value`,e);let n=x.getItems().filter(e=>!e.disabled).find(t=>t.value===Math.ceil(e));n?.ref.current&&queueMicrotask(()=>n.ref.current?.focus())}return}let n=x.getItems().filter(e=>!e.disabled).map(e=>e.ref);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.findIndex(t=>t.current===e.currentTarget);n=n.slice(r+1)}queueMicrotask(()=>mu(n))}},[x,_.dir,_.orientation,D,k,A,E,S,_.max,b,ae]),le=L.useCallback(e=>{ae.current.onMouseDown?.(e),!e.defaultPrevented&&(re.current=!0,k?e.preventDefault():x.onItemFocus(O))},[x,O,k,ae]),ue=L.useCallback(e=>{if(ae.current.onMouseEnter?.(e),!e.defaultPrevented&&!k&&!A){let t=y;if(E<1){let n=e.currentTarget.getBoundingClientRect(),r=e.clientX-n.left<n.width/2;_.dir===`rtl`?r||(t=y-E):r&&(t=y-E)}b.setState(`hoveredValue`,t)}},[k,A,E,y,b,_.dir,ae]),N=L.useCallback(e=>{ae.current.onMouseLeave?.(e),!e.defaultPrevented&&!k&&!A&&b.setState(`hoveredValue`,null)},[k,A,b,ae]),P=L.useCallback(e=>{if(ae.current.onMouseMove?.(e),!e.defaultPrevented&&!k&&!A&&E<1){let t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left<t.width/2,r=y;r=_.dir===`rtl`?n?y:y-E:n?y-E:y,b.setState(`hoveredValue`,r)}},[k,A,E,y,b,_.dir,ae]),de=ne?`full`:j?`partial`:`empty`;return(0,R.jsxDEV)(n?ie:`button`,{role:`radio`,type:`button`,id:O,"aria-checked":ne,"aria-posinset":y,"aria-setsize":_.max,"data-disabled":k?``:void 0,"data-readonly":A?``:void 0,"data-state":ne?`full`:j?`partial`:`empty`,"data-hovered":M?``:void 0,"data-slot":`rating-item`,disabled:k,tabIndex:ee?0:-1,...m,ref:g,style:{...m.style,...j&&{"--partial-fill":`url(#${uu(_.rootId,E)})`}},className:C(`inline-flex items-center justify-center rounded transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50`,`[&_svg:not([class*='size-'])]:size-full [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:transition-colors [&_svg]:duration-200 data-[state=empty]:[&_svg]:fill-transparent data-[state=full]:[&_svg]:fill-current data-[state=partial]:[&_svg]:fill-(--partial-fill)`,_.size===`sm`?`size-4`:_.size===`lg`?`size-6`:`size-5`,d),onClick:oe,onFocus:se,onKeyDown:ce,onMouseDown:le,onMouseEnter:ue,onMouseMove:P,onMouseLeave:N,children:typeof f==`function`?f(de):f??(0,R.jsxDEV)(Se,{},void 0,!1,{fileName:iu,lineNumber:926,columnNumber:24},this)},void 0,!1,{fileName:iu,lineNumber:884,columnNumber:5},this)}function wu(e,t){let n=Math.floor(e/86400),r=Math.floor(e%86400/3600),i=Math.floor(e%3600/60),a=e%60,o=[];return n&&o.push(`${n} ${t(`form.days`)}`),r&&o.push(`${r} ${t(`form.hours`)}`),i&&o.push(`${i} ${t(`form.minutes`)}`),a&&o.push(`${a} ${t(`form.seconds`)}`),o.length?o.join(` `):`0 ${t(`form.seconds`)}`}function Tu(e){return e===!0||e===1||e===`1`||e===`true`}function Eu(e,t,n){let r=t.options?.find(e=>e.value===String(n))?.title;return r?e(r):String(n??``)}var H=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/number.tsx`;function Du(e){return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:String(e)},void 0,!1,{fileName:H,lineNumber:36,columnNumber:10},this)}function Ou({name:e,field:t,value:n,onChange:r}){let i=t.hints;return t.hints.multiple===!0?(0,R.jsxDEV)(mt,{value:n,onChange:r,validate:e=>!isNaN(Number(e))&&e!==``,display:Du,renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`number`,value:e,onChange:e=>t(e.target.value),placeholder:`0`,className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:H,lineNumber:49,columnNumber:11},this)},void 0,!1,{fileName:H,lineNumber:43,columnNumber:7},this):(0,R.jsxDEV)(Ql,{customInput:E,id:e,value:n===``||n==null?``:String(n),thousandSeparator:!0,decimalScale:t.column===`integer`?0:void 0,min:i.min,max:i.max,step:i.step,onValueChange:e=>r(e.floatValue??``),placeholder:`0`},void 0,!1,{fileName:H,lineNumber:67,columnNumber:5},this)}function ku({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(bt,{items:kn(t,[]),content:Du,reserveEditor:!0},void 0,!1,{fileName:H,lineNumber:85,columnNumber:12},this):ut(t,e=>(0,R.jsxDEV)(`span`,{children:String(e)},void 0,!1,{fileName:H,lineNumber:87,columnNumber:31},this))}function Au(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-32`,bare:e.bare,view:t=>(0,R.jsxDEV)(ku,{field:e.field,value:t},void 0,!1,{fileName:H,lineNumber:103,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Ou,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:H,lineNumber:105,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:92,columnNumber:5},this)}I({kinds:[`number`],Page:Au});var ju=e=>Array.from({length:e},(e,t)=>(0,R.jsxDEV)(Cu,{className:`size-5 text-yellow-400 data-[state=empty]:text-border`},t,!1,{fileName:H,lineNumber:124,columnNumber:5},void 0));function Mu({value:e,onChange:t,field:n}){let r=Number(n.hints.max??5);return(0,R.jsxDEV)(`div`,{className:`flex items-center min-h-9`,children:(0,R.jsxDEV)(Su,{value:e?Number(e):0,max:r,clearable:!0,readOnly:!t,onValueChange:e=>t?.(e===0?``:e),"aria-label":n.label,children:ju(r)},void 0,!1,{fileName:H,lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:H,lineNumber:134,columnNumber:5},this)}function Nu(e){let t=(0,R.jsxDEV)(Mu,{field:e.field,value:e.value,onChange:e.onChange},void 0,!1,{fileName:H,lineNumber:152,columnNumber:15},this);return e.bare?t:(0,R.jsxDEV)(`div`,{className:`group/field w-fit`,children:[e.label!==void 0&&(0,R.jsxDEV)(Rt,{label:e.label,required:e.required},void 0,!1,{fileName:H,lineNumber:156,columnNumber:33},this),t,(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:H,lineNumber:158,columnNumber:7},this)]},void 0,!0,{fileName:H,lineNumber:155,columnNumber:5},this)}function Pu({value:e}){let t=Number(e);return(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 truncate`,children:Number.isNaN(t)||!t?`—`:(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(we,{name:`lucide:star`,size:12,className:`fill-current text-yellow-400`},void 0,!1,{fileName:H,lineNumber:171,columnNumber:11},this),t]},void 0,!0,{fileName:H,lineNumber:170,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:166,columnNumber:5},this)}I({kinds:[`rating`],Page:Nu,Inline:Pu});function Fu({value:e,onChange:t,field:n}){let{t:r}=a(),i=Number(n.hints.step??60),o=e?Number(e):0,s=Math.floor(o/86400),c=Math.floor(o%86400/3600),l=Math.floor(o%3600/60),u=o%60,d=i<60;function f(e,n,r,i){let a=Math.max(0,e*86400+n*3600+r*60+i);t(a>0?a:``)}let p=({val:e,unit:t,...n})=>(0,R.jsxDEV)(ee,{className:`w-[5.25rem]`,children:[(0,R.jsxDEV)(D,{type:`number`,value:e||``,min:0,placeholder:`0`,...n},void 0,!1,{fileName:H,lineNumber:203,columnNumber:7},this),(0,R.jsxDEV)(O,{align:`inline-end`,children:(0,R.jsxDEV)(T,{children:t},void 0,!1,{fileName:H,lineNumber:205,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:204,columnNumber:7},this)]},void 0,!0,{fileName:H,lineNumber:202,columnNumber:5},this);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 flex-wrap ${Lt}`,children:[(0,R.jsxDEV)(p,{val:s,unit:r(`form.days`),onChange:e=>f(Number(e.target.value)||0,c,l,u)},void 0,!1,{fileName:H,lineNumber:211,columnNumber:7},this),(0,R.jsxDEV)(p,{val:c,unit:r(`form.hours`),max:23,onChange:e=>f(s,Number(e.target.value)||0,l,u)},void 0,!1,{fileName:H,lineNumber:212,columnNumber:7},this),(0,R.jsxDEV)(p,{val:l,unit:r(`form.minutes`),max:59,step:d?1:Math.max(1,Math.floor(i/60)),onChange:e=>f(s,c,Number(e.target.value)||0,u)},void 0,!1,{fileName:H,lineNumber:213,columnNumber:7},this),d&&(0,R.jsxDEV)(p,{val:u,unit:r(`form.seconds`),max:59,step:i,onChange:e=>f(s,c,l,Number(e.target.value)||0)},void 0,!1,{fileName:H,lineNumber:221,columnNumber:9},this)]},void 0,!0,{fileName:H,lineNumber:210,columnNumber:5},this)}function Iu({value:e}){let{t}=a(),n=Number(e);return!n||Number.isNaN(n)?(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:H,lineNumber:236,columnNumber:43},this):(0,R.jsxDEV)(`span`,{className:`text-sm`,children:wu(n,t)},void 0,!1,{fileName:H,lineNumber:237,columnNumber:10},this)}function Lu(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:t=>(0,R.jsxDEV)(Iu,{field:e.field,value:t},void 0,!1,{fileName:H,lineNumber:253,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Fu,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:H,lineNumber:255,columnNumber:9},this)},void 0,!1,{fileName:H,lineNumber:242,columnNumber:5},this)}function Ru({value:e}){let{t}=a(),n=Number(e);return!n||Number.isNaN(n)?(0,R.jsxDEV)(`span`,{children:`—`},void 0,!1,{fileName:H,lineNumber:269,columnNumber:43},this):(0,R.jsxDEV)(`span`,{className:`truncate`,children:wu(n,t)},void 0,!1,{fileName:H,lineNumber:270,columnNumber:10},this)}I({kinds:[`duration`],Page:Lu,Inline:Ru});var zu=365.2425,Bu=6048e5,Vu=864e5,Hu=6e4,Uu=36e5,Wu=1e3,Gu=3600*24;Gu*7,Gu*zu/12*3;var Ku=Symbol.for(`constructDateFrom`);function qu(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&Ku in e?e[Ku](t):e instanceof Date?new e.constructor(t):new Date(t)}function U(e,t){return qu(t||e,e)}function Ju(e,t,n){let r=U(e,n?.in);return isNaN(t)?qu(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Yu(e,t,n){let r=U(e,n?.in);if(isNaN(t))return qu(n?.in||e,NaN);if(!t)return r;let i=r.getDate(),a=qu(n?.in||e,r.getTime());return a.setMonth(r.getMonth()+t+1,0),i>=a.getDate()?a:(r.setFullYear(a.getFullYear(),a.getMonth(),i),r)}var Xu={};function Zu(){return Xu}function Qu(e,t){let n=Zu(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=U(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function $u(e,t){return Qu(e,{...t,weekStartsOn:1})}function ed(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=qu(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=$u(i),o=qu(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=$u(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function td(e){let t=U(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function nd(e,...t){let n=qu.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function rd(e,t){let n=U(e,t?.in);return n.setHours(0,0,0,0),n}function id(e,t,n){let[r,i]=nd(n?.in,e,t),a=rd(r),o=rd(i),s=+a-td(a),c=+o-td(o);return Math.round((s-c)/Vu)}function ad(e,t){let n=ed(e,t),r=qu(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),$u(r)}function od(e,t,n){return Ju(e,t*7,n)}function sd(e,t,n){return Yu(e,t*12,n)}function cd(e,t){let n,r=t?.in;return e.forEach(e=>{!r&&typeof e==`object`&&(r=qu.bind(null,e));let t=U(e,r);(!n||n<t||isNaN(+t))&&(n=t)}),qu(r,n||NaN)}function ld(e,t){let n,r=t?.in;return e.forEach(e=>{!r&&typeof e==`object`&&(r=qu.bind(null,e));let t=U(e,r);(!n||n>t||isNaN(+t))&&(n=t)}),qu(r,n||NaN)}function ud(e,t,n){let[r,i]=nd(n?.in,e,t);return+rd(r)==+rd(i)}function dd(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function fd(e){return!(!dd(e)&&typeof e!=`number`||isNaN(+U(e)))}function pd(e,t,n){let[r,i]=nd(n?.in,e,t),a=r.getFullYear()-i.getFullYear(),o=r.getMonth()-i.getMonth();return a*12+o}function md(e,t){let n=U(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function hd(e,t){let[n,r]=nd(e,t.start,t.end);return{start:n,end:r}}function gd(e,t){let{start:n,end:r}=hd(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0),o.setDate(1);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(qu(n,o)),o.setMonth(o.getMonth()+s);return i?c.reverse():c}function _d(e,t){let n=U(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function vd(e,t){let n=U(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function yd(e,t){let n=U(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function bd(e,t){let{start:n,end:r}=hd(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0),o.setMonth(0,1);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(qu(n,o)),o.setFullYear(o.getFullYear()+s);return i?c.reverse():c}function xd(e,t){let n=Zu(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=U(e,t?.in),a=i.getDay(),o=(a<r?-7:0)+6-(a-r);return i.setDate(i.getDate()+o),i.setHours(23,59,59,999),i}function Sd(e,t){return xd(e,{...t,weekStartsOn:1})}var Cd={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},wd=(e,t,n)=>{let r,i=Cd[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Td(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var Ed={date:Td({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Td({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Td({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},Dd={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},Od=(e,t,n,r)=>Dd[e];function kd(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var Ad={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:kd({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:kd({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:kd({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:kd({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:kd({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function jd(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?Nd(s,e=>e.test(o)):Md(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function Md(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Nd(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Pd(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var Fd={code:`en-US`,formatDistance:wd,formatLong:Ed,formatRelative:Od,localize:Ad,match:{ordinalNumber:Pd({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:jd({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:jd({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:jd({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:jd({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:jd({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Id(e,t){let n=U(e,t?.in);return id(n,yd(n))+1}function Ld(e,t){let n=U(e,t?.in),r=$u(n)-+ad(n);return Math.round(r/Bu)+1}function Rd(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=Zu(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=qu(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=Qu(o,t),c=qu(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=Qu(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function zd(e,t){let n=Zu(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Rd(e,t),a=qu(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),Qu(a,t)}function Bd(e,t){let n=U(e,t?.in),r=Qu(n,t)-+zd(n,t);return Math.round(r/Bu)+1}function Vd(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var Hd={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Vd(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Vd(n+1,2)},d(e,t){return Vd(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return Vd(e.getHours()%12||12,t.length)},H(e,t){return Vd(e.getHours(),t.length)},m(e,t){return Vd(e.getMinutes(),t.length)},s(e,t){return Vd(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Vd(Math.trunc(r*10**(n-3)),t.length)}},Ud={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},Wd={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return Hd.y(e,t)},Y:function(e,t,n,r){let i=Rd(e,r),a=i>0?i:1-i;return t===`YY`?Vd(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Vd(a,t.length)},R:function(e,t){return Vd(ed(e),t.length)},u:function(e,t){return Vd(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return Vd(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return Vd(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return Hd.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return Vd(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Bd(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Vd(i,t.length)},I:function(e,t,n){let r=Ld(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Vd(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):Hd.d(e,t)},D:function(e,t,n){let r=Id(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Vd(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return Vd(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return Vd(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return Vd(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?Ud.noon:r===0?Ud.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?Ud.evening:r>=12?Ud.afternoon:r>=4?Ud.morning:Ud.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return Hd.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):Hd.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Vd(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Vd(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):Hd.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):Hd.s(e,t)},S:function(e,t){return Hd.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return Kd(r);case`XXXX`:case`XX`:return qd(r);default:return qd(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return Kd(r);case`xxxx`:case`xx`:return qd(r);default:return qd(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+Gd(r,`:`);default:return`GMT`+qd(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+Gd(r,`:`);default:return`GMT`+qd(r,`:`)}},t:function(e,t,n){return Vd(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Vd(+e,t.length)}};function Gd(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+Vd(a,2)}function Kd(e,t){return e%60==0?(e>0?`-`:`+`)+Vd(Math.abs(e)/60,2):qd(e,t)}function qd(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Vd(Math.trunc(r/60),2),a=Vd(r%60,2);return n+i+t+a}var Jd=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},Yd=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},Xd={p:Yd,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return Jd(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,Jd(r,t)).replace(`{{time}}`,Yd(i,t))}},Zd=/^D+$/,Qd=/^Y+$/,$d=[`D`,`DD`,`YY`,`YYYY`];function ef(e){return Zd.test(e)}function tf(e){return Qd.test(e)}function nf(e,t,n){let r=rf(e,t,n);if(console.warn(r),$d.includes(e))throw RangeError(r)}function rf(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var af=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,of=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,sf=/^'([^]*?)'?$/,cf=/''/g,lf=/[a-zA-Z]/;function uf(e,t,n){let r=Zu(),i=n?.locale??r.locale??Fd,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=U(e,n?.in);if(!fd(s))throw RangeError(`Invalid time value`);let c=t.match(of).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=Xd[t];return n(e,i.formatLong)}return e}).join(``).match(af).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:df(e)};if(Wd[t])return{isToken:!0,value:e};if(t.match(lf))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&tf(a)||!n?.useAdditionalDayOfYearTokens&&ef(a))&&nf(a,t,String(e));let o=Wd[a[0]];return o(s,a,i.localize,l)}).join(``)}function df(e){let t=e.match(sf);return t?t[1].replace(cf,`'`):e}function ff(e,t){let n=U(e,t?.in),r=n.getFullYear(),i=n.getMonth(),a=qu(n,0);return a.setFullYear(r,i+1,0),a.setHours(0,0,0,0),a.getDate()}function pf(){return Object.assign({},Zu())}function mf(e,t){let n=U(e,t?.in).getDay();return n===0?7:n}function hf(e,t){return U(e,t?.in).getMonth()}function gf(e,t){return U(e,t?.in).getFullYear()}function _f(e,t){return+U(e)>+U(t)}function vf(e,t){return+U(e)<+U(t)}function yf(e,t){let n=bf(t)?new t(0):qu(t,0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}function bf(e){return typeof e==`function`&&e.prototype?.constructor===e}var xf=10,Sf=class{subPriority=0;validate(e,t){return!0}},Cf=class extends Sf{constructor(e,t,n,r,i){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=r,i&&(this.subPriority=i)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}},wf=class extends Sf{priority=xf;subPriority=-1;constructor(e,t){super(),this.context=e||(e=>qu(t,e))}set(e,t){return t.timestampIsSet?e:qu(e,yf(e,this.context))}},Tf=class{run(e,t,n,r){let i=this.parse(e,t,n,r);return i?{setter:new Cf(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(e,t,n){return!0}},Ef=class extends Tf{priority=140;parse(e,t,n){switch(t){case`G`:case`GG`:case`GGG`:return n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`});case`GGGGG`:return n.era(e,{width:`narrow`});default:return n.era(e,{width:`wide`})||n.era(e,{width:`abbreviated`})||n.era(e,{width:`narrow`})}}set(e,t,n){return t.era=n,e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`R`,`u`,`t`,`T`]},Df={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Of={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function kf(e,t){return e&&{value:t(e.value),rest:e.rest}}function Af(e,t){let n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function jf(e,t){let n=t.match(e);if(!n)return null;if(n[0]===`Z`)return{value:0,rest:t.slice(1)};let r=n[1]===`+`?1:-1,i=n[2]?parseInt(n[2],10):0,a=n[3]?parseInt(n[3],10):0,o=n[5]?parseInt(n[5],10):0;return{value:r*(i*Uu+a*Hu+o*Wu),rest:t.slice(n[0].length)}}function Mf(e){return Af(Df.anyDigitsSigned,e)}function Nf(e,t){switch(e){case 1:return Af(Df.singleDigit,t);case 2:return Af(Df.twoDigits,t);case 3:return Af(Df.threeDigits,t);case 4:return Af(Df.fourDigits,t);default:return Af(RegExp(`^\\d{1,`+e+`}`),t)}}function Pf(e,t){switch(e){case 1:return Af(Df.singleDigitSigned,t);case 2:return Af(Df.twoDigitsSigned,t);case 3:return Af(Df.threeDigitsSigned,t);case 4:return Af(Df.fourDigitsSigned,t);default:return Af(RegExp(`^-?\\d{1,`+e+`}`),t)}}function Ff(e){switch(e){case`morning`:return 4;case`evening`:return 17;case`pm`:case`noon`:case`afternoon`:return 12;default:return 0}}function If(e,t){let n=t>0,r=n?t:1-t,i;if(r<=50)i=e||100;else{let t=r+50,n=Math.trunc(t/100)*100,a=e>=t%100;i=e+n-(a?100:0)}return n?i:1-i}function Lf(e){return e%400==0||e%4==0&&e%100!=0}var Rf=class extends Tf{priority=130;incompatibleTokens=[`Y`,`R`,`u`,`w`,`I`,`i`,`e`,`c`,`t`,`T`];parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`yy`});switch(t){case`y`:return kf(Nf(4,e),r);case`yo`:return kf(n.ordinalNumber(e,{unit:`year`}),r);default:return kf(Nf(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n){let r=e.getFullYear();if(n.isTwoDigitYear){let t=If(n.year,r);return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}let i=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(i,0,1),e.setHours(0,0,0,0),e}},zf=class extends Tf{priority=130;parse(e,t,n){let r=e=>({year:e,isTwoDigitYear:t===`YY`});switch(t){case`Y`:return kf(Nf(4,e),r);case`Yo`:return kf(n.ordinalNumber(e,{unit:`year`}),r);default:return kf(Nf(t.length,e),r)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n,r){let i=Rd(e,r);if(n.isTwoDigitYear){let t=If(n.year,i);return e.setFullYear(t,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),Qu(e,r)}let a=!(`era`in t)||t.era===1?n.year:1-n.year;return e.setFullYear(a,0,r.firstWeekContainsDate),e.setHours(0,0,0,0),Qu(e,r)}incompatibleTokens=[`y`,`R`,`u`,`Q`,`q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]},Bf=class extends Tf{priority=130;parse(e,t){return Pf(t===`R`?4:t.length,e)}set(e,t,n){let r=qu(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),$u(r)}incompatibleTokens=[`G`,`y`,`Y`,`u`,`Q`,`q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},Vf=class extends Tf{priority=130;parse(e,t){return Pf(t===`u`?4:t.length,e)}set(e,t,n){return e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`G`,`y`,`Y`,`R`,`w`,`I`,`i`,`e`,`c`,`t`,`T`]},Hf=class extends Tf{priority=120;parse(e,t,n){switch(t){case`Q`:case`QQ`:return Nf(t.length,e);case`Qo`:return n.ordinalNumber(e,{unit:`quarter`});case`QQQ`:return n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`});case`QQQQQ`:return n.quarter(e,{width:`narrow`,context:`formatting`});default:return n.quarter(e,{width:`wide`,context:`formatting`})||n.quarter(e,{width:`abbreviated`,context:`formatting`})||n.quarter(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},Uf=class extends Tf{priority=120;parse(e,t,n){switch(t){case`q`:case`qq`:return Nf(t.length,e);case`qo`:return n.ordinalNumber(e,{unit:`quarter`});case`qqq`:return n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`});case`qqqqq`:return n.quarter(e,{width:`narrow`,context:`standalone`});default:return n.quarter(e,{width:`wide`,context:`standalone`})||n.quarter(e,{width:`abbreviated`,context:`standalone`})||n.quarter(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth((n-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`Q`,`M`,`L`,`w`,`I`,`d`,`D`,`i`,`e`,`c`,`t`,`T`]},Wf=class extends Tf{incompatibleTokens=[`Y`,`R`,`q`,`Q`,`L`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`];priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`M`:return kf(Af(Df.month,e),r);case`MM`:return kf(Nf(2,e),r);case`Mo`:return kf(n.ordinalNumber(e,{unit:`month`}),r);case`MMM`:return n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`});case`MMMMM`:return n.month(e,{width:`narrow`,context:`formatting`});default:return n.month(e,{width:`wide`,context:`formatting`})||n.month(e,{width:`abbreviated`,context:`formatting`})||n.month(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}},Gf=class extends Tf{priority=110;parse(e,t,n){let r=e=>e-1;switch(t){case`L`:return kf(Af(Df.month,e),r);case`LL`:return kf(Nf(2,e),r);case`Lo`:return kf(n.ordinalNumber(e,{unit:`month`}),r);case`LLL`:return n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`});case`LLLLL`:return n.month(e,{width:`narrow`,context:`standalone`});default:return n.month(e,{width:`wide`,context:`standalone`})||n.month(e,{width:`abbreviated`,context:`standalone`})||n.month(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]};function Kf(e,t,n){let r=U(e,n?.in),i=Bd(r,n)-t;return r.setDate(r.getDate()-i*7),U(r,n?.in)}var qf=class extends Tf{priority=100;parse(e,t,n){switch(t){case`w`:return Af(Df.week,e);case`wo`:return n.ordinalNumber(e,{unit:`week`});default:return Nf(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n,r){return Qu(Kf(e,n,r),r)}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`i`,`t`,`T`]};function Jf(e,t,n){let r=U(e,n?.in),i=Ld(r,n)-t;return r.setDate(r.getDate()-i*7),r}var Yf=class extends Tf{priority=100;parse(e,t,n){switch(t){case`I`:return Af(Df.week,e);case`Io`:return n.ordinalNumber(e,{unit:`week`});default:return Nf(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n){return $u(Jf(e,n))}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`e`,`c`,`t`,`T`]},Xf=[31,28,31,30,31,30,31,31,30,31,30,31],Zf=[31,29,31,30,31,30,31,31,30,31,30,31],Qf=class extends Tf{priority=90;subPriority=1;parse(e,t,n){switch(t){case`d`:return Af(Df.date,e);case`do`:return n.ordinalNumber(e,{unit:`date`});default:return Nf(t.length,e)}}validate(e,t){let n=Lf(e.getFullYear()),r=e.getMonth();return n?t>=1&&t<=Zf[r]:t>=1&&t<=Xf[r]}set(e,t,n){return e.setDate(n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`w`,`I`,`D`,`i`,`e`,`c`,`t`,`T`]},$f=class extends Tf{priority=90;subpriority=1;parse(e,t,n){switch(t){case`D`:case`DD`:return Af(Df.dayOfYear,e);case`Do`:return n.ordinalNumber(e,{unit:`date`});default:return Nf(t.length,e)}}validate(e,t){return Lf(e.getFullYear())?t>=1&&t<=366:t>=1&&t<=365}set(e,t,n){return e.setMonth(0,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`Y`,`R`,`q`,`Q`,`M`,`L`,`w`,`I`,`d`,`E`,`i`,`e`,`c`,`t`,`T`]};function ep(e,t,n){let r=Zu(),i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=U(e,n?.in),o=a.getDay(),s=(t%7+7)%7,c=7-i;return Ju(a,t<0||t>6?t-(o+c)%7:(s+c)%7-(o+c)%7,n)}var tp=class extends Tf{priority=90;parse(e,t,n){switch(t){case`E`:case`EE`:case`EEE`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`EEEEE`:return n.day(e,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=ep(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`D`,`i`,`e`,`c`,`t`,`T`]},np=class extends Tf{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`e`:case`ee`:return kf(Nf(t.length,e),i);case`eo`:return kf(n.ordinalNumber(e,{unit:`day`}),i);case`eee`:return n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});case`eeeee`:return n.day(e,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`});default:return n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=ep(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`c`,`t`,`T`]},rp=class extends Tf{priority=90;parse(e,t,n,r){let i=e=>{let t=Math.floor((e-1)/7)*7;return(e+r.weekStartsOn+6)%7+t};switch(t){case`c`:case`cc`:return kf(Nf(t.length,e),i);case`co`:return kf(n.ordinalNumber(e,{unit:`day`}),i);case`ccc`:return n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});case`ccccc`:return n.day(e,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`});default:return n.day(e,{width:`wide`,context:`standalone`})||n.day(e,{width:`abbreviated`,context:`standalone`})||n.day(e,{width:`short`,context:`standalone`})||n.day(e,{width:`narrow`,context:`standalone`})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,r){return e=ep(e,n,r),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`R`,`u`,`q`,`Q`,`M`,`L`,`I`,`d`,`D`,`E`,`i`,`e`,`t`,`T`]};function ip(e,t,n){let r=U(e,n?.in);return Ju(r,t-mf(r,n),n)}var ap=class extends Tf{priority=90;parse(e,t,n){let r=e=>e===0?7:e;switch(t){case`i`:case`ii`:return Nf(t.length,e);case`io`:return n.ordinalNumber(e,{unit:`day`});case`iii`:return kf(n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiii`:return kf(n.day(e,{width:`narrow`,context:`formatting`}),r);case`iiiiii`:return kf(n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r);default:return kf(n.day(e,{width:`wide`,context:`formatting`})||n.day(e,{width:`abbreviated`,context:`formatting`})||n.day(e,{width:`short`,context:`formatting`})||n.day(e,{width:`narrow`,context:`formatting`}),r)}}validate(e,t){return t>=1&&t<=7}set(e,t,n){return e=ip(e,n),e.setHours(0,0,0,0),e}incompatibleTokens=[`y`,`Y`,`u`,`q`,`Q`,`M`,`L`,`w`,`d`,`D`,`E`,`e`,`c`,`t`,`T`]},op=class extends Tf{priority=80;parse(e,t,n){switch(t){case`a`:case`aa`:case`aaa`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`aaaaa`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Ff(n),0,0,0),e}incompatibleTokens=[`b`,`B`,`H`,`k`,`t`,`T`]},sp=class extends Tf{priority=80;parse(e,t,n){switch(t){case`b`:case`bb`:case`bbb`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`bbbbb`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Ff(n),0,0,0),e}incompatibleTokens=[`a`,`B`,`H`,`k`,`t`,`T`]},cp=class extends Tf{priority=80;parse(e,t,n){switch(t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`});case`BBBBB`:return n.dayPeriod(e,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(e,{width:`wide`,context:`formatting`})||n.dayPeriod(e,{width:`abbreviated`,context:`formatting`})||n.dayPeriod(e,{width:`narrow`,context:`formatting`})}}set(e,t,n){return e.setHours(Ff(n),0,0,0),e}incompatibleTokens=[`a`,`b`,`t`,`T`]},lp=class extends Tf{priority=70;parse(e,t,n){switch(t){case`h`:return Af(Df.hour12h,e);case`ho`:return n.ordinalNumber(e,{unit:`hour`});default:return Nf(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,n){let r=e.getHours()>=12;return r&&n<12?e.setHours(n+12,0,0,0):!r&&n===12?e.setHours(0,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`H`,`K`,`k`,`t`,`T`]},up=class extends Tf{priority=70;parse(e,t,n){switch(t){case`H`:return Af(Df.hour23h,e);case`Ho`:return n.ordinalNumber(e,{unit:`hour`});default:return Nf(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,n){return e.setHours(n,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`K`,`k`,`t`,`T`]},dp=class extends Tf{priority=70;parse(e,t,n){switch(t){case`K`:return Af(Df.hour11h,e);case`Ko`:return n.ordinalNumber(e,{unit:`hour`});default:return Nf(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.getHours()>=12&&n<12?e.setHours(n+12,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=[`h`,`H`,`k`,`t`,`T`]},fp=class extends Tf{priority=70;parse(e,t,n){switch(t){case`k`:return Af(Df.hour24h,e);case`ko`:return n.ordinalNumber(e,{unit:`hour`});default:return Nf(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,n){let r=n<=24?n%24:n;return e.setHours(r,0,0,0),e}incompatibleTokens=[`a`,`b`,`h`,`H`,`K`,`t`,`T`]},pp=class extends Tf{priority=60;parse(e,t,n){switch(t){case`m`:return Af(Df.minute,e);case`mo`:return n.ordinalNumber(e,{unit:`minute`});default:return Nf(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setMinutes(n,0,0),e}incompatibleTokens=[`t`,`T`]},mp=class extends Tf{priority=50;parse(e,t,n){switch(t){case`s`:return Af(Df.second,e);case`so`:return n.ordinalNumber(e,{unit:`second`});default:return Nf(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setSeconds(n,0),e}incompatibleTokens=[`t`,`T`]},hp=class extends Tf{priority=30;parse(e,t){return kf(Nf(t.length,e),e=>Math.trunc(e*10**(-t.length+3)))}set(e,t,n){return e.setMilliseconds(n),e}incompatibleTokens=[`t`,`T`]},gp=class extends Tf{priority=10;parse(e,t){switch(t){case`X`:return jf(Of.basicOptionalMinutes,e);case`XX`:return jf(Of.basic,e);case`XXXX`:return jf(Of.basicOptionalSeconds,e);case`XXXXX`:return jf(Of.extendedOptionalSeconds,e);default:return jf(Of.extended,e)}}set(e,t,n){return t.timestampIsSet?e:qu(e,e.getTime()-td(e)-n)}incompatibleTokens=[`t`,`T`,`x`]},_p=class extends Tf{priority=10;parse(e,t){switch(t){case`x`:return jf(Of.basicOptionalMinutes,e);case`xx`:return jf(Of.basic,e);case`xxxx`:return jf(Of.basicOptionalSeconds,e);case`xxxxx`:return jf(Of.extendedOptionalSeconds,e);default:return jf(Of.extended,e)}}set(e,t,n){return t.timestampIsSet?e:qu(e,e.getTime()-td(e)-n)}incompatibleTokens=[`t`,`T`,`X`]},vp=class extends Tf{priority=40;parse(e){return Mf(e)}set(e,t,n){return[qu(e,n*1e3),{timestampIsSet:!0}]}incompatibleTokens=`*`},yp=class extends Tf{priority=20;parse(e){return Mf(e)}set(e,t,n){return[qu(e,n),{timestampIsSet:!0}]}incompatibleTokens=`*`},bp={G:new Ef,y:new Rf,Y:new zf,R:new Bf,u:new Vf,Q:new Hf,q:new Uf,M:new Wf,L:new Gf,w:new qf,I:new Yf,d:new Qf,D:new $f,E:new tp,e:new np,c:new rp,i:new ap,a:new op,b:new sp,B:new cp,h:new lp,H:new up,K:new dp,k:new fp,m:new pp,s:new mp,S:new hp,X:new gp,x:new _p,t:new vp,T:new yp},xp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Sp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Cp=/^'([^]*?)'?$/,wp=/''/g,Tp=/\S/,Ep=/[a-zA-Z]/;function Dp(e,t,n,r){let i=()=>qu(r?.in||n,NaN),a=pf(),o=r?.locale??a.locale??Fd,s=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,c=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0;if(!t)return e?i():U(n,r?.in);let l={firstWeekContainsDate:s,weekStartsOn:c,locale:o},u=[new wf(r?.in,n)],d=t.match(Sp).map(e=>{let t=e[0];if(t in Xd){let n=Xd[t];return n(e,o.formatLong)}return e}).join(``).match(xp),f=[];for(let n of d){!r?.useAdditionalWeekYearTokens&&tf(n)&&nf(n,t,e),!r?.useAdditionalDayOfYearTokens&&ef(n)&&nf(n,t,e);let a=n[0],s=bp[a];if(s){let{incompatibleTokens:t}=s;if(Array.isArray(t)){let e=f.find(e=>t.includes(e.token)||e.token===a);if(e)throw RangeError(`The format string mustn't contain \`${e.fullToken}\` and \`${n}\` at the same time`)}else if(s.incompatibleTokens===`*`&&f.length>0)throw RangeError(`The format string mustn't contain \`${n}\` and any other token at the same time`);f.push({token:a,fullToken:n});let r=s.run(e,n,o.match,l);if(!r)return i();u.push(r.setter),e=r.rest}else{if(a.match(Ep))throw RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");if(n===`''`?n=`'`:a===`'`&&(n=Op(n)),e.indexOf(n)===0)e=e.slice(n.length);else return i()}}if(e.length>0&&Tp.test(e))return i();let p=u.map(e=>e.priority).sort((e,t)=>t-e).filter((e,t,n)=>n.indexOf(e)===t).map(e=>u.filter(t=>t.priority===e).sort((e,t)=>t.subPriority-e.subPriority)).map(e=>e[0]),m=U(n,r?.in);if(isNaN(+m))return i();let h={};for(let e of p){if(!e.validate(m,l))return i();let t=e.set(m,h,l);Array.isArray(t)?(m=t[0],Object.assign(h,t[1])):m=t}return m}function Op(e){return e.match(Cp)[1].replace(wp,`'`)}function kp(e,t,n){let[r,i]=nd(n?.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function Ap(e,t,n){let[r,i]=nd(n?.in,e,t);return r.getFullYear()===i.getFullYear()}function jp(e,t,n){let r=U(e,n?.in),i=r.getFullYear(),a=r.getDate(),o=qu(n?.in||e,0);o.setFullYear(i,t,15),o.setHours(0,0,0,0);let s=ff(o);return r.setMonth(t,Math.min(a,s)),r}function Mp(e,t,n){let r=U(e,n?.in);return isNaN(+r)?qu(n?.in||e,NaN):(r.setFullYear(t),r)}function Np(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var Pp={},Fp={};function Ip(e,t){try{let n=(Pp[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in Fp?Fp[n]:Rp(n,n.split(`:`))}catch{if(e in Fp)return Fp[e];let t=e?.match(Lp);return t?Rp(e,t.slice(1)):NaN}}var Lp=/([+-]\d\d):?(\d\d)?/;function Rp(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return Fp[e]=n*60+r>0?n*60+r+i:n*60-r-i}var zp=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(Ip(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),Up(this,e)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-Ip(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),Vp(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},Bp=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Bp.test(e))return;let t=e.replace(Bp,`$1UTC`);zp.prototype[t]&&(e.startsWith(`get`)?zp.prototype[e]=function(){return this.internal[t]()}:(zp.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Hp(this),+this},zp.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Vp(this),+this}))});function Vp(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Ip(e.timeZone,e)*60))}function Hp(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),Up(e)}function Up(e,t){let n=Array.isArray(t)?Wp(t):+e.internal,r=Ip(e.timeZone,e),i=r>0?Math.floor(r):Math.ceil(r),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);let o=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),c=o-s,l=o;if(c&&o!==i&&Date.prototype.getHours.apply(e)!==(Array.isArray(t)?t[3]||0:e.internal.getUTCHours())){let t=new Date(+e),n=o-i;n&&t.setUTCMinutes(t.getUTCMinutes()+n);let r=Ip(e.timeZone,t);(r>0?Math.floor(r):Math.ceil(r))===i&&(l=s)}let u=l-i;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);let d=new Date(+e);d.setUTCSeconds(0);let f=o>0?d.getSeconds():(d.getSeconds()-60)%60,p=Math.round(-(Ip(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let m=Ip(e.timeZone,e),h=m>0?Math.floor(m):Math.ceil(m),g=-new Date(+e).getTimezoneOffset()-h,_=h!==i,v=g-u,y=h-i,b=n-h*60*1e3,x=y>0&&Gp(e)-n===y*60*1e3&&Gp(e,b)!==n;if(_&&v&&!x){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);let t=Ip(e.timeZone,e),n=h-(t>0?Math.floor(t):Math.ceil(t));n&&v<0&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n)}Vp(e);let S=(t?n:n+p*1e3)-+e.internal;S&&Math.abs(S)<1800*1e3&&(Date.prototype.setTime.call(e,+e+S),Vp(e))}function Wp(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function Gp(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-Ip(e.timeZone,n)*60)),+n}var Kp=class e extends zp{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${Np(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},qp=5,Jp=4;function Yp(e,t){let n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,i=t.addDays(e,-r+1),a=t.addDays(i,qp*7-1);return t.getMonth(e)===t.getMonth(a)?qp:Jp}function Xp(e,t){let n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function Zp(e,t){let n=Xp(e,t),r=Yp(e,t);return t.addDays(n,r*7-1)}var Qp={...Fd,labels:{labelDayButton:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>uf(e,t,{locale:Fd,...n});let a=i(e,`PPPP`);return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a},labelMonthDropdown:`Choose the Month`,labelNext:`Go to the Next Month`,labelPrevious:`Go to the Previous Month`,labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:`Choose the Year`,labelGrid:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>uf(e,n,{locale:Fd,...t}),r(e,`LLLL yyyy`)},labelGridcell:(e,t,n,r)=>{let i;i=r&&typeof r.format==`function`?r.format.bind(r):(e,t)=>uf(e,t,{locale:Fd,...n});let a=i(e,`PPPP`);return t?.today&&(a=`Today, ${a}`),a},labelNav:`Navigation bar`,labelWeekNumberHeader:`Week Number`,labelWeekday:(e,t,n)=>{let r;return r=n&&typeof n.format==`function`?n.format.bind(n):(e,n)=>uf(e,n,{locale:Fd,...t}),r(e,`cccc`)}}},$p=class e{constructor(e,t){this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Kp.tz(this.options.timeZone):new(this.options.Date??Date),this.newDate=(e,t,n)=>this.overrides?.newDate?this.overrides.newDate(e,t,n):this.options.timeZone?new Kp(e,t,n,this.options.timeZone):new Date(e,t,n),this.addDays=(e,t)=>this.overrides?.addDays?this.overrides.addDays(e,t):Ju(e,t),this.addMonths=(e,t)=>this.overrides?.addMonths?this.overrides.addMonths(e,t):Yu(e,t),this.addWeeks=(e,t)=>this.overrides?.addWeeks?this.overrides.addWeeks(e,t):od(e,t),this.addYears=(e,t)=>this.overrides?.addYears?this.overrides.addYears(e,t):sd(e,t),this.differenceInCalendarDays=(e,t)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(e,t):id(e,t),this.differenceInCalendarMonths=(e,t)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(e,t):pd(e,t),this.eachMonthOfInterval=e=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(e):gd(e),this.eachYearOfInterval=e=>{let t=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(e):bd(e),n=new Set(t.map(e=>this.getYear(e)));if(n.size===t.length)return t;let r=[];return n.forEach(e=>{r.push(new Date(e,0,1))}),r},this.endOfBroadcastWeek=e=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(e):Zp(e,this),this.endOfISOWeek=e=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(e):Sd(e),this.endOfMonth=e=>this.overrides?.endOfMonth?this.overrides.endOfMonth(e):md(e),this.endOfWeek=(e,t)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(e,t):xd(e,this.options),this.endOfYear=e=>this.overrides?.endOfYear?this.overrides.endOfYear(e):vd(e),this.format=(e,t,n)=>{let r=this.overrides?.format?this.overrides.format(e,t,this.options):uf(e,t,this.options);return this.options.numerals&&this.options.numerals!==`latn`?this.replaceDigits(r):r},this.getISOWeek=e=>this.overrides?.getISOWeek?this.overrides.getISOWeek(e):Ld(e),this.getMonth=(e,t)=>this.overrides?.getMonth?this.overrides.getMonth(e,this.options):hf(e,this.options),this.getYear=(e,t)=>this.overrides?.getYear?this.overrides.getYear(e,this.options):gf(e,this.options),this.getWeek=(e,t)=>this.overrides?.getWeek?this.overrides.getWeek(e,this.options):Bd(e,this.options),this.isAfter=(e,t)=>this.overrides?.isAfter?this.overrides.isAfter(e,t):_f(e,t),this.isBefore=(e,t)=>this.overrides?.isBefore?this.overrides.isBefore(e,t):vf(e,t),this.isDate=e=>this.overrides?.isDate?this.overrides.isDate(e):dd(e),this.isSameDay=(e,t)=>this.overrides?.isSameDay?this.overrides.isSameDay(e,t):ud(e,t),this.isSameMonth=(e,t)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(e,t):kp(e,t),this.isSameYear=(e,t)=>this.overrides?.isSameYear?this.overrides.isSameYear(e,t):Ap(e,t),this.max=e=>this.overrides?.max?this.overrides.max(e):cd(e),this.min=e=>this.overrides?.min?this.overrides.min(e):ld(e),this.setMonth=(e,t)=>this.overrides?.setMonth?this.overrides.setMonth(e,t):jp(e,t),this.setYear=(e,t)=>this.overrides?.setYear?this.overrides.setYear(e,t):Mp(e,t),this.startOfBroadcastWeek=(e,t)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(e,this):Xp(e,this),this.startOfDay=e=>this.overrides?.startOfDay?this.overrides.startOfDay(e):rd(e),this.startOfISOWeek=e=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(e):$u(e),this.startOfMonth=e=>this.overrides?.startOfMonth?this.overrides.startOfMonth(e):_d(e),this.startOfWeek=(e,t)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(e,this.options):Qu(e,this.options),this.startOfYear=e=>this.overrides?.startOfYear?this.overrides.startOfYear(e):yd(e),this.options={locale:Qp,...e},this.overrides=t}getDigitMap(){let{numerals:e=`latn`}=this.options,t=new Intl.NumberFormat(`en-US`,{numberingSystem:e}),n={};for(let e=0;e<10;e++)n[e.toString()]=t.format(e);return n}replaceDigits(e){let t=this.getDigitMap();return e.replace(/\d/g,e=>t[e]||e)}formatNumber(e){return this.replaceDigits(e.toString())}getMonthYearOrder(){let t=this.options.locale?.code;return t&&e.yearFirstLocales.has(t)?`year-first`:`month-first`}formatMonthYear(t){let{locale:n,timeZone:r,numerals:i}=this.options,a=n?.code;if(a&&e.yearFirstLocales.has(a))try{return new Intl.DateTimeFormat(a,{month:`long`,year:`numeric`,timeZone:r,numberingSystem:i}).format(t)}catch{}let o=this.getMonthYearOrder()===`year-first`?`y LLLL`:`LLLL y`;return this.format(t,o)}};$p.yearFirstLocales=new Set([`eu`,`hu`,`ja`,`ja-Hira`,`ja-JP`,`ko`,`ko-KR`,`lt`,`lt-LT`,`lv`,`lv-LV`,`mn`,`mn-MN`,`zh`,`zh-CN`,`zh-HK`,`zh-TW`]);var em=new $p,tm=class{constructor(e,t,n=em){this.date=e,this.displayMonth=t,this.outside=!!(t&&!n.isSameMonth(e,t)),this.dateLib=n,this.isoDate=n.format(e,`yyyy-MM-dd`),this.displayMonthId=n.format(t,`yyyy-MM`),this.dateMonthId=n.format(e,`yyyy-MM`)}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}},nm=class{constructor(e,t){this.date=e,this.weeks=t}},rm=class{constructor(e,t){this.days=t,this.weekNumber=e}};function im(e){return L.createElement(`span`,{...e})}function am(e){let{size:t=24,orientation:n=`left`,className:r,style:i}=e;return L.createElement(`svg`,{className:r,style:i,width:t,height:t,viewBox:`0 0 24 24`},n===`up`&&L.createElement(`polygon`,{points:`6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28`}),n===`down`&&L.createElement(`polygon`,{points:`6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72`}),n===`left`&&L.createElement(`polygon`,{points:`16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20`}),n===`right`&&L.createElement(`polygon`,{points:`8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20`}))}function om(e){let{day:t,modifiers:n,...r}=e;return L.createElement(`td`,{...r})}function sm(e){let{day:t,modifiers:n,...r}=e,i=L.useRef(null);return L.useEffect(()=>{n.focused&&i.current?.focus()},[n.focused]),L.createElement(`button`,{ref:i,...r})}var W;(function(e){e.Root=`root`,e.Chevron=`chevron`,e.Day=`day`,e.DayButton=`day_button`,e.CaptionLabel=`caption_label`,e.Dropdowns=`dropdowns`,e.Dropdown=`dropdown`,e.DropdownRoot=`dropdown_root`,e.Footer=`footer`,e.MonthGrid=`month_grid`,e.MonthCaption=`month_caption`,e.MonthsDropdown=`months_dropdown`,e.Month=`month`,e.Months=`months`,e.Nav=`nav`,e.NextMonthButton=`button_next`,e.PreviousMonthButton=`button_previous`,e.Week=`week`,e.Weeks=`weeks`,e.Weekday=`weekday`,e.Weekdays=`weekdays`,e.WeekNumber=`week_number`,e.WeekNumberHeader=`week_number_header`,e.YearsDropdown=`years_dropdown`})(W||={});var cm;(function(e){e.disabled=`disabled`,e.hidden=`hidden`,e.outside=`outside`,e.focused=`focused`,e.today=`today`})(cm||={});var lm;(function(e){e.range_end=`range_end`,e.range_middle=`range_middle`,e.range_start=`range_start`,e.selected=`selected`})(lm||={});var um;(function(e){e.weeks_before_enter=`weeks_before_enter`,e.weeks_before_exit=`weeks_before_exit`,e.weeks_after_enter=`weeks_after_enter`,e.weeks_after_exit=`weeks_after_exit`,e.caption_after_enter=`caption_after_enter`,e.caption_after_exit=`caption_after_exit`,e.caption_before_enter=`caption_before_enter`,e.caption_before_exit=`caption_before_exit`})(um||={});var dm=(0,L.createContext)(void 0);function fm(){let e=(0,L.useContext)(dm);if(e===void 0)throw Error(`useDayPicker() must be used within a custom component.`);return e}function pm(e){let{options:t,className:n,...r}=e,{classNames:i,components:a,styles:o}=fm(),s=[i[W.Dropdown],n].join(` `),c=t?.find(({value:e})=>e===r.value);return L.createElement(`span`,{"data-disabled":r.disabled,className:i[W.DropdownRoot],style:o?.[W.DropdownRoot]},L.createElement(a.Select,{className:s,...r},t?.map(({value:e,label:t,disabled:n})=>L.createElement(a.Option,{key:e,value:e,disabled:n},t))),L.createElement(`span`,{className:i[W.CaptionLabel],style:o?.[W.CaptionLabel],"aria-hidden":!0},c?.label,L.createElement(a.Chevron,{orientation:`down`,size:18,className:i[W.Chevron],style:o?.[W.Chevron]})))}function mm(e){return L.createElement(`div`,{...e})}function hm(e){return L.createElement(`div`,{...e})}function gm(e){let{calendarMonth:t,displayIndex:n,...r}=e;return L.createElement(`div`,{...r},e.children)}function _m(e){let{calendarMonth:t,displayIndex:n,...r}=e;return L.createElement(`div`,{...r})}function vm(e){return L.createElement(`table`,{...e})}function ym(e){return L.createElement(`div`,{...e})}function bm(e){let{components:t}=fm();return L.createElement(t.Dropdown,{...e})}function xm(e){let{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:i,...a}=e,{components:o,classNames:s,styles:c,labels:{labelPrevious:l,labelNext:u}}=fm(),d=(0,L.useCallback)(e=>{i&&n?.(e)},[i,n]),f=(0,L.useCallback)(e=>{r&&t?.(e)},[r,t]);return L.createElement(`nav`,{...a},L.createElement(o.PreviousMonthButton,{type:`button`,className:s[W.PreviousMonthButton],style:c?.[W.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":!r||void 0,"aria-label":l(r),onClick:f},L.createElement(o.Chevron,{disabled:!r||void 0,className:s[W.Chevron],style:c?.[W.Chevron],orientation:`left`})),L.createElement(o.NextMonthButton,{type:`button`,className:s[W.NextMonthButton],style:c?.[W.NextMonthButton],tabIndex:i?void 0:-1,"aria-disabled":!i||void 0,"aria-label":u(i),onClick:d},L.createElement(o.Chevron,{disabled:!i||void 0,orientation:`right`,className:s[W.Chevron],style:c?.[W.Chevron]})))}function Sm(e){return L.createElement(`button`,{...e})}function Cm(e){return L.createElement(`option`,{...e})}function wm(e){return L.createElement(`button`,{...e})}function Tm(e){let{rootRef:t,...n}=e;return L.createElement(`div`,{...n,ref:t})}function Em(e){return L.createElement(`select`,{...e})}function Dm(e){let{week:t,...n}=e;return L.createElement(`tr`,{...n})}function Om(e){return L.createElement(`th`,{...e})}function km(e){return L.createElement(`thead`,{"aria-hidden":!0},L.createElement(`tr`,{...e}))}function Am(e){let{week:t,...n}=e;return L.createElement(`th`,{...n})}function jm(e){return L.createElement(`th`,{...e})}function Mm(e){return L.createElement(`tbody`,{...e})}function Nm(e){let{components:t}=fm();return L.createElement(t.Dropdown,{...e})}var Pm=e({CaptionLabel:()=>im,Chevron:()=>am,Day:()=>om,DayButton:()=>sm,Dropdown:()=>pm,DropdownNav:()=>mm,Footer:()=>hm,Month:()=>gm,MonthCaption:()=>_m,MonthGrid:()=>vm,Months:()=>ym,MonthsDropdown:()=>bm,Nav:()=>xm,NextMonthButton:()=>Sm,Option:()=>Cm,PreviousMonthButton:()=>wm,Root:()=>Tm,Select:()=>Em,Week:()=>Dm,WeekNumber:()=>Am,WeekNumberHeader:()=>jm,Weekday:()=>Om,Weekdays:()=>km,Weeks:()=>Mm,YearsDropdown:()=>Nm});function Fm(e,t,n=!1,r=em){let{from:i,to:a}=e,{differenceInCalendarDays:o,isSameDay:s}=r;return i&&a?(o(a,i)<0&&([i,a]=[a,i]),o(t,i)>=+!!n&&o(a,t)>=+!!n):!n&&a?s(a,t):!n&&i?s(i,t):!1}function Im(e){return!!(e&&typeof e==`object`&&`before`in e&&`after`in e)}function Lm(e){return!!(e&&typeof e==`object`&&`from`in e)}function Rm(e){return!!(e&&typeof e==`object`&&`after`in e)}function zm(e){return!!(e&&typeof e==`object`&&`before`in e)}function Bm(e){return!!(e&&typeof e==`object`&&`dayOfWeek`in e)}function Vm(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Hm(e,t,n=em){let r=Array.isArray(t)?t:[t],{isSameDay:i,differenceInCalendarDays:a,isAfter:o}=n;return r.some(t=>{if(typeof t==`boolean`)return t;if(n.isDate(t))return i(e,t);if(Vm(t,n))return t.some(t=>i(e,t));if(Lm(t))return Fm(t,e,!1,n);if(Bm(t))return Array.isArray(t.dayOfWeek)?t.dayOfWeek.includes(e.getDay()):t.dayOfWeek===e.getDay();if(Im(t)){let n=a(t.before,e),r=a(t.after,e),i=n>0,s=r<0;return o(t.before,t.after)?s&&i:i||s}return Rm(t)?a(e,t.after)>0:zm(t)?a(t.before,e)>0:typeof t==`function`&&t(e)})}function Um(e,t,n,r,i){let{disabled:a,hidden:o,modifiers:s,showOutsideDays:c,broadcastCalendar:l,today:u=i.today()}=t,{isSameDay:d,isSameMonth:f,startOfMonth:p,isBefore:m,endOfMonth:h,isAfter:g}=i,_=n&&p(n),v=r&&h(r),y={[cm.focused]:[],[cm.outside]:[],[cm.disabled]:[],[cm.hidden]:[],[cm.today]:[]},b={};for(let t of e){let{date:e,displayMonth:n}=t,r=!!(n&&!f(e,n)),p=!!(_&&m(e,_)),h=!!(v&&g(e,v)),x=!!(a&&Hm(e,a,i)),S=!!(o&&Hm(e,o,i))||p||h||!l&&!c&&r||l&&c===!1&&r,C=d(e,u);r&&y.outside.push(t),x&&y.disabled.push(t),S&&y.hidden.push(t),C&&y.today.push(t),s&&Object.keys(s).forEach(n=>{let r=s?.[n];r&&Hm(e,r,i)&&(b[n]?b[n].push(t):b[n]=[t])})}return e=>{let t={[cm.focused]:!1,[cm.disabled]:!1,[cm.hidden]:!1,[cm.outside]:!1,[cm.today]:!1},n={};for(let n in y)t[n]=y[n].some(t=>t===e);for(let t in b)n[t]=b[t].some(t=>t===e);return{...t,...n}}}function Wm(e,t,n={}){return Object.entries(e).filter(([,e])=>e===!0).reduce((e,[r])=>(n[r]?e.push(n[r]):t[cm[r]]?e.push(t[cm[r]]):t[lm[r]]&&e.push(t[lm[r]]),e),[t[W.Day]])}function Gm(e){return{...Pm,...e}}function Km(e){let t={"data-mode":e.mode??void 0,"data-required":`required`in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([e,n])=>{e.startsWith(`data-`)&&(t[e]=n)}),t}function qm(){let e={};for(let t in W)e[W[t]]=`rdp-${W[t]}`;for(let t in cm)e[cm[t]]=`rdp-${cm[t]}`;for(let t in lm)e[lm[t]]=`rdp-${lm[t]}`;for(let t in um)e[um[t]]=`rdp-${um[t]}`;return e}function Jm(e,t,n){return(n??new $p(t)).formatMonthYear(e)}function Ym(e,t,n){return(n??new $p(t)).format(e,`d`)}function Xm(e,t=em){return t.format(e,`LLLL`)}function Zm(e,t,n){return(n??new $p(t)).format(e,`cccccc`)}function Qm(e,t=em){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function $m(){return``}function eh(e,t=em){return t.format(e,`yyyy`)}var th=e({formatCaption:()=>Jm,formatDay:()=>Ym,formatMonthDropdown:()=>Xm,formatWeekNumber:()=>Qm,formatWeekNumberHeader:()=>$m,formatWeekdayName:()=>Zm,formatYearDropdown:()=>eh});function nh(e){return{...th,...e}}function rh(e,t,n,r){let i=(r??new $p(n)).format(e,`PPPP`);return t.today&&(i=`Today, ${i}`),t.selected&&(i=`${i}, selected`),i}function ih(e,t,n){return(n??new $p(t)).formatMonthYear(e)}function ah(e,t,n,r){let i=(r??new $p(n)).format(e,`PPPP`);return t?.today&&(i=`Today, ${i}`),i}function oh(e){return`Choose the Month`}function sh(){return``}var ch=`Go to the Next Month`;function lh(e,t){return ch}function uh(e){return`Go to the Previous Month`}function dh(e,t,n){return(n??new $p(t)).format(e,`cccc`)}function fh(e,t){return`Week ${e}`}function ph(e){return`Week Number`}function mh(e){return`Choose the Year`}var hh=e({labelDayButton:()=>rh,labelGrid:()=>ih,labelGridcell:()=>ah,labelMonthDropdown:()=>oh,labelNav:()=>sh,labelNext:()=>lh,labelPrevious:()=>uh,labelWeekNumber:()=>fh,labelWeekNumberHeader:()=>ph,labelWeekday:()=>dh,labelYearDropdown:()=>mh}),gh=(e,t,n)=>t||(n?typeof n==`function`?n:(...e)=>n:e);function _h(e,t){let n=t.locale?.labels??{};return{...hh,...e??{},labelDayButton:gh(rh,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:gh(oh,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:gh(lh,e?.labelNext,n.labelNext),labelPrevious:gh(uh,e?.labelPrevious,n.labelPrevious),labelWeekNumber:gh(fh,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:gh(mh,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:gh(ih,e?.labelGrid,n.labelGrid),labelGridcell:gh(ah,e?.labelGridcell,n.labelGridcell),labelNav:gh(sh,e?.labelNav,n.labelNav),labelWeekNumberHeader:gh(ph,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:gh(dh,e?.labelWeekday,n.labelWeekday)}}function vh(e,t,n,r,i){let{startOfMonth:a,startOfYear:o,endOfYear:s,eachMonthOfInterval:c,getMonth:l}=i;return c({start:o(e),end:s(e)}).map(e=>{let o=r.formatMonthDropdown(e,i);return{value:l(e),label:o,disabled:t&&e<a(t)||n&&e>a(n)||!1}})}function yh(e,t={},n={}){let r={...t?.[W.Day]};return Object.entries(e).filter(([,e])=>e===!0).forEach(([e])=>{r={...r,...n?.[e]}}),r}function bh(e,t,n,r){let i=r??e.today(),a=n?e.startOfBroadcastWeek(i,e):t?e.startOfISOWeek(i):e.startOfWeek(i),o=[];for(let t=0;t<7;t++){let n=e.addDays(a,t);o.push(n)}return o}function xh(e,t,n,r,i=!1){if(!e||!t)return;let{startOfYear:a,endOfYear:o,eachYearOfInterval:s,getYear:c}=r,l=s({start:a(e),end:o(t)});return i&&l.reverse(),l.map(e=>{let t=n.formatYearDropdown(e,r);return{value:c(e),label:t,disabled:!1}})}function Sh(e,t={}){let{weekStartsOn:n,locale:r}=t,i=n??r?.options?.weekStartsOn??0,a=t=>{let n=typeof t==`number`||typeof t==`string`?new Date(t):t;return new Kp(n.getFullYear(),n.getMonth(),n.getDate(),12,0,0,e)},o=e=>{let t=a(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)};return{today:()=>a(Kp.tz(e)),newDate:(t,n,r)=>new Kp(t,n,r,12,0,0,e),startOfDay:e=>a(e),startOfWeek:(e,t)=>{let n=a(e),r=t?.weekStartsOn??i,o=(n.getDay()-r+7)%7;return n.setDate(n.getDate()-o),n},startOfISOWeek:e=>{let t=a(e),n=(t.getDay()-1+7)%7;return t.setDate(t.getDate()-n),t},startOfMonth:e=>{let t=a(e);return t.setDate(1),t},startOfYear:e=>{let t=a(e);return t.setMonth(0,1),t},endOfWeek:(e,t)=>{let n=a(e),r=(((t?.weekStartsOn??i)+6)%7-n.getDay()+7)%7;return n.setDate(n.getDate()+r),n},endOfISOWeek:e=>{let t=a(e),n=(7-t.getDay())%7;return t.setDate(t.getDate()+n),t},endOfMonth:e=>{let t=a(e);return t.setMonth(t.getMonth()+1,0),t},endOfYear:e=>{let t=a(e);return t.setMonth(11,31),t},eachMonthOfInterval:t=>{let n=a(t.start),r=a(t.end),i=[],o=new Kp(n.getFullYear(),n.getMonth(),1,12,0,0,e),s=r.getFullYear()*12+r.getMonth();for(;o.getFullYear()*12+o.getMonth()<=s;)i.push(new Kp(o,e)),o.setMonth(o.getMonth()+1,1);return i},addDays:(e,t)=>{let n=a(e);return n.setDate(n.getDate()+t),n},addWeeks:(e,t)=>{let n=a(e);return n.setDate(n.getDate()+t*7),n},addMonths:(e,t)=>{let n=a(e);return n.setMonth(n.getMonth()+t),n},addYears:(e,t)=>{let n=a(e);return n.setFullYear(n.getFullYear()+t),n},eachYearOfInterval:t=>{let n=a(t.start),r=a(t.end),i=[],o=new Kp(n.getFullYear(),0,1,12,0,0,e);for(;o.getFullYear()<=r.getFullYear();)i.push(new Kp(o,e)),o.setFullYear(o.getFullYear()+1,0,1);return i},getWeek:(e,t)=>Bd(o(e),{weekStartsOn:t?.weekStartsOn??i,firstWeekContainsDate:t?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1}),getISOWeek:e=>Ld(o(e)),differenceInCalendarDays:(e,t)=>id(o(e),o(t)),differenceInCalendarMonths:(e,t)=>pd(o(e),o(t))}}var Ch=e=>e instanceof HTMLElement?e:null,wh=e=>[...e.querySelectorAll(`[data-animated-month]`)??[]],Th=e=>Ch(e.querySelector(`[data-animated-month]`)),Eh=e=>Ch(e.querySelector(`[data-animated-caption]`)),Dh=e=>Ch(e.querySelector(`[data-animated-weeks]`)),Oh=e=>Ch(e.querySelector(`[data-animated-nav]`)),kh=e=>Ch(e.querySelector(`[data-animated-weekdays]`));function Ah(e,t,{classNames:n,months:r,focused:i,dateLib:a}){let o=(0,L.useRef)(null),s=(0,L.useRef)(r),c=(0,L.useRef)(!1);(0,L.useLayoutEffect)(()=>{let l=s.current;if(s.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||l.length===0||r.length!==l.length)return;let u=a.isSameMonth(r[0].date,l[0].date),d=a.isAfter(r[0].date,l[0].date),f=d?n[um.caption_after_enter]:n[um.caption_before_enter],p=d?n[um.weeks_after_enter]:n[um.weeks_before_enter],m=o.current,h=e.current.cloneNode(!0);if(h instanceof HTMLElement?(wh(h).forEach(e=>{if(!(e instanceof HTMLElement))return;let t=Th(e);t&&e.contains(t)&&e.removeChild(t);let n=Eh(e);n&&n.classList.remove(f);let r=Dh(e);r&&r.classList.remove(p)}),o.current=h):o.current=null,c.current||u||i)return;let g=m instanceof HTMLElement?wh(m):[],_=wh(e.current);if(_?.every(e=>e instanceof HTMLElement)&&g?.every(e=>e instanceof HTMLElement)){c.current=!0;let t=[];e.current.style.isolation=`isolate`;let r=Oh(e.current);r&&(r.style.zIndex=`1`),_.forEach((i,a)=>{let o=g[a];if(!o)return;i.style.position=`relative`,i.style.overflow=`hidden`;let s=Eh(i);s&&s.classList.add(f);let l=Dh(i);l&&l.classList.add(p);let u=()=>{c.current=!1,e.current&&(e.current.style.isolation=``),r&&(r.style.zIndex=``),s&&s.classList.remove(f),l&&l.classList.remove(p),i.style.position=``,i.style.overflow=``,i.contains(o)&&i.removeChild(o)};t.push(u),o.style.pointerEvents=`none`,o.style.position=`absolute`,o.style.overflow=`hidden`,o.setAttribute(`aria-hidden`,`true`);let m=kh(o);m&&(m.style.opacity=`0`);let h=Eh(o);h&&(h.classList.add(d?n[um.caption_before_exit]:n[um.caption_after_exit]),h.addEventListener(`animationend`,u));let _=Dh(o);_&&_.classList.add(d?n[um.weeks_before_exit]:n[um.weeks_after_exit]),i.insertBefore(o,i.firstChild)})}})}function jh(e,t,n,r){let i=e[0],a=e[e.length-1],{ISOWeek:o,fixedWeeks:s,broadcastCalendar:c}=n??{},{addDays:l,differenceInCalendarDays:u,differenceInCalendarMonths:d,endOfBroadcastWeek:f,endOfISOWeek:p,endOfMonth:m,endOfWeek:h,isAfter:g,startOfBroadcastWeek:_,startOfISOWeek:v,startOfWeek:y}=r,b=c?_(i,r):o?v(i):y(i),x=c?f(a):o?p(m(a)):h(m(a)),S=t&&(c?f(t):o?p(t):h(t)),C=u(S&&g(x,S)?S:x,b),w=d(a,i)+1,T=[];for(let e=0;e<=C;e++){let t=l(b,e);T.push(t)}let E=(c?35:42)*w;if(s&&T.length<E){let e=E-T.length;for(let t=0;t<e;t++){let e=l(T[T.length-1],1);T.push(e)}}return T}function Mh(e){let t=[];return e.reduce((e,n)=>{let r=n.weeks.reduce((e,t)=>e.concat(t.days.slice()),t.slice());return e.concat(r.slice())},t.slice())}function Nh(e,t,n,r){let{numberOfMonths:i=1}=n,a=[];for(let n=0;n<i;n++){let i=r.addMonths(e,n);if(t&&i>t)break;a.push(i)}return a}function Ph(e,t,n,r){let{month:i,defaultMonth:a,today:o=r.today(),numberOfMonths:s=1}=e,c=i||a||o,{differenceInCalendarMonths:l,addMonths:u,startOfMonth:d}=r;return n&&l(n,c)<s-1&&(c=u(n,-1*(s-1))),t&&l(c,t)<0&&(c=t),d(c)}function Fh(e,t,n,r){let{addDays:i,endOfBroadcastWeek:a,endOfISOWeek:o,endOfMonth:s,endOfWeek:c,getISOWeek:l,getWeek:u,startOfBroadcastWeek:d,startOfISOWeek:f,startOfWeek:p}=r,m=e.reduce((e,m)=>{let h=n.broadcastCalendar?d(m,r):n.ISOWeek?f(m):p(m),g=n.broadcastCalendar?a(m):n.ISOWeek?o(s(m)):c(s(m)),_=t.filter(e=>e>=h&&e<=g),v=n.broadcastCalendar?35:42;if(n.fixedWeeks&&_.length<v){let e=t.filter(e=>{let t=v-_.length;return e>g&&e<=i(g,t)});_.push(...e)}let y=new nm(m,_.reduce((e,t)=>{let i=n.ISOWeek?l(t):u(t),a=e.find(e=>e.weekNumber===i),o=new tm(t,m,r);return a?a.days.push(o):e.push(new rm(i,[o])),e},[]));return e.push(y),e},[]);return n.reverseMonths?m.reverse():m}function Ih(e,t){let{startMonth:n,endMonth:r}=e,{startOfYear:i,startOfDay:a,startOfMonth:o,endOfMonth:s,addYears:c,endOfYear:l,today:u}=t,d=e.captionLayout===`dropdown`||e.captionLayout===`dropdown-years`;return n?n=o(n):!n&&d&&(n=i(c(e.today??u(),-100))),r?r=s(r):!r&&d&&(r=l(e.today??u())),[n&&a(n),r&&a(r)]}function Lh(e,t,n,r){if(n.disableNavigation)return;let{pagedNavigation:i,numberOfMonths:a=1}=n,{startOfMonth:o,addMonths:s,differenceInCalendarMonths:c}=r,l=i?a:1,u=o(e);if(!t||!(c(t,e)<a))return s(u,l)}function Rh(e,t,n,r){if(n.disableNavigation)return;let{pagedNavigation:i,numberOfMonths:a}=n,{startOfMonth:o,addMonths:s,differenceInCalendarMonths:c}=r,l=i?a??1:1,u=o(e);if(!t||!(c(u,t)<=0))return s(u,-l)}function zh(e){return e.reduce((e,t)=>e.concat(t.weeks.slice()),[].slice())}function Bh(e,t){let[n,r]=(0,L.useState)(e);return[t===void 0?n:t,r]}function Vh(e,t){let[n,r]=Ih(e,t),{startOfMonth:i,endOfMonth:a}=t,o=Ph(e,n,r,t),[s,c]=Bh(o,e.month?o:void 0);(0,L.useEffect)(()=>{let i=Ph(e,n,r,t);c(i)},[e.timeZone]);let{months:l,weeks:u,days:d,previousMonth:f,nextMonth:p}=(0,L.useMemo)(()=>{let i=Nh(s,r,{numberOfMonths:e.numberOfMonths},t),o=Fh(i,jh(i,e.endMonth?a(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t);return{months:o,weeks:zh(o),days:Mh(o),previousMonth:Rh(s,n,e,t),nextMonth:Lh(s,r,e,t)}},[t,s.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:m,onMonthChange:h}=e,g=e=>u.some(t=>t.days.some(t=>t.isEqualTo(e))),_=e=>{if(m)return;let t=i(e);n&&t<i(n)&&(t=i(n)),r&&t>i(r)&&(t=i(r)),c(t),h?.(t)};return{months:l,weeks:u,days:d,navStart:n,navEnd:r,previousMonth:f,nextMonth:p,goToMonth:_,goToDay:e=>{g(e)||_(e.date)}}}var Hh;(function(e){e[e.Today=0]=`Today`,e[e.Selected=1]=`Selected`,e[e.LastFocused=2]=`LastFocused`,e[e.FocusedModifier=3]=`FocusedModifier`})(Hh||={});function Uh(e){return!e[cm.disabled]&&!e[cm.hidden]&&!e[cm.outside]}function Wh(e,t,n,r){let i,a=-1;for(let o of e){let e=t(o);Uh(e)&&(e[cm.focused]&&a<Hh.FocusedModifier?(i=o,a=Hh.FocusedModifier):r?.isEqualTo(o)&&a<Hh.LastFocused?(i=o,a=Hh.LastFocused):n(o.date)&&a<Hh.Selected?(i=o,a=Hh.Selected):e[cm.today]&&a<Hh.Today&&(i=o,a=Hh.Today))}return i||=e.find(e=>Uh(t(e))),i}function Gh(e,t,n,r,i,a,o){let{ISOWeek:s,broadcastCalendar:c}=a,{addDays:l,addMonths:u,addWeeks:d,addYears:f,endOfBroadcastWeek:p,endOfISOWeek:m,endOfWeek:h,max:g,min:_,startOfBroadcastWeek:v,startOfISOWeek:y,startOfWeek:b}=o,x={day:l,week:d,month:u,year:f,startOfWeek:e=>c?v(e,o):s?y(e):b(e),endOfWeek:e=>c?p(e):s?m(e):h(e)}[e](n,t===`after`?1:-1);return t===`before`&&r?x=g([r,x]):t===`after`&&i&&(x=_([i,x])),x}function Kh(e,t,n,r,i,a,o,s=0){if(s>365)return;let c=Gh(e,t,n.date,r,i,a,o),l=!!(a.disabled&&Hm(c,a.disabled,o)),u=!!(a.hidden&&Hm(c,a.hidden,o)),d=new tm(c,c,o);return!l&&!u?d:Kh(e,t,d,r,i,a,o,s+1)}function qh(e,t,n,r,i){let{autoFocus:a}=e,[o,s]=(0,L.useState)(),c=Wh(t.days,n,r||(()=>!1),o),[l,u]=(0,L.useState)(a?c:void 0);return{isFocusTarget:e=>!!c?.isEqualTo(e),setFocused:u,focused:l,blur:()=>{s(l),u(void 0)},moveFocus:(n,r)=>{if(!l)return;let a=Kh(n,r,l,t.navStart,t.navEnd,e,i);a&&(e.disableNavigation&&!t.days.some(e=>e.isEqualTo(a))||(t.goToDay(a),u(a)))}}}function Jh(e,t){let{selected:n,required:r,onSelect:i}=e,[a,o]=Bh(n,i?n:void 0),s=i?n:a,{isSameDay:c}=t,l=e=>s?.some(t=>c(t,e))??!1,{min:u,max:d}=e;return{selected:s,select:(e,t,n)=>{let a=[...s??[]];if(l(e)){if(s?.length===u||r&&s?.length===1)return;a=s?.filter(t=>!c(t,e))}else a=s?.length===d?[e]:[...a,e];return i||o(a),i?.(a,e,t,n),a},isSelected:l}}function Yh(e,t,n=0,r=0,i=!1,a=em){let{from:o,to:s}=t||{},{isSameDay:c,isAfter:l,isBefore:u}=a,d;if(!o&&!s)d={from:e,to:n>0?void 0:e};else if(o&&!s)d=c(o,e)?n===0?{from:o,to:e}:i?{from:o,to:void 0}:void 0:u(e,o)?{from:e,to:o}:{from:o,to:e};else if(o&&s)if(c(o,e)&&c(s,e))d=i?{from:o,to:s}:void 0;else if(c(o,e))d={from:o,to:n>0?void 0:e};else if(c(s,e))d={from:e,to:n>0?void 0:e};else if(u(e,o))d={from:e,to:s};else if(l(e,o))d={from:o,to:e};else if(l(e,s))d={from:o,to:e};else throw Error(`Invalid range`);if(d?.from&&d?.to){let t=a.differenceInCalendarDays(d.to,d.from);(r>0&&t>r||n>1&&t<n)&&(d={from:e,to:void 0})}return d}function Xh(e,t,n=em){let r=Array.isArray(t)?t:[t],i=e.from,a=n.differenceInCalendarDays(e.to,e.from),o=Math.min(a,6);for(let e=0;e<=o;e++){if(r.includes(i.getDay()))return!0;i=n.addDays(i,1)}return!1}function Zh(e,t,n=em){return Fm(e,t.from,!1,n)||Fm(e,t.to,!1,n)||Fm(t,e.from,!1,n)||Fm(t,e.to,!1,n)}function Qh(e,t,n=em){let r=Array.isArray(t)?t:[t];if(r.filter(e=>typeof e!=`function`).some(t=>typeof t==`boolean`?t:n.isDate(t)?Fm(e,t,!1,n):Vm(t,n)?t.some(t=>Fm(e,t,!1,n)):Lm(t)?t.from&&t.to?Zh(e,{from:t.from,to:t.to},n):!1:Bm(t)?Xh(e,t.dayOfWeek,n):Im(t)?n.isAfter(t.before,t.after)?Zh(e,{from:n.addDays(t.after,1),to:n.addDays(t.before,-1)},n):Hm(e.from,t,n)||Hm(e.to,t,n):Rm(t)||zm(t)?Hm(e.from,t,n)||Hm(e.to,t,n):!1))return!0;let i=r.filter(e=>typeof e==`function`);if(i.length){let t=e.from,r=n.differenceInCalendarDays(e.to,e.from);for(let e=0;e<=r;e++){if(i.some(e=>e(t)))return!0;t=n.addDays(t,1)}}return!1}function $h(e,t){let{disabled:n,excludeDisabled:r,resetOnSelect:i,selected:a,required:o,onSelect:s}=e,[c,l]=Bh(a,s?a:void 0),u=s?a:c;return{selected:u,select:(a,c,d)=>{let{min:f,max:p}=e,m;if(a){let e=u?.from,n=u?.to,r=!!e&&!!n,s=!!e&&!!n&&t.isSameDay(e,n)&&t.isSameDay(a,e);m=i&&(r||!u?.from)?!o&&s?void 0:{from:a,to:void 0}:Yh(a,u,f,p,o,t)}return r&&n&&m?.from&&m.to&&Qh({from:m.from,to:m.to},n,t)&&(m.from=a,m.to=void 0),s||l(m),s?.(m,a,c,d),m},isSelected:e=>u&&Fm(u,e,!1,t)}}function eg(e,t){let{selected:n,required:r,onSelect:i}=e,[a,o]=Bh(n,i?n:void 0),s=i?n:a,{isSameDay:c}=t;return{selected:s,select:(e,t,n)=>{let a=e;return!r&&s&&s&&c(e,s)&&(a=void 0),i||o(a),i?.(a,e,t,n),a},isSelected:e=>s?c(s,e):!1}}function tg(e,t){let n=eg(e,t),r=Jh(e,t),i=$h(e,t);switch(e.mode){case`single`:return n;case`multiple`:return r;case`range`:return i;default:return}}function ng(e,t){return e instanceof Kp&&e.timeZone===t?e:new Kp(e,t)}function rg(e,t,n){if(!n)return ng(e,t);let r=ng(e,t),i=new Kp(r.getFullYear(),r.getMonth(),r.getDate(),12,0,0,t);return new Date(i.getTime())}function ig(e,t,n){return typeof e==`boolean`||typeof e==`function`?e:e instanceof Date?rg(e,t,n):Array.isArray(e)?e.map(e=>e instanceof Date?rg(e,t,n):e):Lm(e)?{...e,from:e.from?ng(e.from,t):e.from,to:e.to?ng(e.to,t):e.to}:Im(e)?{before:rg(e.before,t,n),after:rg(e.after,t,n)}:Rm(e)?{after:rg(e.after,t,n)}:zm(e)?{before:rg(e.before,t,n)}:e}function ag(e,t,n){return e&&(Array.isArray(e)?e.map(e=>ig(e,t,n)):ig(e,t,n))}function og(e){let t=e,n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&=ng(t.today,n),t.month&&=ng(t.month,n),t.defaultMonth&&=ng(t.defaultMonth,n),t.startMonth&&=ng(t.startMonth,n),t.endMonth&&=ng(t.endMonth,n),t.mode===`single`&&t.selected?t.selected=ng(t.selected,n):t.mode===`multiple`&&t.selected?t.selected=t.selected?.map(e=>ng(e,n)):t.mode===`range`&&t.selected&&(t.selected={from:t.selected.from?ng(t.selected.from,n):t.selected.from,to:t.selected.to?ng(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=ag(t.disabled,n)),t.hidden!==void 0&&(t.hidden=ag(t.hidden,n)),t.modifiers)){let e={};Object.keys(t.modifiers).forEach(r=>{e[r]=ag(t.modifiers?.[r],n)}),t.modifiers=e}let{components:r,formatters:i,labels:a,dateLib:o,locale:s,classNames:c}=(0,L.useMemo)(()=>{let e={...Qp,...t.locale},n=t.broadcastCalendar?1:t.weekStartsOn,r=t.noonSafe&&t.timeZone?Sh(t.timeZone,{weekStartsOn:n,locale:e}):void 0,i=t.dateLib&&r?{...r,...t.dateLib}:t.dateLib??r,a=new $p({locale:e,weekStartsOn:n,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},i);return{dateLib:a,components:Gm(t.components),formatters:nh(t.formatters),labels:_h(t.labels,a.options),locale:e,classNames:{...qm(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:o.today()});let{captionLayout:l,mode:u,navLayout:d,numberOfMonths:f=1,onDayBlur:p,onDayClick:m,onDayFocus:h,onDayKeyDown:g,onDayMouseEnter:_,onDayMouseLeave:v,onNextClick:y,onPrevClick:b,showWeekNumber:x,styles:S}=t,{formatCaption:C,formatDay:w,formatMonthDropdown:T,formatWeekNumber:E,formatWeekNumberHeader:D,formatWeekdayName:O,formatYearDropdown:k}=i,A=Vh(t,o),{days:ee,months:te,navStart:ne,navEnd:j,previousMonth:M,nextMonth:re,goToMonth:ie}=A,ae=Um(ee,t,ne,j,o),{isSelected:oe,select:se,selected:ce}=tg(t,o)??{},{blur:le,focused:ue,isFocusTarget:N,moveFocus:P,setFocused:de}=qh(t,A,ae,oe??(()=>!1),o),{labelDayButton:fe,labelGridcell:pe,labelGrid:me,labelMonthDropdown:he,labelNav:ge,labelPrevious:_e,labelNext:ve,labelWeekday:ye,labelWeekNumber:be,labelWeekNumberHeader:xe,labelYearDropdown:Se}=a,Ce=(0,L.useMemo)(()=>bh(o,t.ISOWeek,t.broadcastCalendar,t.today),[o,t.ISOWeek,t.broadcastCalendar,t.today]),we=u!==void 0||m!==void 0,Te=(0,L.useCallback)(()=>{M&&(ie(M),b?.(M))},[M,ie,b]),Ee=(0,L.useCallback)(()=>{re&&(ie(re),y?.(re))},[ie,re,y]),De=(0,L.useCallback)((e,t)=>n=>{n.preventDefault(),n.stopPropagation(),de(e),!t.disabled&&(se?.(e.date,t,n),m?.(e.date,t,n))},[se,m,de]),Oe=(0,L.useCallback)((e,t)=>n=>{de(e),h?.(e.date,t,n)},[h,de]),ke=(0,L.useCallback)((e,t)=>n=>{le(),p?.(e.date,t,n)},[le,p]),Ae=(0,L.useCallback)((e,n)=>r=>{let i={ArrowLeft:[r.shiftKey?`month`:`day`,t.dir===`rtl`?`after`:`before`],ArrowRight:[r.shiftKey?`month`:`day`,t.dir===`rtl`?`before`:`after`],ArrowDown:[r.shiftKey?`year`:`week`,`after`],ArrowUp:[r.shiftKey?`year`:`week`,`before`],PageUp:[r.shiftKey?`year`:`month`,`before`],PageDown:[r.shiftKey?`year`:`month`,`after`],Home:[`startOfWeek`,`before`],End:[`endOfWeek`,`after`]};if(i[r.key]){r.preventDefault(),r.stopPropagation();let[e,t]=i[r.key];P(e,t)}g?.(e.date,n,r)},[P,g,t.dir]),je=(0,L.useCallback)((e,t)=>n=>{_?.(e.date,t,n)},[_]),Me=(0,L.useCallback)((e,t)=>n=>{v?.(e.date,t,n)},[v]),Ne=(0,L.useCallback)((e,t)=>n=>{let r=Number(n.target.value),i=o.setMonth(o.startOfMonth(e),r);ie(o.addMonths(i,-t))},[o,ie]),Pe=(0,L.useCallback)((e,t)=>n=>{let r=Number(n.target.value),i=o.setYear(o.startOfMonth(e),r);ie(o.addMonths(i,-t))},[o,ie]),{className:Fe,style:Ie}=(0,L.useMemo)(()=>({className:[c[W.Root],t.className].filter(Boolean).join(` `),style:{...S?.[W.Root],...t.style}}),[c,t.className,t.style,S]),Le=Km(t),Re=e=>{let t=S?.[W.Dropdown],n=S?.[e];if(!(!t&&!n))return{...t,...n}},ze=(0,L.useRef)(null);Ah(ze,!!t.animate,{classNames:c,months:te,focused:ue,dateLib:o});let Be={dayPickerProps:t,selected:ce,select:se,isSelected:oe,months:te,nextMonth:re,previousMonth:M,goToMonth:ie,getModifiers:ae,components:r,classNames:c,styles:S,labels:a,formatters:i};return L.createElement(dm.Provider,{value:Be},L.createElement(r.Root,{rootRef:t.animate?ze:void 0,className:Fe,style:Ie,dir:t.dir,id:t.id,lang:t.lang??s.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t[`aria-label`],"aria-labelledby":t[`aria-labelledby`],...Le},L.createElement(r.Months,{className:c[W.Months],style:S?.[W.Months]},!t.hideNavigation&&!d&&L.createElement(r.Nav,{"data-animated-nav":t.animate?`true`:void 0,className:c[W.Nav],style:S?.[W.Nav],"aria-label":ge(),onPreviousClick:Te,onNextClick:Ee,previousMonth:M,nextMonth:re}),te.map((e,n)=>{let a=t.reverseMonths?te.length-1-n:n;return L.createElement(r.Month,{"data-animated-month":t.animate?`true`:void 0,className:c[W.Month],style:S?.[W.Month],key:n,displayIndex:n,calendarMonth:e},d===`around`&&!t.hideNavigation&&n===0&&L.createElement(r.PreviousMonthButton,{type:`button`,className:c[W.PreviousMonthButton],style:S?.[W.PreviousMonthButton],tabIndex:M?void 0:-1,"aria-disabled":!M||void 0,"aria-label":_e(M),onClick:Te,"data-animated-button":t.animate?`true`:void 0},L.createElement(r.Chevron,{disabled:!M||void 0,className:c[W.Chevron],style:S?.[W.Chevron],orientation:t.dir===`rtl`?`right`:`left`})),L.createElement(r.MonthCaption,{"data-animated-caption":t.animate?`true`:void 0,className:c[W.MonthCaption],style:S?.[W.MonthCaption],calendarMonth:e,displayIndex:n},l?.startsWith(`dropdown`)?L.createElement(r.DropdownNav,{className:c[W.Dropdowns],style:S?.[W.Dropdowns]},(()=>{let n=l===`dropdown`||l===`dropdown-months`?L.createElement(r.MonthsDropdown,{key:`month`,className:c[W.MonthsDropdown],"aria-label":he(),disabled:!!t.disableNavigation,onChange:Ne(e.date,a),options:vh(e.date,ne,j,i,o),style:Re(W.MonthsDropdown),value:o.getMonth(e.date)}):L.createElement(`span`,{key:`month`},T(e.date,o)),s=l===`dropdown`||l===`dropdown-years`?L.createElement(r.YearsDropdown,{key:`year`,className:c[W.YearsDropdown],"aria-label":Se(o.options),disabled:!!t.disableNavigation,onChange:Pe(e.date,a),options:xh(ne,j,i,o,!!t.reverseYears),style:Re(W.YearsDropdown),value:o.getYear(e.date)}):L.createElement(`span`,{key:`year`},k(e.date,o));return o.getMonthYearOrder()===`year-first`?[s,n]:[n,s]})(),L.createElement(`span`,{role:`status`,"aria-live":`polite`,style:{border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`absolute`,width:`1px`,whiteSpace:`nowrap`,wordWrap:`normal`}},C(e.date,o.options,o))):L.createElement(r.CaptionLabel,{className:c[W.CaptionLabel],style:S?.[W.CaptionLabel],role:`status`,"aria-live":`polite`},C(e.date,o.options,o))),d===`around`&&!t.hideNavigation&&n===f-1&&L.createElement(r.NextMonthButton,{type:`button`,className:c[W.NextMonthButton],style:S?.[W.NextMonthButton],tabIndex:re?void 0:-1,"aria-disabled":!re||void 0,"aria-label":ve(re),onClick:Ee,"data-animated-button":t.animate?`true`:void 0},L.createElement(r.Chevron,{disabled:!re||void 0,className:c[W.Chevron],style:S?.[W.Chevron],orientation:t.dir===`rtl`?`left`:`right`})),n===f-1&&d===`after`&&!t.hideNavigation&&L.createElement(r.Nav,{"data-animated-nav":t.animate?`true`:void 0,className:c[W.Nav],style:S?.[W.Nav],"aria-label":ge(),onPreviousClick:Te,onNextClick:Ee,previousMonth:M,nextMonth:re}),L.createElement(r.MonthGrid,{role:`grid`,"aria-multiselectable":u===`multiple`||u===`range`,"aria-label":me(e.date,o.options,o)||void 0,className:c[W.MonthGrid],style:S?.[W.MonthGrid]},!t.hideWeekdays&&L.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?`true`:void 0,className:c[W.Weekdays],style:S?.[W.Weekdays]},x&&L.createElement(r.WeekNumberHeader,{"aria-label":xe(o.options),className:c[W.WeekNumberHeader],style:S?.[W.WeekNumberHeader],scope:`col`},D()),Ce.map(e=>L.createElement(r.Weekday,{"aria-label":ye(e,o.options,o),className:c[W.Weekday],key:String(e),style:S?.[W.Weekday],scope:`col`},O(e,o.options,o)))),L.createElement(r.Weeks,{"data-animated-weeks":t.animate?`true`:void 0,className:c[W.Weeks],style:S?.[W.Weeks]},e.weeks.map(e=>L.createElement(r.Week,{className:c[W.Week],key:e.weekNumber,style:S?.[W.Week],week:e},x&&L.createElement(r.WeekNumber,{week:e,style:S?.[W.WeekNumber],"aria-label":be(e.weekNumber,{locale:s}),className:c[W.WeekNumber],scope:`row`,role:`rowheader`},E(e.weekNumber,o)),e.days.map(e=>{let{date:n}=e,i=ae(e);if(i[cm.focused]=!i.hidden&&!!ue?.isEqualTo(e),i[lm.selected]=oe?.(n)||i.selected,Lm(ce)){let{from:e,to:t}=ce;i[lm.range_start]=!!(e&&t&&o.isSameDay(n,e)),i[lm.range_end]=!!(e&&t&&o.isSameDay(n,t)),i[lm.range_middle]=Fm(ce,n,!0,o)}let a=yh(i,S,t.modifiersStyles),s=Wm(i,c,t.modifiersClassNames),l=!we&&!i.hidden?pe(n,i,o.options,o):void 0;return L.createElement(r.Day,{key:`${e.isoDate}_${e.displayMonthId}`,day:e,modifiers:i,className:s.join(` `),style:a,role:`gridcell`,"aria-selected":i.selected||void 0,"aria-label":l,"data-day":e.isoDate,"data-month":e.outside?e.dateMonthId:void 0,"data-selected":i.selected||void 0,"data-disabled":i.disabled||void 0,"data-hidden":i.hidden||void 0,"data-outside":e.outside||void 0,"data-focused":i.focused||void 0,"data-today":i.today||void 0},!i.hidden&&we?L.createElement(r.DayButton,{className:c[W.DayButton],style:S?.[W.DayButton],type:`button`,day:e,modifiers:i,disabled:!i.focused&&i.disabled||void 0,"aria-disabled":i.focused&&i.disabled||void 0,tabIndex:N(e)?0:-1,"aria-label":fe(n,i,o.options,o),onClick:De(e,i),onBlur:ke(e,i),onFocus:Oe(e,i),onKeyDown:Ae(e,i),onMouseEnter:je(e,i),onMouseLeave:Me(e,i)},w(n,o.options,o)):!i.hidden&&w(e.date,o.options,o))}))))))})),t.footer&&L.createElement(r.Footer,{className:c[W.Footer],style:S?.[W.Footer],role:`status`,"aria-live":`polite`},t.footer)))}var sg=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/calendar.tsx`;function cg({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=qm();return(0,R.jsxDEV)(og,{showOutsideDays:n,className:C(`group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...a},classNames:{root:C(`w-fit`,c.root),months:C(`relative flex flex-col gap-4 md:flex-row`,c.months),month:C(`flex w-full flex-col gap-4`,c.month),nav:C(`absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1`,c.nav),button_previous:C(qe({variant:i}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,c.button_previous),button_next:C(qe({variant:i}),`size-(--cell-size) p-0 select-none aria-disabled:opacity-50`,c.button_next),month_caption:C(`flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)`,c.month_caption),dropdowns:C(`flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium`,c.dropdowns),dropdown_root:C(`relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50`,c.dropdown_root),dropdown:C(`absolute inset-0 bg-popover opacity-0`,c.dropdown),caption_label:C(`font-medium select-none`,r===`label`?`text-sm`:`flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground`,c.caption_label),month_grid:`w-full border-collapse`,weekdays:C(`flex`,c.weekdays),weekday:C(`flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none`,c.weekday),week:C(`mt-2 flex w-full`,c.week),week_number_header:C(`w-(--cell-size) select-none`,c.week_number_header),week_number:C(`text-[0.8rem] text-muted-foreground select-none`,c.week_number),day:C(`group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md`,s.showWeekNumber?`[&:nth-child(2)[data-selected=true]_button]:rounded-l-md`:`[&:first-child[data-selected=true]_button]:rounded-l-md`,c.day),range_start:C(`rounded-l-md bg-accent`,c.range_start),range_middle:C(`rounded-none`,c.range_middle),range_end:C(`rounded-r-md bg-accent`,c.range_end),today:C(`rounded-md bg-accent text-accent-foreground data-[selected=true]:rounded-none`,c.today),outside:C(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:C(`text-muted-foreground opacity-50`,c.disabled),hidden:C(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,R.jsxDEV)(`div`,{"data-slot":`calendar`,ref:t,className:C(e),...n},void 0,!1,{fileName:sg,lineNumber:101,columnNumber:18},this),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,R.jsxDEV)(_s,{className:C(`size-4`,e),...n},void 0,!1,{fileName:sg,lineNumber:105,columnNumber:20},this):t===`right`?(0,R.jsxDEV)(vs,{className:C(`size-4`,e),...n},void 0,!1,{fileName:sg,lineNumber:109,columnNumber:20},this):(0,R.jsxDEV)(k,{className:C(`size-4`,e),...n},void 0,!1,{fileName:sg,lineNumber:112,columnNumber:18},this),DayButton:lg,WeekNumber:({children:e,...t})=>(0,R.jsxDEV)(`td`,{...t,children:(0,R.jsxDEV)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e},void 0,!1,{fileName:sg,lineNumber:118,columnNumber:15},this)},void 0,!1,{fileName:sg,lineNumber:117,columnNumber:13},this),...o},...s},void 0,!1,{fileName:sg,lineNumber:23,columnNumber:5},this)}function lg({className:e,day:t,modifiers:n,...r}){let i=qm(),a=L.useRef(null);return L.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,R.jsxDEV)(F,{ref:a,variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:C(`flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70`,i.day,e),...r},void 0,!1,{fileName:sg,lineNumber:138,columnNumber:5},this)}function ug(e){if(!e)return;let t=Dp(e.slice(0,10),`yyyy-MM-dd`,new Date);return fd(t)?t:void 0}function dg(e){return uf(e,`yyyy-MM-dd`)}function fg(e){let t=ug(e);return t?uf(t,`dd.MM.yyyy`):``}function pg(e){if(!e)return``;let t=fg(e.slice(0,10));if(!t)return``;let n=e.slice(11,16);return n?`${t} ${n}`:t}function mg(e){return{date:e.slice(0,10),time:e.slice(11,16)}}function hg(e,t){return e?t?`${e}T${t}`:e:``}var gg=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/date-picker.tsx`;function _g({value:e,onChange:t,placeholder:n=`…`}){let[r,i]=(0,L.useState)(!1),a=ug(e);return(0,R.jsxDEV)(P,{open:r,onOpenChange:i,children:[(0,R.jsxDEV)(ue,{asChild:!0,children:(0,R.jsxDEV)(F,{variant:`outline`,className:`w-full justify-between px-3 font-normal`,children:[a?uf(a,`dd.MM.yyyy`):(0,R.jsxDEV)(`span`,{className:`text-muted-foreground`,children:n},void 0,!1,{fileName:gg,lineNumber:25,columnNumber:48},this),(0,R.jsxDEV)(k,{className:`size-4 shrink-0 opacity-50`},void 0,!1,{fileName:gg,lineNumber:26,columnNumber:11},this)]},void 0,!0,{fileName:gg,lineNumber:24,columnNumber:9},this)},void 0,!1,{fileName:gg,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(ce,{className:`w-auto overflow-hidden p-0`,align:`start`,children:(0,R.jsxDEV)(cg,{mode:`single`,selected:a,captionLayout:`dropdown`,defaultMonth:a,onSelect:e=>{t(e?dg(e):``),i(!1)}},void 0,!1,{fileName:gg,lineNumber:30,columnNumber:9},this)},void 0,!1,{fileName:gg,lineNumber:29,columnNumber:7},this)]},void 0,!0,{fileName:gg,lineNumber:22,columnNumber:5},this)}function vg(e){return Array.isArray(e)?e.map(e=>vg(e)):e instanceof Date?new re(e.getFullYear(),e.getMonth()+1,e.getDate()):ne(e)}var G=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/month-year-picker.tsx`,yg=`z-50 w-72 rounded-xl border border-border bg-popover p-3 text-popover-foreground shadow-xl outline-hidden data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,bg=`w-full table-fixed border-separate border-spacing-1`,xg=C(qe({variant:`ghost`}),`w-full px-0 font-normal data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:hover:bg-primary`),Sg=C(qe({variant:`ghost`,size:`icon`}),`size-7`);function Cg({withViewTrigger:e=!1}){return(0,R.jsxDEV)(M.ViewControl,{className:`flex items-center justify-between gap-1 pb-2`,children:[(0,R.jsxDEV)(M.PrevTrigger,{className:Sg,children:(0,R.jsxDEV)(_s,{className:`size-4`},void 0,!1,{fileName:G,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:28,columnNumber:7},this),e?(0,R.jsxDEV)(M.ViewTrigger,{className:C(qe({variant:`ghost`,size:`sm`}),`h-7 text-sm font-medium`),children:(0,R.jsxDEV)(M.RangeText,{},void 0,!1,{fileName:G,lineNumber:35,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:32,columnNumber:9},this):(0,R.jsxDEV)(`span`,{className:`text-sm font-medium`,children:(0,R.jsxDEV)(M.RangeText,{},void 0,!1,{fileName:G,lineNumber:39,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:38,columnNumber:9},this),(0,R.jsxDEV)(M.NextTrigger,{className:Sg,children:(0,R.jsxDEV)(vs,{className:`size-4`},void 0,!1,{fileName:G,lineNumber:43,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:42,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:27,columnNumber:5},this)}function wg(){return(0,R.jsxDEV)(M.Context,{children:e=>(0,R.jsxDEV)(M.Table,{className:bg,children:(0,R.jsxDEV)(M.TableBody,{children:e.getYearsGrid({columns:4}).map((e,t)=>(0,R.jsxDEV)(M.TableRow,{children:e.map((e,t)=>(0,R.jsxDEV)(M.TableCell,{value:e.value,children:(0,R.jsxDEV)(M.TableCellTrigger,{className:xg,children:e.label},void 0,!1,{fileName:G,lineNumber:59,columnNumber:21},this)},t,!1,{fileName:G,lineNumber:58,columnNumber:19},this))},t,!1,{fileName:G,lineNumber:56,columnNumber:15},this))},void 0,!1,{fileName:G,lineNumber:54,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:53,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:51,columnNumber:5},this)}function Tg(){return(0,R.jsxDEV)(M.Context,{children:e=>(0,R.jsxDEV)(M.Table,{className:bg,children:(0,R.jsxDEV)(M.TableBody,{children:e.getMonthsGrid({columns:3,format:`short`}).map((e,t)=>(0,R.jsxDEV)(M.TableRow,{children:e.map((e,t)=>(0,R.jsxDEV)(M.TableCell,{value:e.value,children:(0,R.jsxDEV)(M.TableCellTrigger,{className:xg,children:e.label},void 0,!1,{fileName:G,lineNumber:81,columnNumber:21},this)},t,!1,{fileName:G,lineNumber:80,columnNumber:19},this))},t,!1,{fileName:G,lineNumber:78,columnNumber:15},this))},void 0,!1,{fileName:G,lineNumber:76,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:75,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:73,columnNumber:5},this)}function Eg({display:e,placeholder:t}){return(0,R.jsxDEV)(M.Control,{className:`w-full`,children:(0,R.jsxDEV)(M.Trigger,{className:C(qe({variant:`outline`}),`w-full justify-between px-3 font-normal`),children:[e||(0,R.jsxDEV)(`span`,{className:`text-muted-foreground`,children:t},void 0,!1,{fileName:G,lineNumber:97,columnNumber:21},this),(0,R.jsxDEV)(k,{className:`size-4 shrink-0 opacity-50`},void 0,!1,{fileName:G,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:G,lineNumber:96,columnNumber:7},this)},void 0,!1,{fileName:G,lineNumber:95,columnNumber:5},this)}function Dg({value:e,onChange:t,placeholder:n=`YYYY`}){let r=/^\d{4}$/.test(e)?[vg(`${e}-01-01`)]:[];return(0,R.jsxDEV)(M.Root,{value:r,onValueChange:e=>t(e.value[0]?String(e.value[0].year):``),defaultView:`year`,minView:`year`,children:[(0,R.jsxDEV)(Eg,{display:e,placeholder:n},void 0,!1,{fileName:G,lineNumber:120,columnNumber:7},this),(0,R.jsxDEV)(j,{children:(0,R.jsxDEV)(M.Positioner,{children:(0,R.jsxDEV)(M.Content,{className:yg,children:(0,R.jsxDEV)(M.View,{view:`year`,children:[(0,R.jsxDEV)(Cg,{},void 0,!1,{fileName:G,lineNumber:125,columnNumber:15},this),(0,R.jsxDEV)(wg,{},void 0,!1,{fileName:G,lineNumber:126,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:124,columnNumber:13},this)},void 0,!1,{fileName:G,lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:122,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:121,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:114,columnNumber:5},this)}function Og({value:e,onChange:t,placeholder:n=`MM.YYYY`}){let r=/^(\d{4})-(\d{2})$/.exec(e),i=r?[vg(`${e}-01`)]:[];return(0,R.jsxDEV)(M.Root,{value:i,onValueChange:e=>{let n=e.value[0];t(n?`${n.year}-${String(n.month).padStart(2,`0`)}`:``)},defaultView:`month`,minView:`month`,children:[(0,R.jsxDEV)(Eg,{display:r?`${r[2]}.${r[1]}`:``,placeholder:n},void 0,!1,{fileName:G,lineNumber:149,columnNumber:7},this),(0,R.jsxDEV)(j,{children:(0,R.jsxDEV)(M.Positioner,{children:(0,R.jsxDEV)(M.Content,{className:yg,children:[(0,R.jsxDEV)(M.View,{view:`month`,children:[(0,R.jsxDEV)(Cg,{withViewTrigger:!0},void 0,!1,{fileName:G,lineNumber:154,columnNumber:15},this),(0,R.jsxDEV)(Tg,{},void 0,!1,{fileName:G,lineNumber:155,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:153,columnNumber:13},this),(0,R.jsxDEV)(M.View,{view:`year`,children:[(0,R.jsxDEV)(Cg,{},void 0,!1,{fileName:G,lineNumber:158,columnNumber:15},this),(0,R.jsxDEV)(wg,{},void 0,!1,{fileName:G,lineNumber:159,columnNumber:15},this)]},void 0,!0,{fileName:G,lineNumber:157,columnNumber:13},this)]},void 0,!0,{fileName:G,lineNumber:152,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:151,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:150,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:140,columnNumber:5},this)}var kg=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/time-picker.tsx`,Ag=`TimePicker`,jg=`TimePickerInputGroup`,Mg=`TimePickerInput`,Ng=`TimePickerTrigger`,Pg=`TimePickerContent`,Fg=`TimePickerColumn`,Ig=`TimePickerColumnItem`,Lg=`TimePickerHour`,Rg=`TimePickerMinute`,zg=`TimePickerSecond`,Bg=`TimePickerClear`,Vg=1,Hg=`--`,Ug=void 0,Wg=[`hour`,`minute`,`second`,`period`];function Gg(e,t=!1){let n=document.activeElement;for(let r of e){let e=r.current;if(e&&(e===n||(e.focus({preventScroll:t}),document.activeElement!==n)))return}}function Kg(e){return e.sort((e,t)=>{let n=e.ref.current,r=t.ref.current;if(!n||!r)return 0;let i=n.compareDocumentPosition(r);return i&Node.DOCUMENT_POSITION_FOLLOWING?-1:i&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function qg(e){let t=new Date(2e3,0,1,13,0,0),n=new Intl.DateTimeFormat(e,{hour:`numeric`}).format(t);return/am|pm/i.test(n)||!n.includes(`13`)}function Jg(e){if(!e)return null;let t=e.split(`:`);if(t.length<2)return null;let n={};if(t[0]&&t[0]!==Hg){let e=Number.parseInt(t[0],10);!Number.isNaN(e)&&e>=0&&e<=23&&(n.hour=e)}if(t[1]&&t[1]!==Hg){let e=Number.parseInt(t[1],10);!Number.isNaN(e)&&e>=0&&e<=59&&(n.minute=e)}if(t[2]&&t[2]!==Hg){let e=Number.parseInt(t[2],10);!Number.isNaN(e)&&e>=0&&e<=59&&(n.second=e)}return n.hour===void 0&&n.minute===void 0&&n.second===void 0?null:n}function Yg(e,t){let n=e.hour===void 0?Hg:e.hour.toString().padStart(2,`0`),r=e.minute===void 0?Hg:e.minute.toString().padStart(2,`0`),i=e.second===void 0?Hg:e.second.toString().padStart(2,`0`);return t?`${n}:${r}:${i}`:`${n}:${r}`}function Xg(e){let t=e>=12?`PM`:`AM`;return{hour:e%12||12,period:t}}function Zg(e,t){return e===12?t===`PM`?12:0:t===`PM`?e+12:e}function Qg(e,t,n){return Math.min(Math.max(e,t),n)}var $g=L.createContext(null);function e_(e){let t=L.useContext($g);if(!t)throw Error(`\`${e}\` must be used within \`${Ag}\``);return t}function t_(e,t){let n=L.useContext($g),r=t??n;if(!r)throw Error(`\`useStore\` must be used within \`${Ag}\``);let i=L.useCallback(()=>e(r.getState()),[r,e]);return L.useSyncExternalStore(r.subscribe,i,i)}var n_=L.createContext(null);function r_(e){let t=L.useContext(n_);if(!t)throw Error(`\`${e}\` must be used within \`${Ag}\``);return t}function i_(e){let{value:t,defaultValue:n,onValueChange:r,open:i,defaultOpen:a,onOpenChange:o,openOnFocus:s=!1,inputGroupClickAction:c=`focus`,min:l,max:u,hourStep:d=Vg,minuteStep:f=Vg,secondStep:p=Vg,segmentPlaceholder:m=Hg,locale:h=Ug,name:g,asChild:_,disabled:v=!1,invalid:y=!1,readOnly:b=!1,required:x=!1,showSeconds:S=!1,className:w,children:T,id:E,...D}=e,O=L.useId(),k=E??O,A=L.useId(),ee=L.useId(),te=L.useId(),ne=L.useRef(null),j=L.useRef(null),[M,re]=L.useState(null),ae=!M||!!M.closest(`form`),oe=ru(()=>new Set),se=ru(()=>({value:t??n??``,open:i??a??!1,openedViaFocus:!1})),ce=nu({onValueChange:r,onOpenChange:o}),le=L.useMemo(()=>({subscribe:e=>(oe.current.add(e),()=>oe.current.delete(e)),getState:()=>se.current,setState:(e,t)=>{Object.is(se.current[e],t)||(e===`value`&&typeof t==`string`?(se.current.value=t,ce.current.onValueChange?.(t)):e===`open`&&typeof t==`boolean`?(se.current.open=t,ce.current.onOpenChange?.(t),t||(se.current.openedViaFocus=!1)):se.current[e]=t,le.notify())},notify:()=>{for(let e of oe.current)e()}}),[oe,se,ce]),ue=t_(e=>e.value,le);tu(()=>{t!==void 0&&le.setState(`value`,t)},[t]),tu(()=>{i!==void 0&&le.setState(`open`,i)},[i]);let N=t_(e=>e.open,le),de=L.useCallback(e=>le.setState(`open`,e),[le]),fe=L.useMemo(()=>qg(h),[h]),pe=L.useMemo(()=>typeof m==`string`?{hour:m,minute:m,second:m,period:m}:{hour:m.hour??Hg,minute:m.minute??Hg,second:m.second??Hg,period:m.period??Hg},[m]),me=L.useMemo(()=>({id:k,inputGroupId:A,labelId:ee,triggerId:te,inputGroupRef:ne,triggerRef:j,openOnFocus:s,inputGroupClickAction:c,onInputGroupChange:re,disabled:v,readOnly:b,required:x,invalid:y,showSeconds:S,is12Hour:fe,minuteStep:f,secondStep:p,hourStep:d,segmentPlaceholder:pe,min:l,max:u}),[k,A,ee,te,s,c,v,b,x,y,S,fe,f,p,d,pe,l,u]),he=_?ie:`div`;return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)($g.Provider,{value:le,children:(0,R.jsxDEV)(n_.Provider,{value:me,children:(0,R.jsxDEV)(P,{open:N,onOpenChange:de,children:(0,R.jsxDEV)(he,{"data-slot":`time-picker`,"data-disabled":v?``:void 0,"data-invalid":y?``:void 0,...D,className:C(`relative`,w),children:T},void 0,!1,{fileName:kg,lineNumber:492,columnNumber:13},this)},void 0,!1,{fileName:kg,lineNumber:491,columnNumber:11},this)},void 0,!1,{fileName:kg,lineNumber:490,columnNumber:9},this)},void 0,!1,{fileName:kg,lineNumber:489,columnNumber:7},this),ae&&(0,R.jsxDEV)(eu,{type:`hidden`,control:M,name:g,value:ue,disabled:v,readOnly:b,required:x},void 0,!1,{fileName:kg,lineNumber:505,columnNumber:9},this)]},void 0,!0,{fileName:kg,lineNumber:488,columnNumber:5},this)}var a_=L.createContext(null);function o_(e){let t=L.useContext(a_);if(!t)throw Error(`\`${e}\` must be used within \`${jg}\``);return t}function s_(e){let{onPointerDown:t,onClick:n,asChild:r,className:i,style:a,ref:o,...s}=e,{inputGroupId:c,labelId:l,onInputGroupChange:u,disabled:d,readOnly:f,invalid:p,segmentPlaceholder:m,inputGroupRef:h,triggerRef:g,inputGroupClickAction:_}=r_(jg),v=e_(jg),y=Ms(o,h,u),b=L.useRef(new Map),x=L.useCallback((e,t)=>{b.current.set(e,t)},[]),S=L.useCallback(e=>{b.current.delete(e)},[]),w=L.useCallback(e=>{let t=[`hour`,`minute`,`second`,`period`],n=t.indexOf(e);if(n===-1||n===t.length-1)return null;for(let e=n+1;e<t.length;e++){let n=t[e];if(n){let e=b.current.get(n);if(e?.current)return e}}return null},[]),T=L.useCallback(e=>{if(t?.(e),d||f||e.defaultPrevented)return;let n=e.target;n.tagName===`INPUT`||n.closest(`input`)||g.current?.contains(n)||e.preventDefault()},[t,d,f,g]),E=L.useCallback(e=>{if(n?.(e),d||f||e.defaultPrevented)return;let t=e.target;if(!(t.tagName===`INPUT`||t.closest(`input`))&&!g.current?.contains(t))if(_===`open`)v.setState(`open`,!0);else{let e=document.activeElement;if(!(e&&e.tagName===`INPUT`&&h.current?.contains(e)))for(let e of Wg){let t=b.current.get(e);if(t?.current){t.current.focus(),t.current.select();break}}}},[n,d,f,_,v,g,h]),D=L.useMemo(()=>({onInputRegister:x,onInputUnregister:S,getNextInput:w}),[x,S,w]),O=r?ie:`div`;return(0,R.jsxDEV)(a_.Provider,{value:D,children:(0,R.jsxDEV)(fe,{asChild:!0,children:(0,R.jsxDEV)(O,{role:`group`,id:c,"aria-labelledby":l,"data-slot":`time-picker-input-group`,"data-disabled":d?``:void 0,"data-invalid":p?``:void 0,...s,className:C(`flex h-10 w-full cursor-text items-center gap-0.5 rounded-md border border-input bg-background px-3 py-2 shadow-xs outline-none transition-shadow`,`has-[input:focus]:border-ring has-[input:focus]:ring-[3px] has-[input:focus]:ring-ring/50`,p&&`border-destructive ring-destructive/20`,d&&`cursor-not-allowed opacity-50`,i),style:{"--time-picker-hour-input-width":`${m.hour.length}ch`,"--time-picker-minute-input-width":`${m.minute.length}ch`,"--time-picker-second-input-width":`${m.second.length}ch`,"--time-picker-period-input-width":`${Math.max(m.period.length,2)+.5}ch`,...a},ref:y,onPointerDown:T,onClick:E},void 0,!1,{fileName:kg,lineNumber:716,columnNumber:9},this)},void 0,!1,{fileName:kg,lineNumber:715,columnNumber:7},this)},void 0,!1,{fileName:kg,lineNumber:714,columnNumber:5},this)}function c_(e){let{segment:t,onBlur:n,onChange:r,onClick:i,onFocus:a,onKeyDown:o,disabled:s,readOnly:c,className:l,style:u,ref:d,...f}=e,{is12Hour:p,showSeconds:m,disabled:h,readOnly:g,segmentPlaceholder:_,openOnFocus:v}=r_(Mg),y=e_(Mg),b=o_(Mg),x=s||h,S=c||g,w=Jg(t_(e=>e.value)),T=L.useRef(null),E=Ms(d,T);tu(()=>{if(t)return b.onInputRegister(t,T),()=>b.onInputUnregister(t)},[b,t]);let D=L.useCallback(()=>{if(!w)return t?_[t]:``;switch(t){case`hour`:return w.hour===void 0?_.hour:p?Xg(w.hour).hour.toString().padStart(2,`0`):w.hour.toString().padStart(2,`0`);case`minute`:return w.minute===void 0?_.minute:w.minute.toString().padStart(2,`0`);case`second`:return w.second===void 0?_.second:w.second.toString().padStart(2,`0`);case`period`:return!w||w.hour===void 0?_.period:Xg(w.hour).period;default:return``}},[w,t,p,_]),[O,k]=L.useState(D()),[A,ee]=L.useState(!1),[te,ne]=L.useState(null);L.useEffect(()=>{A||(k(D()),ne(null))},[D,A]);let j=L.useCallback((e,n=!1)=>{let r=t?_[t]:Hg;if(!e||e===r||!w&&!n)return;let i={...w??{}};switch(t){case`hour`:{let t=Number.parseInt(e,10);if(!Number.isNaN(t))if(p){let e=Qg(t,1,12),n;n=w?.period===void 0?w?.hour===void 0?Xg(new Date().getHours()).period:Xg(w.hour).period:w.period,i.hour=Zg(e,n),w?.period!==void 0&&(i.period=w.period)}else i.hour=Qg(t,0,23);break}case`minute`:{let t=Number.parseInt(e,10);Number.isNaN(t)||(i.minute=Qg(t,0,59));break}case`second`:{let t=Number.parseInt(e,10);Number.isNaN(t)||(i.second=Qg(t,0,59));break}case`period`:(e===`AM`||e===`PM`)&&(i.period=e,w&&w.hour!==void 0&&(i.hour=Zg(Xg(w.hour).hour,e)));break}let a=Yg(i,m);y.setState(`value`,a)},[w,t,p,m,y,_]),M=L.useCallback(e=>{if(n?.(e),e.defaultPrevented)return;ee(!1);let r=t?_[t]:Hg;if(O&&O!==r&&O.length>0){let e=O;if(t!==`period`){if(O.length===2)e=O;else if(O.length===1){let t=Number.parseInt(O,10);Number.isNaN(t)||(e=t.toString().padStart(2,`0`))}}j(e,!0),queueMicrotask(()=>{let e=Jg(y.getState().value);if(e){let t=new Date,n={...e},r=!1;if(n.hour===void 0&&(n.hour=t.getHours(),r=!0),n.minute===void 0&&(n.minute=t.getMinutes(),r=!0),m&&n.second===void 0&&(n.second=t.getSeconds(),r=!0),r){let e=Yg(n,m);y.setState(`value`,e)}}})}k(D()),ne(null)},[n,O,j,D,t,_,m,y]),re=L.useCallback(e=>{if(r?.(e),e.defaultPrevented)return;let n=e.target.value,i=t?_[t]:Hg;if(O===i&&n.length>0&&n!==i&&(n=n.replace(RegExp(`^${i}`),``)),t===`period`){let e=n.charAt(0).toUpperCase(),t=null;e===`A`||e===`1`?t=`AM`:(e===`P`||e===`2`)&&(t=`PM`),t&&(k(t),j(t,!0),queueMicrotask(()=>{T.current?.select()}));return}if((t===`hour`||t===`minute`||t===`second`)&&(n=n.replace(/\D/g,``)),n.length>2&&(n=n.slice(0,2)),t===`hour`||t===`minute`||t===`second`){let e=Number.parseInt(n,10);if(!Number.isNaN(e)&&n.length>0){if(te!==null&&n.length===1){let e=te+n,r=Number.parseInt(e,10);if(!Number.isNaN(r)){let e=r.toString().padStart(2,`0`);k(e),j(e,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}});return}}let r=t===`hour`?p?1:2:5,i=Number.parseInt(n[0]??`0`,10)>r;if(n.length===1)if(i){let n=e.toString().padStart(2,`0`);k(n),j(n,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}})}else{let t=e.toString().padStart(2,`0`);k(t),ne(n),queueMicrotask(()=>{T.current?.select()})}else if(n.length===2){let n=e.toString().padStart(2,`0`);k(n),j(n,!0),ne(null),queueMicrotask(()=>{if(t){let e=b.getNextInput(t);e?.current&&(e.current.focus(),e.current.select())}})}}else n.length===0&&(k(``),ne(null))}},[t,j,r,O,p,b,te,_]),ie=L.useCallback(e=>{i?.(e),!e.defaultPrevented&&e.currentTarget.select()},[i]),ae=L.useCallback(e=>{a?.(e),!e.defaultPrevented&&(ee(!0),ne(null),v&&!y.getState().open&&(y.setState(`openedViaFocus`,!0),y.setState(`open`,!0)),queueMicrotask(()=>e.target.select()))},[a,v,y]),oe=L.useCallback(e=>{if(o?.(e),!e.defaultPrevented){if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`,n=T.current?.closest(`[data-slot="time-picker-input-group"]`);if(n&&T.current){let e=Array.from(n.querySelectorAll(`input[type="text"]`)),r=e.indexOf(T.current);if(r!==-1){let n=e[t?Math.max(0,r-1):Math.min(e.length-1,r+1)];n&&n!==T.current&&(n.focus(),n.select())}}return}if(e.key===`Backspace`||e.key===`Delete`){let n=T.current;if(n&&n.selectionStart===0&&n.selectionEnd===n.value.length){e.preventDefault();let n=t?_[t]:Hg;if(k(n),ne(null),w){let e={...w};switch(t){case`hour`:delete e.hour;break;case`minute`:delete e.minute;break;case`second`:delete e.second;break;case`period`:delete e.period;break}if(e.hour!==void 0||e.minute!==void 0||e.second!==void 0||e.period!==void 0){let t=Yg(e,m);y.setState(`value`,t)}else y.setState(`value`,``)}else y.setState(`value`,``);queueMicrotask(()=>{T.current?.select()});return}}if(t===`period`){let t=e.key.toLowerCase();if(t===`a`||t===`p`||t===`1`||t===`2`){e.preventDefault();let n;n=t===`a`||t===`1`?`AM`:`PM`,k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}else if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let t=_.period,n=O===t||O===``?`AM`:O,r=n===`AM`||n===`A`?`PM`:`AM`;k(r),j(r,!0),queueMicrotask(()=>{T.current?.select()})}return}if(e.key===`Tab`){let e=t?_[t]:Hg;if(O&&O.length>0&&O!==e){if(O.length===2)j(O,!0);else if(O.length===1){let e=Number.parseInt(O,10);if(!Number.isNaN(e)){let t=e.toString().padStart(2,`0`);j(t,!0)}}}return}if(e.key===`Enter`){e.preventDefault();let n=t?_[t]:Hg;if(O&&O.length>0&&O!==n){if(O.length===2)j(O,!0);else if(O.length===1){let e=Number.parseInt(O,10);if(!Number.isNaN(e)){let t=e.toString().padStart(2,`0`);j(t,!0)}}}queueMicrotask(()=>{T.current?.select()})}if(e.key===`Escape`&&(e.preventDefault(),k(D()),T.current?.blur()),e.key===`ArrowUp`){e.preventDefault();let n=t?_[t]:Hg;if(O===n||O===``){let e=(t===`hour`&&p?12:0).toString().padStart(2,`0`);k(e),j(e,!0),queueMicrotask(()=>{T.current?.select()});return}let r=Number.parseInt(O,10);if(!Number.isNaN(r)){let e;switch(t){case`hour`:e=p?r===12?1:r+1:r===23?0:r+1;break;case`minute`:case`second`:e=r===59?0:r+1;break;default:return}let n=e.toString().padStart(2,`0`);k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}}if(e.key===`ArrowDown`){e.preventDefault();let n=t?_[t]:Hg;if(O===n||O===``){let e=(t===`hour`?p?12:23:59).toString().padStart(2,`0`);k(e),j(e,!0),queueMicrotask(()=>{T.current?.select()});return}let r=Number.parseInt(O,10);if(!Number.isNaN(r)){let e;switch(t){case`hour`:e=p?r===1?12:r-1:r===0?23:r-1;break;case`minute`:case`second`:e=r===0?59:r-1;break;default:return}let n=e.toString().padStart(2,`0`);k(n),j(n,!0),queueMicrotask(()=>{T.current?.select()})}}}},[o,O,t,p,D,j,m,w,y,_]),se=A?O:D(),ce=t?`var(--time-picker-${t}-input-width)`:`2ch`;return(0,R.jsxDEV)(`input`,{type:`text`,inputMode:t===`period`?`text`:`numeric`,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`,spellCheck:!1,translate:`no`,...f,disabled:x,readOnly:S,className:C(`inline-flex h-full items-center justify-center border-0 bg-transparent text-center text-sm tabular-nums outline-none transition-colors focus:bg-transparent disabled:cursor-not-allowed disabled:opacity-50`,l),style:{width:ce,...u},ref:E,value:se,onBlur:M,onChange:re,onClick:ie,onFocus:ae,onKeyDown:oe},void 0,!1,{fileName:kg,lineNumber:1408,columnNumber:5},this)}function l_(e){let{className:t,children:n,disabled:r,ref:i,...a}=e,{triggerId:o,disabled:s,triggerRef:c}=r_(Ng);return(0,R.jsxDEV)(ue,{type:`button`,id:o,"data-slot":`time-picker-trigger`,disabled:r||s,ref:Ms(i,c),...a,className:C(`ml-auto flex items-center text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none [&>svg:not([class*='size-'])]:size-4`,t),children:n??(0,R.jsxDEV)(xe,{},void 0,!1,{fileName:kg,lineNumber:1464,columnNumber:20},this)},void 0,!1,{fileName:kg,lineNumber:1452,columnNumber:5},this)}var u_=L.createContext(null);function d_(e){let t=L.useContext(u_);if(!t)throw Error(`\`${e}\` must be used within \`${Ag}\``);return t}function f_(e){let{side:t=`bottom`,align:n=`start`,sideOffset:r=6,className:i,onOpenAutoFocus:a,onInteractOutside:o,...s}=e,c=e_(Pg),{openOnFocus:l,inputGroupRef:u}=r_(Pg),d=L.useRef(new Map),f=L.useCallback(e=>{d.current.set(e.id,e)},[]),p=L.useCallback(e=>{d.current.delete(e)},[]),m=L.useCallback(()=>Kg(Array.from(d.current.entries()).map(([e,{ref:t,getSelectedItemRef:n,getItems:r}])=>({id:e,ref:t,getSelectedItemRef:n,getItems:r})).filter(e=>e.ref.current!==null)),[]),h=L.useMemo(()=>({getColumns:m,onColumnRegister:f,onColumnUnregister:p}),[m,f,p]),g=L.useCallback(e=>{if(a?.(e),e.defaultPrevented)return;e.preventDefault();let{openedViaFocus:t}=c.getState();if(t){c.setState(`openedViaFocus`,!1);return}let n=m()[0];if(!n)return;let r=n.getItems(),i=r.find(e=>e.selected);Gg(i?[i.ref,...r.map(e=>e.ref)]:r.map(e=>e.ref),!1)},[a,m,c]),_=L.useCallback(e=>{if(o?.(e),!e.defaultPrevented&&l&&u.current){let t=e.target;if(!(t instanceof Node))return;u.current.contains(t)&&e.preventDefault()}},[o,l,u]);return(0,R.jsxDEV)(u_.Provider,{value:h,children:(0,R.jsxDEV)(ce,{"data-slot":`time-picker-content`,side:t,align:n,sideOffset:r,...s,className:C(`flex w-auto max-w-(--radix-popover-trigger-width) p-0`,i),onOpenAutoFocus:g,onInteractOutside:_},void 0,!1,{fileName:kg,lineNumber:1590,columnNumber:7},this)},void 0,!1,{fileName:kg,lineNumber:1589,columnNumber:5},this)}var p_=L.createContext(null);function m_(e){let t=L.useContext(p_);if(!t)throw Error(`\`${e}\` must be used within a column`);return t}function h_(e){let{children:t,className:n,ref:r,...i}=e,a=L.useId(),o=L.useRef(null),s=Ms(r,o),c=L.useRef(new Map),l=d_(Fg),u=L.useCallback((e,t,n)=>{c.current.set(e,{ref:t,selected:n})},[]),d=L.useCallback(e=>{c.current.delete(e)},[]),f=L.useCallback(()=>Kg(Array.from(c.current.entries()).map(([e,{ref:t,selected:n}])=>({value:e,ref:t,selected:n})).filter(e=>e.ref.current)),[]),p=L.useCallback(()=>f().find(e=>e.selected)?.ref??null,[f]);tu(()=>(l.onColumnRegister({id:a,ref:o,getSelectedItemRef:p,getItems:f}),()=>l.onColumnUnregister(a)),[l,a,p,f]);let m=L.useMemo(()=>({getItems:f,onItemRegister:u,onItemUnregister:d}),[f,u,d]);return(0,R.jsxDEV)(p_.Provider,{value:m,children:(0,R.jsxDEV)(`div`,{ref:s,"data-slot":`time-picker-column`,...i,className:C(`flex flex-col gap-1 not-last:border-r p-1`,n),children:t},void 0,!1,{fileName:kg,lineNumber:1701,columnNumber:7},this)},void 0,!1,{fileName:kg,lineNumber:1700,columnNumber:5},this)}function g_(e){let{value:t,selected:n=!1,format:r=`numeric`,className:i,ref:a,...o}=e,s=L.useRef(null),c=Ms(a,s),l=m_(Ig),u=d_(Ig);tu(()=>(l.onItemRegister(t,s,n),()=>l.onItemUnregister(t)),[l,t,n]),tu(()=>{n&&s.current&&s.current.scrollIntoView({block:`nearest`})},[n]);let d=L.useCallback(e=>{o.onClick?.(e),!e.defaultPrevented&&s.current?.focus()},[o.onClick]),f=L.useCallback(e=>{if(o.onKeyDown?.(e),!e.defaultPrevented)if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let n=l.getItems().sort((e,t)=>typeof e.value==`number`&&typeof t.value==`number`?e.value-t.value:0),r=n.findIndex(e=>e.value===t),i;i=e.key===`ArrowUp`?r>0?r-1:n.length-1:r<n.length-1?r+1:0;let a=n[i];a?.ref.current?.focus(),a?.ref.current?.click()}else(e.key===`Tab`||e.key===`ArrowLeft`||e.key===`ArrowRight`)&&u&&(e.preventDefault(),queueMicrotask(()=>{let t=u.getColumns();if(t.length===0)return;let n=t.findIndex(e=>e.ref.current?.contains(s.current)??!1);if(n===-1)return;let r=t[e.key===`ArrowLeft`||e.key===`Tab`&&e.shiftKey?n>0?n-1:t.length-1:n<t.length-1?n+1:0];if(r?.ref.current){let e=r.getItems(),t=e.find(e=>e.selected);Gg(t?[t.ref,...e.map(e=>e.ref)]:e.map(e=>e.ref),!1)}}))},[o.onKeyDown,l,u,t]),p=typeof t==`number`&&r===`2-digit`?t.toString().padStart(2,`0`):t.toString();return(0,R.jsxDEV)(`button`,{type:`button`,...o,ref:c,"data-selected":n?``:void 0,className:C(`w-full rounded px-3 py-1.5 text-left text-sm hover:bg-accent hover:text-accent-foreground focus:border-ring focus:outline-none focus:ring-[3px] focus:ring-ring/50`,`data-selected:bg-primary data-selected:text-primary-foreground data-selected:hover:bg-primary data-selected:hover:text-primary-foreground`,i),onClick:d,onKeyDown:f,children:p},void 0,!1,{fileName:kg,lineNumber:1834,columnNumber:5},this)}function __(e){let{asChild:t,format:n=`numeric`,className:r,...i}=e,{is12Hour:a,hourStep:o,showSeconds:s}=r_(Lg),c=e_(Lg),l=Jg(t_(e=>e.value)),u=Array.from({length:Math.ceil(a?12/o:24/o)},(e,t)=>{if(a){let e=t*o%12;return e===0?12:e}return t*o}),d=L.useCallback(e=>{let t=new Date,n=l??{},r=e;if(a){let n;n=l?.period===void 0?l?.hour===void 0?Xg(t.getHours()).period:Xg(l.hour).period:l.period,r=Zg(e,n)}let i={...n,hour:r};l&&l.period!==void 0&&(i.period=l.period),i.minute===void 0&&(i.minute=t.getMinutes()),s&&i.second===void 0&&(i.second=t.getSeconds());let o=Yg(i,s);c.setState(`value`,o)},[l,s,a,c]),f=new Date,p=l?.hour??f.getHours(),m=a?Xg(p).hour:p;return(0,R.jsxDEV)(t?ie:h_,{"data-slot":`time-picker-hour`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:u.map(e=>(0,R.jsxDEV)(g_,{value:e,selected:m===e,format:n,onClick:()=>d(e)},e,!1,{fileName:kg,lineNumber:1931,columnNumber:9},this))},void 0,!1,{fileName:kg,lineNumber:1922,columnNumber:5},this)}function v_(e){let{asChild:t,format:n=`2-digit`,className:r,...i}=e,{minuteStep:a,showSeconds:o}=r_(Rg),s=e_(Rg),c=Jg(t_(e=>e.value)),l=Array.from({length:Math.ceil(60/a)},(e,t)=>t*a),u=L.useCallback(e=>{let t=new Date,n={...c??{},minute:e};n.hour===void 0&&(n.hour=t.getHours()),o&&n.second===void 0&&(n.second=t.getSeconds());let r=Yg(n,o);s.setState(`value`,r)},[c,o,s]),d=t?ie:h_,f=new Date,p=c?.minute??f.getMinutes();return(0,R.jsxDEV)(d,{"data-slot":`time-picker-minute`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:l.map(e=>(0,R.jsxDEV)(g_,{value:e,selected:p===e,format:n,onClick:()=>u(e)},e,!1,{fileName:kg,lineNumber:1996,columnNumber:9},this))},void 0,!1,{fileName:kg,lineNumber:1987,columnNumber:5},this)}function y_(e){let{asChild:t,format:n=`2-digit`,className:r,...i}=e,{secondStep:a}=r_(zg),o=e_(zg),s=Jg(t_(e=>e.value)),c=Array.from({length:Math.ceil(60/a)},(e,t)=>t*a),l=L.useCallback(e=>{let t=new Date,n={...s??{},second:e};n.hour===void 0&&(n.hour=t.getHours()),n.minute===void 0&&(n.minute=t.getMinutes());let r=Yg(n,!0);o.setState(`value`,r)},[s,o]),u=t?ie:h_,d=new Date,f=s?.second??d.getSeconds();return(0,R.jsxDEV)(u,{"data-slot":`time-picker-second`,...i,className:C(`scrollbar-none flex max-h-[200px] flex-col gap-1 overflow-y-auto p-1`,r),children:c.map(e=>(0,R.jsxDEV)(g_,{value:e,selected:f===e,format:n,onClick:()=>l(e)},e,!1,{fileName:kg,lineNumber:2061,columnNumber:9},this))},void 0,!1,{fileName:kg,lineNumber:2052,columnNumber:5},this)}function b_(e){let{asChild:t,children:n,...r}=e;return(0,R.jsxDEV)(t?ie:`span`,{"aria-hidden":`true`,"data-slot":`time-picker-separator`,...r,children:n??`:`},void 0,!1,{fileName:kg,lineNumber:2144,columnNumber:5},this)}function x_(e){let{asChild:t,className:n,children:r,disabled:i,...a}=e,{disabled:o,readOnly:s}=r_(Bg),c=e_(Bg),l=i||o,u=L.useCallback(e=>{a.onClick?.(e),!e.defaultPrevented&&(e.preventDefault(),!(o||s)&&c.setState(`value`,``))},[a.onClick,o,s,c]);return(0,R.jsxDEV)(t?ie:`button`,{type:`button`,"data-slot":`time-picker-clear`,disabled:l,...a,className:C(`inline-flex items-center justify-center rounded-sm font-medium text-sm transition-colors hover:bg-accent hover:text-accent-foreground disabled:pointer-events-none disabled:opacity-50`,n),onClick:u,children:r??`Clear`},void 0,!1,{fileName:kg,lineNumber:2183,columnNumber:5},this)}var K=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/datetime.tsx`;function S_(e,t){return e.granularity??t}function C_(e,t=`minute`){let n=String(e??``);return t===`second`?n.length>19?n.slice(0,19):n:t===`hour`?n.length>13?n.slice(0,13):n:n.length>16?n.slice(0,16):n}function w_(e,t){return function(n){return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(we,{name:e,size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:K,lineNumber:68,columnNumber:9},this),(0,R.jsxDEV)(`span`,{children:t?t(String(n)):String(n)},void 0,!1,{fileName:K,lineNumber:69,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:67,columnNumber:7},this)}}function T_({value:e,format:t,icon:n}){return(0,R.jsxDEV)(bt,{items:kn(e,[]),content:w_(n,t),reserveEditor:!0},void 0,!1,{fileName:K,lineNumber:78,columnNumber:10},this)}function E_({field:e,value:t}){return e.hints.multiple===!0?(0,R.jsxDEV)(T_,{value:t,icon:`lucide:calendar`},void 0,!1,{fileName:K,lineNumber:84,columnNumber:48},this):ut(t,t=>{let n=S_(e.hints,`day`);return(0,R.jsxDEV)(`span`,{children:n===`month`||n===`year`?String(t):fg(String(t))||String(t)},void 0,!1,{fileName:K,lineNumber:88,columnNumber:12},this)})}function D_({name:e,field:t,value:n,onChange:r}){let i=S_(t.hints,`day`),a=i===`month`?`month`:i===`year`?`number`:`date`;if(t.hints.multiple===!0)return(0,R.jsxDEV)(mt,{value:n,onChange:r,display:w_(`lucide:calendar`),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:a,value:e,onChange:e=>t(e.target.value),className:`flex-1`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:102,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:97,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);return i===`year`?(0,R.jsxDEV)(Dg,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:123,columnNumber:28},this):i===`month`?(0,R.jsxDEV)(Og,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:124,columnNumber:29},this):(0,R.jsxDEV)(_g,{value:o,onChange:r},void 0,!1,{fileName:K,lineNumber:125,columnNumber:10},this)}function O_(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:t=>(0,R.jsxDEV)(E_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:141,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(D_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:143,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:130,columnNumber:5},this)}function k_(e,t){if(e==null||e===``)return[];let n=S_(t.hints,`day`),r=String(e);return[{value:r,rawValue:e,label:n===`year`||n===`month`?r:fg(r)||r}]}I({kinds:[`date`],Page:O_,keys:k_});var A_={hour:/^([01]\d|2[0-3])$/,minute:/^([01]\d|2[0-3]):[0-5]\d$/,second:/^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$/};function j_({field:e,value:t}){return e.hints.multiple!==!0&&(t==null||t===``)?(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:K,lineNumber:177,columnNumber:83},this):e.hints.multiple===!0?(0,R.jsxDEV)(T_,{value:t,icon:`lucide:clock`},void 0,!1,{fileName:K,lineNumber:179,columnNumber:5},this):(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:String(t)},void 0,!1,{fileName:K,lineNumber:181,columnNumber:5},this)}function M_({name:e,field:t,value:n,onChange:r}){let i=S_(t.hints,`second`),a=i===`second`?1:i===`minute`?60:3600;if(t.hints.multiple===!0)return(0,R.jsxDEV)(mt,{value:n,onChange:r,validate:e=>A_[i]?.test(e)??!1,display:w_(`lucide:clock`),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`time`,step:a,value:e,onChange:e=>t(e.target.value),className:`w-36`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:191,columnNumber:7},this);let o=typeof n==`string`?n:String(n??``);if(i===`hour`)return(0,R.jsxDEV)(E,{id:e,type:`time`,step:a,value:o,onChange:e=>r(e.target.value),className:`appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none`},void 0,!1,{fileName:K,lineNumber:222,columnNumber:7},this);let s=i===`second`;return(0,R.jsxDEV)(i_,{value:o,onValueChange:r,showSeconds:s,children:[(0,R.jsxDEV)(s_,{id:e,children:[(0,R.jsxDEV)(c_,{segment:`hour`},void 0,!1,{fileName:K,lineNumber:237,columnNumber:9},this),(0,R.jsxDEV)(b_,{},void 0,!1,{fileName:K,lineNumber:238,columnNumber:9},this),(0,R.jsxDEV)(c_,{segment:`minute`},void 0,!1,{fileName:K,lineNumber:239,columnNumber:9},this),s&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(b_,{},void 0,!1,{fileName:K,lineNumber:242,columnNumber:13},this),(0,R.jsxDEV)(c_,{segment:`second`},void 0,!1,{fileName:K,lineNumber:243,columnNumber:13},this)]},void 0,!0,{fileName:K,lineNumber:241,columnNumber:11},this),(0,R.jsxDEV)(l_,{},void 0,!1,{fileName:K,lineNumber:246,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:236,columnNumber:7},this),(0,R.jsxDEV)(f_,{children:[(0,R.jsxDEV)(__,{},void 0,!1,{fileName:K,lineNumber:249,columnNumber:9},this),(0,R.jsxDEV)(v_,{},void 0,!1,{fileName:K,lineNumber:250,columnNumber:9},this),s&&(0,R.jsxDEV)(y_,{},void 0,!1,{fileName:K,lineNumber:251,columnNumber:25},this),(0,R.jsxDEV)(x_,{},void 0,!1,{fileName:K,lineNumber:252,columnNumber:9},this)]},void 0,!0,{fileName:K,lineNumber:248,columnNumber:7},this)]},void 0,!0,{fileName:K,lineNumber:235,columnNumber:5},this)}function N_(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-32`,bare:e.bare,view:t=>(0,R.jsxDEV)(j_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:271,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(M_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:273,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:260,columnNumber:5},this)}I({kinds:[`time`],Page:N_});var P_={hour:/^\d{4}-\d{2}-\d{2}T([01]\d|2[0-3])$/,minute:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}$/,second:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/};function F_({field:e,value:t}){if(e.hints.multiple!==!0&&(t==null||t===``))return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:K,lineNumber:298,columnNumber:83},this);let n=S_(e.hints,`minute`);return e.hints.multiple===!0?(0,R.jsxDEV)(T_,{value:t,icon:`lucide:calendar-clock`,format:e=>C_(e,n).replace(`T`,` `)},void 0,!1,{fileName:K,lineNumber:301,columnNumber:5},this):(0,R.jsxDEV)(`span`,{children:pg(C_(t,n))},void 0,!1,{fileName:K,lineNumber:303,columnNumber:5},this)}function I_({name:e,field:t,value:n,onChange:r}){let i=S_(t.hints,`minute`),a=i===`second`?1:i===`hour`?3600:60;if(t.hints.multiple===!0)return(0,R.jsxDEV)(mt,{value:n,onChange:r,validate:e=>P_[i]?.test(e)??!1,display:w_(`lucide:calendar-clock`,e=>C_(e,i).replace(`T`,` `)),renderInput:(e,t,n)=>(0,R.jsxDEV)(E,{type:`datetime-local`,step:a,value:e,onChange:e=>t(e.target.value),className:`w-52`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())}},void 0,!1,{fileName:K,lineNumber:319,columnNumber:11},this)},void 0,!1,{fileName:K,lineNumber:313,columnNumber:7},this);let{date:o,time:s}=mg(C_(n,i));return(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(_g,{value:o,onChange:e=>r(hg(e,s||`00:00`))},void 0,!1,{fileName:K,lineNumber:340,columnNumber:7},this),(0,R.jsxDEV)(E,{id:e,type:`time`,step:a,value:s,onChange:e=>r(hg(o,e.target.value)),className:`w-32 appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none`},void 0,!1,{fileName:K,lineNumber:341,columnNumber:7},this)]},void 0,!0,{fileName:K,lineNumber:339,columnNumber:5},this)}function L_(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(F_,{field:e.field,value:t},void 0,!1,{fileName:K,lineNumber:366,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(I_,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:K,lineNumber:368,columnNumber:9},this)},void 0,!1,{fileName:K,lineNumber:355,columnNumber:5},this)}function R_({value:e,field:t}){return(0,R.jsxDEV)(`span`,{className:`truncate`,children:pg(C_(e,S_(t.hints,`minute`)))},void 0,!1,{fileName:K,lineNumber:381,columnNumber:10},this)}function z_(e,t){if(e==null||e===``)return[];let n=C_(e,S_(t.hints,`minute`));return[{value:n,rawValue:e,label:pg(n)}]}I({kinds:[`datetime`],Page:L_,Inline:R_,keys:z_});var B_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/checkbox.tsx`,V_=L.forwardRef(({className:e,...t},n)=>(0,R.jsxDEV)(te,{ref:n,className:C(`peer h-4.5 w-4.5 shrink-0 rounded border border-input bg-background ring-offset-background transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,e),...t,children:(0,R.jsxDEV)(ae,{className:C(`flex items-center justify-center text-current`),children:(0,R.jsxDEV)(Ke,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:B_,lineNumber:21,columnNumber:7},void 0)},void 0,!1,{fileName:B_,lineNumber:20,columnNumber:5},void 0)},void 0,!1,{fileName:B_,lineNumber:10,columnNumber:3},void 0));V_.displayName=te.displayName;var H_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/ui/select-combobox.tsx`;function U_({it:e}){return e.node?(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.node},void 0,!1,{fileName:H_,lineNumber:37,columnNumber:23},this):(0,R.jsxDEV)(R.Fragment,{children:[e.icon&&(0,R.jsxDEV)(oc,{icon:e.icon,size:`xs`},void 0,!1,{fileName:H_,lineNumber:40,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 truncate`,children:e.title},void 0,!1,{fileName:H_,lineNumber:41,columnNumber:7},this),e.subtitle&&e.subtitle!==e.title&&(0,R.jsxDEV)(`span`,{className:`text-muted text-xs shrink-0`,children:e.subtitle},void 0,!1,{fileName:H_,lineNumber:42,columnNumber:51},this)]},void 0,!0,{fileName:H_,lineNumber:39,columnNumber:5},this)}function W_({value:e,onChange:t,items:n,placeholder:r}){let i=L.useMemo(()=>new Map(n.map(e=>[e.value,e])),[n]),[a,o]=L.useState(``),s=L.useMemo(()=>{let e=a.trim().toLowerCase();return e?n.filter(t=>t.title.toLowerCase().includes(e)||(t.subtitle?.toLowerCase().includes(e)??!1)):n},[a,n]),c=i.get(e);return(0,R.jsxDEV)(Un,{items:s.map(e=>e.value),value:e||null,onValueChange:e=>t(e??``),itemToStringLabel:e=>i.get(e)?.title??e,children:[(0,R.jsxDEV)(Ln,{render:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,className:`w-full justify-between gap-2 px-2 font-normal`},void 0,!1,{fileName:H_,lineNumber:79,columnNumber:11},this),children:[c?(0,R.jsxDEV)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:(0,R.jsxDEV)(U_,{it:c},void 0,!1,{fileName:H_,lineNumber:88,columnNumber:13},this)},void 0,!1,{fileName:H_,lineNumber:87,columnNumber:11},this):(0,R.jsxDEV)(`span`,{className:`truncate text-muted-foreground`,children:r},void 0,!1,{fileName:H_,lineNumber:91,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`sr-only`,children:(0,R.jsxDEV)(zn,{},void 0,!1,{fileName:H_,lineNumber:94,columnNumber:11},this)},void 0,!1,{fileName:H_,lineNumber:93,columnNumber:9},this)]},void 0,!0,{fileName:H_,lineNumber:77,columnNumber:7},this),(0,R.jsxDEV)(Bn,{className:`w-(--anchor-width) min-w-52`,children:[(0,R.jsxDEV)(Rn,{placeholder:r,value:a,onChange:e=>o(e.target.value),showTrigger:!1},void 0,!1,{fileName:H_,lineNumber:98,columnNumber:9},this),(0,R.jsxDEV)(Hn,{children:`—`},void 0,!1,{fileName:H_,lineNumber:104,columnNumber:9},this),(0,R.jsxDEV)(Vn,{children:s.map(e=>(0,R.jsxDEV)(In,{value:e.value,className:`flex items-center gap-2.5`,children:(0,R.jsxDEV)(U_,{it:e},void 0,!1,{fileName:H_,lineNumber:108,columnNumber:15},this)},e.value,!1,{fileName:H_,lineNumber:107,columnNumber:13},this))},void 0,!1,{fileName:H_,lineNumber:105,columnNumber:9},this)]},void 0,!0,{fileName:H_,lineNumber:97,columnNumber:7},this)]},void 0,!0,{fileName:H_,lineNumber:71,columnNumber:5},this)}function G_({selected:e,onChange:t,items:n,placeholder:r,labelOf:i,chipClassName:a,chipStyle:o}){let s=L.useMemo(()=>new Map(n.map(e=>[e.value,e])),[n]),c=n.filter(t=>!e.includes(t.value)),l=e=>i?.(e)??s.get(e)?.title??e;return(0,R.jsxDEV)(bt,{items:e,content:e=>{let t=s.get(String(e));return(0,R.jsxDEV)(R.Fragment,{children:[t?.icon&&(0,R.jsxDEV)(oc,{icon:t.icon,size:`xs`},void 0,!1,{fileName:H_,lineNumber:148,columnNumber:26},this),l(String(e))]},void 0,!0,{fileName:H_,lineNumber:147,columnNumber:11},this)},chipClassName:a?e=>a(String(e)):void 0,chipStyle:o?e=>o(String(e)):void 0,onRemove:n=>t(e.filter((e,t)=>t!==n)),editor:c.length>0?(0,R.jsxDEV)(W_,{value:``,onChange:n=>n&&t([...e,n]),items:c,placeholder:r},void 0,!1,{fileName:H_,lineNumber:158,columnNumber:11},this):null},void 0,!1,{fileName:H_,lineNumber:142,columnNumber:5},this)}var K_=8;function q_(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return`var(--cat-${Math.abs(t)%K_+1})`}var J_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/record-save-ctx.tsx`,Y_=(0,L.createContext)(null);function X_({children:e}){let{t}=a(),[n,r]=(0,L.useState)(0),i=(0,L.useCallback)(async e=>{let n=y.loading(t(`save.saving`));r(e=>e+1);try{let r=await e(),i=typeof r==`string`?r:void 0;return i?y.error(i,{id:n}):y.success(t(`save.done`),{id:n}),i}catch{return y.error(t(`save.failed`),{id:n}),t(`save.failed`)}finally{r(e=>e-1)}},[t]),o=(0,L.useMemo)(()=>({saving:n>0,run:i}),[n,i]);return(0,R.jsxDEV)(Y_.Provider,{value:o,children:e},void 0,!1,{fileName:J_,lineNumber:40,columnNumber:10},this)}var Z_={saving:!1,run:async e=>{let t=await e();return typeof t==`string`?t:void 0}};function Q_(){return(0,L.useContext)(Y_)??Z_}var $_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/choice.tsx`;function ev(e,t){let n=e.hints.source;return t??(e.options?.length?e.options:n?Ae(n):[])}function tv({field:e,value:t,onChange:n,selectOptions:r,excludeValues:i}){let{t:o}=a();if(e.hints.multiple===!0){let i=et(ev(e,r),o);return(0,R.jsxDEV)(G_,{selected:(Array.isArray(t)?t:kn(t,[])).map(String),items:i,onChange:e=>n(e),placeholder:o(`form.search`),chipClassName:()=>`cat-chip`,chipStyle:e=>({"--cat":q_(e)})},void 0,!1,{fileName:$_,lineNumber:53,columnNumber:7},this)}let s=ev(e,r);return i?.length&&(s=s.filter(e=>e.value===t||!i.includes(e.value))),(0,R.jsxDEV)(W_,{value:typeof t==`string`?t:``,onChange:n,items:et(s,o),placeholder:o(`form.search`)},void 0,!1,{fileName:$_,lineNumber:65,columnNumber:10},this)}function nv({field:e,value:t}){let{t:n}=a(),r=ev(e);if(e.hints.multiple===!0)return(0,R.jsxDEV)(bt,{items:kn(t,[]),content:e=>{let t=r.find(t=>t.value===String(e));return(0,R.jsxDEV)(R.Fragment,{children:[t?.icon&&(0,R.jsxDEV)(oc,{icon:t.icon,size:`xs`},void 0,!1,{fileName:$_,lineNumber:80,columnNumber:29},this),(0,R.jsxDEV)(`span`,{children:t?n(t.title):String(e)},void 0,!1,{fileName:$_,lineNumber:81,columnNumber:15},this)]},void 0,!0,{fileName:$_,lineNumber:79,columnNumber:13},this)},chipClassName:()=>`cat-chip`,chipStyle:e=>({"--cat":q_(String(e))}),reserveEditor:!0},void 0,!1,{fileName:$_,lineNumber:74,columnNumber:7},this);if(t==null||t===``)return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:$_,lineNumber:91,columnNumber:45},this);let i=String(t),o=r.find(e=>e.value===i),s=o?n(o.title):i;return(0,R.jsxDEV)(`span`,{className:`flex w-full min-w-0 items-center gap-1.5 pr-6`,children:[o?.icon&&(0,R.jsxDEV)(oc,{icon:o.icon,size:`xs`},void 0,!1,{fileName:$_,lineNumber:97,columnNumber:21},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 truncate`,children:s},void 0,!1,{fileName:$_,lineNumber:98,columnNumber:7},this),o?.subtitle&&o.subtitle!==s&&(0,R.jsxDEV)(`span`,{className:`text-muted text-xs shrink-0`,children:o.subtitle},void 0,!1,{fileName:$_,lineNumber:100,columnNumber:9},this)]},void 0,!0,{fileName:$_,lineNumber:96,columnNumber:5},this)}function rv(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(nv,{field:e.field,value:t},void 0,!1,{fileName:$_,lineNumber:119,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(tv,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n,selectOptions:e.selectOptions,excludeValues:e.excludeValues},void 0,!1,{fileName:$_,lineNumber:121,columnNumber:9},this)},void 0,!1,{fileName:$_,lineNumber:108,columnNumber:5},this)}function iv({value:e,field:t}){let{t:n}=a(),r=t.options??[];if(t.hints.multiple===!0){let t=(Array.isArray(e)?e:kn(e,[])).map(String);return t.length?(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.map(e=>Eu(n,{options:r},e)).join(`, `)},void 0,!1,{fileName:$_,lineNumber:140,columnNumber:12},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:$_,lineNumber:139,columnNumber:31},this)}return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?.length?Eu(n,{options:r},e):String(e??``)},void 0,!1,{fileName:$_,lineNumber:143,columnNumber:5},this)}function av(e,t,n){if(e==null||e===``)return[];let r=String(e),i=Eu(n.t,{options:t.options},r);return[{value:r,rawValue:e,label:i,sort:i}]}I({kinds:[`select`],Page:rv,Inline:iv,keys:av});function ov(e){let{saving:t}=Q_(),n=An(e.value);return e.bare?(0,R.jsxDEV)(V_,{checked:n,disabled:t,onCheckedChange:t=>e.onChange?.(t===!0)},void 0,!1,{fileName:$_,lineNumber:167,columnNumber:22},this):(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(Rt,{label:e.label,required:e.required},void 0,!1,{fileName:$_,lineNumber:170,columnNumber:33},this),(0,R.jsxDEV)(V_,{checked:n,disabled:t,onCheckedChange:t=>e.onChange?.(t===!0)},void 0,!1,{fileName:$_,lineNumber:171,columnNumber:7},this),(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:$_,lineNumber:172,columnNumber:7},this)]},void 0,!0,{fileName:$_,lineNumber:169,columnNumber:5},this)}function sv({value:e}){return(0,R.jsxDEV)(`span`,{children:An(e)?(0,R.jsxDEV)(we,{name:`lucide:check`,size:14,className:`inline text-accent`},void 0,!1,{fileName:$_,lineNumber:178,columnNumber:36},this):`—`},void 0,!1,{fileName:$_,lineNumber:178,columnNumber:10},this)}function cv(e,t,n){if(e==null||e===``)return[];let r=Tu(e);return[{value:r?`true`:`false`,rawValue:r,label:r?n.t(`group.yes`):n.t(`group.no`)}]}I({kinds:[`boolean`],Page:ov,Inline:sv,keys:cv});var lv=new Map,uv=new Map,dv=new Map;function fv(e,t,n){for(let r of n)uv.set(`${e}/${t}/${String(r.id)}`,r)}var pv=new Map;function mv(e,t,n){let r=`${e}/${t}/${n}`,i=pv.get(r);if(i)return i;let a=Qn(e,t,{id:n}).then(n=>(fv(e,t,n),n)).finally(()=>pv.delete(r));return pv.set(r,a),a}function hv(e,t){let n=`${e}/${t}`,r=dv.get(n);if(r)return Promise.resolve(r);let i=lv.get(n);if(i)return i;let a=Qn(e,t).then(r=>(fv(e,t,r),dv.set(n,r),r)).finally(()=>lv.delete(n));return lv.set(n,a),a}function gv(e,t,n=`name`){let[r,i]=(0,L.useState)([]),[a,o]=(0,L.useState)(`loading`);(0,L.useEffect)(()=>{if(!e||!t){o(`idle`);return}let n=!0;return o(`loading`),hv(e,t).then(e=>{n&&(i(e),o(`idle`))}).catch(()=>{n&&o(`error`)}),()=>{n=!1}},[e,t]);let s=(0,L.useMemo)(()=>{let i=Te(e,t);return r.map(e=>({id:String(e.id),label:i?hn(i,e):String(e[n]??e.name??e.id)}))},[r,e,t,n]);return{rows:s,labelMap:(0,L.useMemo)(()=>new Map(s.map(e=>[e.id,e.label])),[s]),records:r,recordMap:(0,L.useMemo)(()=>new Map(r.map(e=>[String(e.id),e])),[r]),loadState:a}}function _v(e,t,n){let r=(0,L.useMemo)(()=>[...new Set(n)].sort().join(`,`),[n]),[i,a]=(0,L.useState)(new Map);return(0,L.useEffect)(()=>{if(!e||!t||!r){a(new Map);return}let n=new Map,i=[];for(let a of r.split(`,`)){let r=uv.get(`${e}/${t}/${a}`);r?n.set(a,r):i.push(a)}if(!i.length){a(n);return}let o=!0;return mv(e,t,i.join(`,`)).then(e=>{for(let t of e)n.set(String(t.id),t);o&&a(new Map(n))}).catch(()=>{o&&a(n)}),()=>{o=!1}},[e,t,r]),i}function vv(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e),n=Array.isArray(t)?t[0]:t;return n&&typeof n==`object`&&typeof n.name==`string`?n.name:typeof n==`string`?n:void 0}catch{return e}}function yv(e,t){for(let[n,r]of dn(e.fields))if(n===t)return r.kind}function bv(e,t,n){let r=yv(e,t);if(r&&an(r)){let e=vv(n[t]);return e?{kind:`image`,value:mr(e)}:void 0}}function xv(e,t){let n=e.views?.select;if(n){let r=Array.isArray(n.title)?n.title:[n.title];return{icon:n.icon?bv(e,n.icon,t):void 0,title:r.map(e=>String(t[e]??``)).filter(Boolean).join(` `),subtitle:n.subtitle&&String(t[n.subtitle]??``)||void 0}}let r=ln(e),i=r?vv(t[r]):void 0;return{icon:i?{kind:`image`,value:mr(i)}:void 0,title:hn(e,t)}}var Sv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/LookupBadge.tsx`;function Cv(e){let t=typeof e==`string`?kn(e,null):e;return t&&typeof t.value==`number`&&typeof t.unit==`string`?t:null}function wv(e,t,n){let r=n.find(e=>e.value===t);return r?e(r.label):t}function Tv({lookupField:e,row:t,subs:n}){let{t:r}=a(),i=String(e.hints.from??``),o=e.hints.pick??[],s=e.hints.compareWith??null,c=n.find(e=>e.key===i),l=c?.relation?.library??``,u=c?.relation?.shelf??``,{recordMap:d,loadState:f}=gv(l,u),p=t[i]??``,m=p?d.get(p):void 0;if(f===`loading`||!m)return null;let h=Te(l,u),g=(h&&o[0]?mn(h.fields)[o[0]]:void 0)?.hints.units,_=Wt(g||`cooking`)??[],v=o.map(e=>({key:e,raw:m[e]})).filter(e=>e.raw!=null&&e.raw!==``),y=null,b=v.length?Cv(v[0].raw):null;if(s&&b){let e=t[s],n=Cv(e),r=n?n.unit===b.unit?n.value:null:e!==``&&e!=null&&!Number.isNaN(Number(e))?Number(e):null;r==null?b.value<=0&&(y=`missing`):y=b.value>=r?`enough`:b.value>0?`partial`:`missing`}let x=v.map(({raw:e})=>{let t=Cv(e);return t?`${t.value} ${wv(r,t.unit,_)}`:String(e)}).join(` · `),S=y===`enough`?`bg-success/15 text-success border-success/30`:y===`partial`?`bg-warning/15 text-warning border-warning/30`:y===`missing`?`bg-danger/15 text-danger border-danger/30`:`bg-accent/10 text-muted border-border`,C=y===`enough`?`lucide:check`:y===`partial`?`lucide:minus`:y===`missing`?`lucide:x`:null;return(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-1 text-xs px-2 py-0.5 rounded-full border whitespace-nowrap ${S}`,title:y?r(`core.lookup.${y}`):void 0,children:[C&&(0,R.jsxDEV)(we,{name:C,size:12},void 0,!1,{fileName:Sv,lineNumber:106,columnNumber:20},this),` `,x||r(`core.lookup.noData`)]},void 0,!0,{fileName:Sv,lineNumber:102,columnNumber:5},this)}var Ev=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/RecordInline.tsx`;function Dv(e){if(!(typeof e!=`string`||!e))try{let t=JSON.parse(e),n=Array.isArray(t)?t[0]:t;return n&&typeof n==`object`&&typeof n.name==`string`?n.name:typeof n==`string`?n:void 0}catch{return e}}function Ov({shelf:e,row:t,size:n=`md`,height:r,className:i}){let a=hn(e,t),o=ln(e),s=o?Dv(t[o]):void 0,c=s?{kind:`image`,value:mr(s)}:{kind:`icon`,value:e.icon??`lucide:square`};return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-2 ${i??``}`,style:r?{height:r,minHeight:r}:void 0,children:[o&&(0,R.jsxDEV)(oc,{icon:c,size:n===`sm`?`md`:`lg`,framed:!0},void 0,!1,{fileName:Ev,lineNumber:55,columnNumber:18},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:a},void 0,!1,{fileName:Ev,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:Ev,lineNumber:51,columnNumber:5},this)}var kv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/checklist-row.tsx`;function Av({row:e,slotCount:t,editing:n,onToggle:r,onChange:i,onRemove:o,disabled:s,content:c}){let{t:l}=a(),u=Array.from({length:t},(t,n)=>!!e.checks[n]),d=ht(t);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-3.5 py-1 text-sm min-w-0`,children:[u.map((t,a)=>(0,R.jsxDEV)(`span`,{className:`inline-flex items-center gap-0.5 shrink-0`,children:[d&&(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted tabular-nums`,children:lt(a)},void 0,!1,{fileName:kv,lineNumber:45,columnNumber:24},this),n?(0,R.jsxDEV)(V_,{checked:t,onCheckedChange:t=>i?.({...e,checks:u.map((e,n)=>n===a?t===!0:e)})},void 0,!1,{fileName:kv,lineNumber:47,columnNumber:13},this):(0,R.jsxDEV)(V_,{checked:t,disabled:s,onCheckedChange:()=>r?.(a)},void 0,!1,{fileName:kv,lineNumber:54,columnNumber:13},this)]},a,!0,{fileName:kv,lineNumber:44,columnNumber:9},this)),c??(n?(0,R.jsxDEV)(E,{value:e.text,onChange:t=>i?.({...e,text:t.target.value}),className:`min-w-0 flex-1`},void 0,!1,{fileName:kv,lineNumber:64,columnNumber:11},this):(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-text`,children:e.text||`—`},void 0,!1,{fileName:kv,lineNumber:70,columnNumber:11},this)),n&&o&&(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,onClick:o,title:l(`actions.delete`),className:`h-5 w-5 shrink-0 rounded text-muted hover:text-danger`,children:(0,R.jsxDEV)(ye,{size:12},void 0,!1,{fileName:kv,lineNumber:81,columnNumber:11},this)},void 0,!1,{fileName:kv,lineNumber:73,columnNumber:9},this)]},void 0,!0,{fileName:kv,lineNumber:42,columnNumber:5},this)}var jv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/checklist-content.tsx`;function Mv(e){return(e??[]).map(e=>({key:e.key,type:Qt(e)}))}function Nv({fields:e,row:t,editing:n,onChange:r,recordCtx:i}){return(0,R.jsxDEV)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:e.map(e=>(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1`,children:e.type.kind===`text`?n?(0,R.jsxDEV)(E,{value:String(t[e.key]??``),onChange:t=>r?.(e.key,t.target.value),className:`min-w-0 w-full`},void 0,!1,{fileName:jv,lineNumber:32,columnNumber:15},this):(0,R.jsxDEV)(`span`,{className:`min-w-0 block truncate text-sm text-text`,children:String(t[e.key]??``)||`—`},void 0,!1,{fileName:jv,lineNumber:38,columnNumber:15},this):(0,R.jsxDEV)(gr,{field:e.type,value:t[e.key]??``,mode:n?`edit`:`view`,bare:!0,recordCtx:i,onChange:n?t=>r?.(e.key,t):void 0},void 0,!1,{fileName:jv,lineNumber:41,columnNumber:13},this)},e.key,!1,{fileName:jv,lineNumber:29,columnNumber:9},this))},void 0,!1,{fileName:jv,lineNumber:27,columnNumber:5},this)}var Pv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/display.tsx`;function Fv({value:e,onChange:t,slots:n=[],disabled:r,fields:i,recordCtx:a={library:``,shelf:``,recordId:null}}){let o=Mv(i),s=kn(e,{}),c=o.length?{text:String(s.text??``),checks:Array.from({length:n.length},(e,t)=>s[`check`+t]===!0)}:_t(e,n.length),l=o.length?o.some(e=>at(s[e.key])):!!c.text;if(!c.text&&!l&&!c.checks.some(Boolean))return(0,R.jsxDEV)(`div`,{className:`flex text-sm`,children:(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Pv,lineNumber:89,columnNumber:99},this)},void 0,!1,{fileName:Pv,lineNumber:89,columnNumber:69},this);let u=t?e=>{if(o.length){let r={...s};n.forEach((t,n)=>{r[`check`+n]=n===e?!c.checks[n]:c.checks[n]}),t(r)}else t(rt({...c,checks:c.checks.map((t,n)=>n===e?!t:t)}))}:void 0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:(0,R.jsxDEV)(Av,{row:c,slotCount:n.length,onToggle:u,disabled:r,content:o.length?(0,R.jsxDEV)(Nv,{fields:o,row:s,editing:!1,recordCtx:a},void 0,!1,{fileName:Pv,lineNumber:111,columnNumber:15},this):void 0},void 0,!1,{fileName:Pv,lineNumber:104,columnNumber:9},this)},void 0,!1,{fileName:Pv,lineNumber:103,columnNumber:7},this),(0,R.jsxDEV)(dt,{slots:n},void 0,!1,{fileName:Pv,lineNumber:116,columnNumber:7},this)]},void 0,!0,{fileName:Pv,lineNumber:102,columnNumber:5},this)}function Iv({value:e,onChange:t,slots:n=[],disabled:r}){let i=kn(e,[]).filter(e=>e&&(e.text||(e.checks??[]).some(Boolean)));if(!i.length)return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Pv,lineNumber:134,columnNumber:28},this);let a=t?(e,n)=>t(i.map((t,r)=>r===e?{...t,checks:(t.checks??[]).map((e,t)=>t===n?!e:e)}:t)):void 0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:i.map((e,t)=>(0,R.jsxDEV)(Av,{row:e,slotCount:n.length,onToggle:a?e=>a(t,e):void 0,disabled:r},t,!1,{fileName:Pv,lineNumber:147,columnNumber:11},this))},void 0,!1,{fileName:Pv,lineNumber:145,columnNumber:7},this),(0,R.jsxDEV)(dt,{slots:n},void 0,!1,{fileName:Pv,lineNumber:156,columnNumber:7},this)]},void 0,!0,{fileName:Pv,lineNumber:144,columnNumber:5},this)}function Lv({field:e,value:t}){let n=e.relation?.library??``,r=e.relation?.shelf??``,i=e.hints.multi?kn(t,[]):at(t)?[String(t)]:[],a=_v(n,r,i),o=Te(n,r);return i.length?(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:i.map(e=>{let t=a.get(e);return(0,R.jsxDEV)(m,{to:`/${n}/${r}/${e}`,className:`inline-flex items-center gap-1.5 min-h-9 text-accent border border-transparent rounded-lg px-3 text-sm hover:text-accent2 transition-colors`,children:o&&t?(0,R.jsxDEV)(Ov,{shelf:o,row:t,size:`sm`,height:28},void 0,!1,{fileName:Pv,lineNumber:182,columnNumber:25},this):ot(e)},e,!1,{fileName:Pv,lineNumber:177,columnNumber:11},this)})},void 0,!1,{fileName:Pv,lineNumber:173,columnNumber:5},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Pv,lineNumber:171,columnNumber:27},this)}function Rv(e,t,n){let r=(Wt(e.hints.units)??[]).find(e=>e.value===t);return r?n(r.label):t}function zv(e,t){return n=>{let r=n&&typeof n==`object`?n:(()=>{try{return JSON.parse(String(n))}catch{return null}})();if(r&&typeof r==`object`&&`value`in r&&`unit`in r){let{value:n,unit:i}=r;return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:`${n} ${Rv(e,String(i),t)}`},void 0,!1,{fileName:Pv,lineNumber:203,columnNumber:14},this)}return(0,R.jsxDEV)(`span`,{className:`font-mono`,children:String(n)},void 0,!1,{fileName:Pv,lineNumber:205,columnNumber:12},this)}}function Bv({field:e,value:t}){let{t:n}=a(),r=kn(t,null);return!r||r.value==null?(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Pv,lineNumber:213,columnNumber:41},this):(0,R.jsxDEV)(`span`,{className:`font-mono text-sm`,children:[r.value,` `,(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:Rv(e,r.unit,n)},void 0,!1,{fileName:Pv,lineNumber:216,columnNumber:19},this)]},void 0,!0,{fileName:Pv,lineNumber:215,columnNumber:5},this)}var q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/edit.tsx`;function Vv({value:e,onChange:t,field:n,t:r,recordCtx:i={library:``,shelf:``,recordId:``}}){let a=n.hints.rowMultiple===!0,o=n.hints.fields??[],s=n.hints.unique??[],c=o.filter(e=>!e.virtual),l=(0,L.useRef)(0),u=e=>e.map(e=>({id:++l.current,data:e})),d=()=>Object.fromEntries(c.map(e=>[e.key,``])),f=()=>{let t=kn(e,a?[]:{});return a?Array.isArray(t)?t:[]:[t&&!Array.isArray(t)&&Object.keys(t).length?t:d()]},[p,m]=(0,L.useState)(()=>u(f()));(0,L.useEffect)(()=>{e||m(a?[]:u([d()]))},[e]);let h=e=>c.some(t=>{let n=(e[t.key]??``).trim();return t.prim===`checkbox`?n===`true`:n!==``});function g(e){m(e);let n=e.map(e=>e.data).filter(h);t(a?n.length?n:``:n.length?n[0]:``)}function _(e,t,n){g(p.map((r,i)=>i===e?{...r,data:{...r.data,[t]:String(n)}}:r))}function v(e,t){return s.includes(e)?p.filter((e,n)=>n!==t).map(t=>t.data[e]??``).filter(Boolean):[]}function y({id:e,data:t},n){return(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2 flex-wrap border border-border rounded-xl p-3`,children:[o.map(e=>e.virtual?e.prim===`lookup`?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 flex-1 min-w-32`,children:[e.label?(0,R.jsxDEV)(Rt,{label:r(e.label)},void 0,!1,{fileName:q,lineNumber:113,columnNumber:30},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Tv,{lookupField:e,row:t,subs:o},void 0,!1,{fileName:q,lineNumber:115,columnNumber:19},this)},void 0,!1,{fileName:q,lineNumber:114,columnNumber:17},this)]},e.key,!0,{fileName:q,lineNumber:112,columnNumber:15},this):null:(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 flex-1 min-w-32`,children:(0,R.jsxDEV)(gr,{field:Qt(e),value:e.prim===`checkbox`?t[e.key]===`true`:t[e.key]??``,excludeValues:v(e.key,n),onChange:t=>_(n,e.key,t),label:e.label?r(e.label):void 0,mode:`edit`,recordCtx:i},void 0,!1,{fileName:q,lineNumber:121,columnNumber:15},this)},e.key,!1,{fileName:q,lineNumber:120,columnNumber:13},this)),a&&(0,R.jsxDEV)(Qe,{className:`mt-6`,onClick:()=>g(p.filter((e,t)=>t!==n))},void 0,!1,{fileName:q,lineNumber:133,columnNumber:22},this)]},e,!0,{fileName:q,lineNumber:107,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2.5`,children:[p.map(y),a&&(0,R.jsxDEV)(gt,{onClick:()=>m(e=>[...e,...u([d()])]),children:r(`form.addRow`)},void 0,!1,{fileName:q,lineNumber:141,columnNumber:20},this)]},void 0,!0,{fileName:q,lineNumber:139,columnNumber:5},this)}function Hv({value:e,onChange:t,field:n}){let{t:r}=a(),i=(0,L.useMemo)(()=>Wt(n.hints.units)??[],[n.hints]),o=(0,L.useMemo)(()=>{if(e&&typeof e==`object`)return e;try{return JSON.parse(String(e))}catch{return{value:``,unit:i[0]?.value??``}}},[e,i]),s=e=>t(e.value===``?``:e);return(0,R.jsxDEV)(ee,{className:`min-w-0`,children:[(0,R.jsxDEV)(D,{type:`number`,className:`min-w-0`,value:o.value===``?``:String(o.value),min:n.hints.min,max:n.hints.max,step:n.hints.step??`any`,onChange:e=>{let t=parseFloat(e.target.value);s({...o,value:isNaN(t)?``:t})},placeholder:`0`},void 0,!1,{fileName:q,lineNumber:177,columnNumber:7},this),(0,R.jsxDEV)(O,{align:`inline-end`,className:`pr-1`,children:(0,R.jsxDEV)(Je,{value:o.unit||void 0,onValueChange:e=>s({...o,unit:e}),children:[(0,R.jsxDEV)(Xe,{className:`h-7 gap-1 border-0 bg-transparent px-2 text-muted shadow-none focus:ring-0`,children:(0,R.jsxDEV)(Ye,{},void 0,!1,{fileName:q,lineNumber:193,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:192,columnNumber:11},this),(0,R.jsxDEV)(yt,{children:i.map(e=>(0,R.jsxDEV)($e,{value:e.value,children:r(e.label)},e.value,!1,{fileName:q,lineNumber:197,columnNumber:15},this))},void 0,!1,{fileName:q,lineNumber:195,columnNumber:11},this)]},void 0,!0,{fileName:q,lineNumber:191,columnNumber:9},this)},void 0,!1,{fileName:q,lineNumber:190,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:176,columnNumber:5},this)}function Uv({field:e,value:t,onChange:n,excludeValues:r}){let{t:i}=a(),o=e.relation?.library??``,s=e.relation?.shelf??``,c=!!e.hints.multi,{labelMap:l,records:u,loadState:d}=gv(o,s,String(e.hints.displayKey??`name`)),f=Te(o,s),p=(0,L.useMemo)(()=>t?c?Array.isArray(t)?t.map(String):kn(t,[]).map(String):[String(t)]:[],[t,c]),m=_v(o,s,p),h=(0,L.useMemo)(()=>{let e=new Map(u.map(e=>[String(e.id),e]));for(let[t,n]of m)e.has(t)||e.set(t,n);return[...e.values()]},[u,m]),g=(0,L.useMemo)(()=>h.filter(e=>String(e.id)===String(t)||p.includes(String(e.id))||!r?.includes(String(e.id))).map(e=>{let t=f?xv(f,e):{title:String(e.id)},n=f?(0,R.jsxDEV)(Ov,{shelf:f,row:e,size:`sm`,height:28},void 0,!1,{fileName:q,lineNumber:260,columnNumber:28},this):void 0;return{value:String(e.id),title:t.title,icon:t.icon,subtitle:t.subtitle,node:n}}),[h,r,t,p,f]);return d===`loading`?(0,R.jsxDEV)(`p`,{className:`text-muted text-sm py-1`,children:i(`form.loading`)},void 0,!1,{fileName:q,lineNumber:268,columnNumber:39},this):d===`error`?(0,R.jsxDEV)(`p`,{className:`text-danger text-sm py-1`,children:i(`form.loadError`)},void 0,!1,{fileName:q,lineNumber:269,columnNumber:37},this):g.length?c?(0,R.jsxDEV)(G_,{selected:p,items:g,placeholder:i(`form.addRecord`),labelOf:e=>l.get(e)??g.find(t=>t.value===e)?.title??e,onChange:e=>n(e.length?e:``)},void 0,!1,{fileName:q,lineNumber:277,columnNumber:5},this):(0,R.jsxDEV)(W_,{value:t==null?``:String(t),onChange:n,items:g},void 0,!1,{fileName:q,lineNumber:274,columnNumber:22},this):(0,R.jsxDEV)(`p`,{className:`text-muted text-sm py-1`,children:i(`form.noRecords`)},void 0,!1,{fileName:q,lineNumber:271,columnNumber:29},this)}function Wv(e){return{text:``,checks:Array(e).fill(!1)}}function Gv({value:e,onChange:t,field:n,recordCtx:r={library:``,shelf:``,recordId:null}}){let i=n.hints.slots??[``],a=Mv(n.hints.fields),[o,s]=(0,L.useState)(()=>kn(e,{}));(0,L.useEffect)(()=>{e||s({})},[e,i.length]);let c=a.length?{text:String(o.text??``),checks:Array.from({length:i.length},(e,t)=>o[`check`+t]===!0)}:_t(e,i.length);function l(e){s(e);let n=a.length?a.some(t=>{let n=e[t.key];return n!=null&&n!==``&&!(Array.isArray(n)&&n.length===0)}):String(e.text??``).trim()!==``,r=Array.isArray(e.checks)?e.checks:[],o=i.some((t,n)=>e[`check`+n]===!0)||i.some((e,t)=>r[t]===!0);if(a.length)t(n||o?e:``);else{let a={text:String(e.text??``),checks:i.map((t,n)=>e[`check`+n]===!0||r[n]===!0)};t(n||o?rt(a):``)}}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(Av,{row:c,slotCount:i.length,editing:!0,onChange:e=>{let t={...o};i.forEach((n,r)=>{t[`check`+r]=e.checks[r]===!0}),a.length||(t.text=e.text),l(t)},content:a.length?(0,R.jsxDEV)(Nv,{fields:a,row:o,editing:!0,onChange:(e,t)=>l({...o,[e]:t}),recordCtx:r},void 0,!1,{fileName:q,lineNumber:355,columnNumber:13},this):void 0},void 0,!1,{fileName:q,lineNumber:343,columnNumber:7},this),(0,R.jsxDEV)(dt,{slots:i},void 0,!1,{fileName:q,lineNumber:365,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:342,columnNumber:5},this)}function Kv({value:e,onChange:t,field:n}){let{t:r}=a(),i=n.hints.slots??[``],[o,s]=(0,L.useState)(()=>kn(e,[]));(0,L.useEffect)(()=>{e||s([])},[e]);function c(e){s(e);let n=e.filter(e=>e.text.trim()!==``||e.checks.some(Boolean));t(n.length?n:``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5 py-1`,children:[o.map((e,t)=>(0,R.jsxDEV)(Av,{row:e,slotCount:i.length,editing:!0,onChange:e=>c(o.map((n,r)=>r===t?e:n)),onRemove:()=>c(o.filter((e,n)=>n!==t))},t,!1,{fileName:q,lineNumber:396,columnNumber:9},this)),(0,R.jsxDEV)(dt,{slots:i},void 0,!1,{fileName:q,lineNumber:405,columnNumber:7},this),(0,R.jsxDEV)(gt,{onClick:()=>s(e=>[...e,Wv(i.length)]),children:r(`form.addItem`)},void 0,!1,{fileName:q,lineNumber:406,columnNumber:7},this)]},void 0,!0,{fileName:q,lineNumber:394,columnNumber:5},this)}function qv(e){let t=e=>!!e&&typeof e==`object`&&`unit`in e;if(Array.isArray(e))return e.filter(t);try{let n=JSON.parse(String(e??``));if(Array.isArray(n))return n.map(e=>{if(t(e))return e;try{return JSON.parse(String(e))}catch{return null}}).filter(Boolean)}catch{}return[]}function Jv({field:e,value:t,onChange:n}){let{t:r}=a(),i=(0,L.useMemo)(()=>qv(t),[t]),[o,s]=(0,L.useState)(``);function c(e){n(e.length?e:``)}function l(){!o||typeof o!=`object`||o.value===``||(c([...i,o]),s(``))}return(0,R.jsxDEV)(bt,{items:i,content:zv(e,r),onRemove:e=>c(i.filter((t,n)=>n!==e)),editor:(0,R.jsxDEV)(`div`,{className:`flex gap-2 items-center min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(Hv,{value:o,onChange:e=>s(e),field:e},void 0,!1,{fileName:q,lineNumber:551,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:550,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`sm`,onClick:l,children:(0,R.jsxDEV)(Ut,{size:14},void 0,!1,{fileName:q,lineNumber:558,columnNumber:13},this)},void 0,!1,{fileName:q,lineNumber:557,columnNumber:11},this)]},void 0,!0,{fileName:q,lineNumber:549,columnNumber:9},this)},void 0,!1,{fileName:q,lineNumber:544,columnNumber:5},this)}var Yv=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/composite.tsx`;function Xv(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-56`,bare:e.bare,view:t=>(0,R.jsxDEV)(Lv,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:43,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Uv,{field:e.field,value:t,onChange:n,excludeValues:e.excludeValues},void 0,!1,{fileName:Yv,lineNumber:45,columnNumber:9},this)},void 0,!1,{fileName:Yv,lineNumber:32,columnNumber:5},this)}function Zv({value:e}){let t=kn(e,null);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:Array.isArray(t)?t.length?String(t.length):`—`:e?`1`:`—`},void 0,!1,{fileName:Yv,lineNumber:59,columnNumber:10},this)}function Qv(e,t,n){if(e==null||e===``)return[];let r=String(e),i=n.labelMap?.get(r)??r;return[{value:r,rawValue:e,label:i,sort:i}]}I({kinds:[`relation`],layout:Sn,Page:Xv,Inline:Zv,keys:Qv});function $v({field:e,value:t}){let{t:n}=a();return(0,R.jsxDEV)(bt,{items:Array.isArray(t)?t:st(String(t??``)),content:zv(e,n),reserveEditor:!0},void 0,!1,{fileName:Yv,lineNumber:84,columnNumber:10},this)}function ey(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:t=>e.field.hints.multiple===!0?(0,R.jsxDEV)($v,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:102,columnNumber:11},this):(0,R.jsxDEV)(Bv,{field:e.field,value:t},void 0,!1,{fileName:Yv,lineNumber:104,columnNumber:11},this),edit:(t,n)=>e.field.hints.multiple===!0?(0,R.jsxDEV)(Jv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:109,columnNumber:11},this):(0,R.jsxDEV)(Hv,{value:t,onChange:n,field:e.field},void 0,!1,{fileName:Yv,lineNumber:111,columnNumber:11},this)},void 0,!1,{fileName:Yv,lineNumber:89,columnNumber:5},this)}function ty({field:e,value:t}){let{t:n}=a(),r=kn(t,null);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?`${r.value} ${Rv(e,String(r.unit),n)}`:`—`},void 0,!1,{fileName:Yv,lineNumber:122,columnNumber:10},this)}I({kinds:[`measured`],Page:ey,Inline:ty});function ny(e){let{saving:t}=Q_();return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,width:`w-full`,bare:e.bare,view:(n,r)=>{let i=e.field.hints.slots??[``],a=e.field.hints.fields;return e.field.hints.multiple===!0?(0,R.jsxDEV)(Iv,{value:n,onChange:r,slots:i,disabled:t},void 0,!1,{fileName:Yv,lineNumber:152,columnNumber:11},this):(0,R.jsxDEV)(Fv,{value:n,onChange:r,slots:i,fields:a,recordCtx:e.recordCtx,disabled:t},void 0,!1,{fileName:Yv,lineNumber:154,columnNumber:11},this)},edit:(t,n)=>e.field.hints.multiple===!0?(0,R.jsxDEV)(Kv,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Yv,lineNumber:159,columnNumber:11},this):(0,R.jsxDEV)(Gv,{field:e.field,value:t,recordCtx:e.recordCtx,onChange:n},void 0,!1,{fileName:Yv,lineNumber:161,columnNumber:11},this)},void 0,!1,{fileName:Yv,lineNumber:137,columnNumber:5},this)}function ry({value:e,field:t}){let n=_t(e,(t.hints.slots??[``]).length),r=n.checks.length;return!n.text&&!n.checks.some(Boolean)?(0,R.jsxDEV)(`span`,{className:`truncate`,children:`—`},void 0,!1,{fileName:Yv,lineNumber:172,columnNumber:54},this):(0,R.jsxDEV)(`span`,{className:`truncate`,children:r?`${n.checks.filter(Boolean).length}/${r}`:n.text||`—`},void 0,!1,{fileName:Yv,lineNumber:174,columnNumber:10},this)}I({kinds:[`check`],layout:`block`,Page:ny,Inline:ry});function iy(){let[e,t]=(0,L.useState)(!1),[n,r]=(0,L.useState)(0),[i,a]=(0,L.useState)(null),[o,s]=(0,L.useState)(null);async function c(e){if(a(null),e.size>26214400)return s(null),a(`upload.tooLarge`),null;t(!0),r(0);let n=await Yn(e,r);return t(!1),n?(s(null),n):(s(e),a(`upload.failed`),r(0),null)}async function l(){return!o||e?null:c(o)}return{busy:e,error:i,progress:n,upload:c,retry:l,canRetry:o!==null}}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/image.tsx`;function ay(e){return We({title:e(`actions.confirmDeletePhoto`),confirmLabel:e(`actions.delete`),variant:`destructive`})}var oy=/\.(mp4|webm|ogg|mov|m4v)$/i;function sy(e){return oy.test(e)}function cy({name:e}){return sy(e)?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`video`,{src:mr(e),muted:!0,playsInline:!0,preload:`metadata`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:43,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:(0,R.jsxDEV)(Ce,{size:28,className:`text-white/90 drop-shadow`,fill:`currentColor`},void 0,!1,{fileName:J,lineNumber:45,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:44,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:42,columnNumber:7},this):(0,R.jsxDEV)(`img`,{src:mr(e),alt:``,loading:`lazy`,className:`h-full w-full object-cover transition-opacity hover:opacity-90`},void 0,!1,{fileName:J,lineNumber:51,columnNumber:5},this)}function ly(e){let t=e=>!!e&&typeof e==`object`&&typeof e.name==`string`;if(Array.isArray(e))return e.filter(t);if(t(e))return[e];try{let n=JSON.parse(String(e??``));return(Array.isArray(n)?n:n?[n]:[]).filter(t)}catch{return[]}}function uy({images:e,index:t,onClose:n,onIndex:r}){let i=e.length>1,a=()=>r((t-1+e.length)%e.length),o=()=>r((t+1)%e.length);return(0,L.useEffect)(()=>{let e=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`&&i?a():e.key===`ArrowRight`&&i&&o()};return document.addEventListener(`keydown`,e),document.body.style.overflow=`hidden`,()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=``}},[t,e.length]),(0,R.jsxDEV)(`div`,{className:`fixed inset-0 z-[100] bg-black/85 backdrop-blur-sm flex items-center justify-center`,onClick:n,children:[(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute top-4 right-4`,onClick:n,children:(0,R.jsxDEV)(w,{size:22},void 0,!1,{fileName:J,lineNumber:113,columnNumber:9},this)},void 0,!1,{fileName:J,lineNumber:112,columnNumber:7},this),i&&(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute left-3 md:left-6`,onClick:e=>{e.stopPropagation(),a()},children:(0,R.jsxDEV)(_s,{size:26},void 0,!1,{fileName:J,lineNumber:123,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:116,columnNumber:9},this),sy(e[t])?(0,R.jsxDEV)(`video`,{src:mr(e[t]),controls:!0,autoPlay:!0,className:`max-h-[90dvh] max-w-[92vw] rounded-lg shadow-2xl`,onClick:e=>e.stopPropagation()},void 0,!1,{fileName:J,lineNumber:127,columnNumber:9},this):(0,R.jsxDEV)(`img`,{src:mr(e[t]),alt:``,className:`max-h-[90dvh] max-w-[92vw] object-contain rounded-lg shadow-2xl`,onClick:e=>e.stopPropagation()},void 0,!1,{fileName:J,lineNumber:135,columnNumber:9},this),i&&(0,R.jsxDEV)(`button`,{className:`lightbox-btn absolute right-3 md:right-6`,onClick:e=>{e.stopPropagation(),o()},children:(0,R.jsxDEV)(vs,{size:26},void 0,!1,{fileName:J,lineNumber:150,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:143,columnNumber:9},this),i&&(0,R.jsxDEV)(`div`,{className:`absolute bottom-5 left-1/2 -translate-x-1/2 text-white/70 text-sm tabular-nums`,children:[t+1,` / `,e.length]},void 0,!0,{fileName:J,lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:108,columnNumber:5},this)}function dy({name:e,className:t}){let[n,r]=(0,L.useState)(!1);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`img`,{src:mr(e),alt:``,loading:`lazy`,onClick:()=>r(!0),className:t??`max-h-40 rounded-xl border border-border cursor-zoom-in hover:opacity-90 transition-opacity`},void 0,!1,{fileName:J,lineNumber:169,columnNumber:7},this),n&&(0,R.jsxDEV)(uy,{images:[e],index:0,onClose:()=>r(!1),onIndex:()=>{}},void 0,!1,{fileName:J,lineNumber:178,columnNumber:16},this)]},void 0,!0,{fileName:J,lineNumber:168,columnNumber:5},this)}function fy({value:e,poster:t}){let n=ly(e),[r,i]=(0,L.useState)(null);if(!n.length)return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:J,lineNumber:188,columnNumber:28},this);let a=n.map(e=>e.name),o=t?`h-96 w-64`:`h-24 w-24`;return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:n.map((e,t)=>(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>i(t),className:`relative ${o} rounded-xl overflow-hidden border border-border hover:border-accent transition-colors cursor-zoom-in`,children:(0,R.jsxDEV)(cy,{name:e.name},void 0,!1,{fileName:J,lineNumber:201,columnNumber:13},this)},`${e.name}-${t}`,!1,{fileName:J,lineNumber:195,columnNumber:11},this))},void 0,!1,{fileName:J,lineNumber:193,columnNumber:7},this),r!==null&&(0,R.jsxDEV)(uy,{images:a,index:r,onClose:()=>i(null),onIndex:i},void 0,!1,{fileName:J,lineNumber:205,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:192,columnNumber:5},this)}function py({value:e}){let t=ly(e),[n,r]=(0,L.useState)(null);if(!t.length)return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:J,lineNumber:215,columnNumber:28},this);let i=t.map(e=>e.name);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:t.length===1?(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(0),className:`relative inline-block rounded-full cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:mr(t[0].name),alt:``,loading:`lazy`,className:`max-h-96 rounded-full border border-border object-cover hover:opacity-90 transition-opacity`},void 0,!1,{fileName:J,lineNumber:229,columnNumber:13},this)},`${t[0].name}-0`,!1,{fileName:J,lineNumber:223,columnNumber:11},this):t.map((e,t)=>(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(t),className:`relative h-24 w-24 rounded-full overflow-hidden border border-border hover:border-accent transition-colors cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:mr(e.name),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:243,columnNumber:13},this)},`${e.name}-${t}`,!1,{fileName:J,lineNumber:237,columnNumber:11},this))},void 0,!1,{fileName:J,lineNumber:221,columnNumber:7},this),n!==null&&(0,R.jsxDEV)(uy,{images:i,index:n,onClose:()=>r(null),onIndex:r},void 0,!1,{fileName:J,lineNumber:247,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:220,columnNumber:5},this)}function my({value:e}){let t=ly(e)[0];return t?(0,R.jsxDEV)(`img`,{src:mr(t.name),alt:``,style:{height:28,width:28},className:`rounded-full object-cover`},void 0,!1,{fileName:J,lineNumber:256,columnNumber:5},this):(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:J,lineNumber:254,columnNumber:20},this)}function hy({value:e,banner:t}){let n=ly(e),[r,i]=(0,L.useState)(0),[a,o]=(0,L.useState)(!1);if(!n.length)return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:J,lineNumber:275,columnNumber:28},this);let s=n.map(e=>e.name),c=n.length>1,l=Math.min(r,n.length-1),u=()=>i((l-1+n.length)%n.length),d=()=>i((l+1)%n.length);return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:t?`relative w-full overflow-hidden rounded-none`:`relative w-full overflow-hidden rounded-xl border border-border`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(!0)},className:t?`block h-48 w-full cursor-zoom-in md:h-64`:`block aspect-video max-h-96 w-full cursor-zoom-in`,children:(0,R.jsxDEV)(`img`,{src:mr(s[l]),alt:``,loading:`lazy`,className:`h-full w-full object-cover`},void 0,!1,{fileName:J,lineNumber:297,columnNumber:11},this)},void 0,!1,{fileName:J,lineNumber:290,columnNumber:9},this),c&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`lightbox-btn absolute left-2 top-1/2 -translate-y-1/2`,onClick:e=>{e.stopPropagation(),u()},children:(0,R.jsxDEV)(_s,{size:22},void 0,!1,{fileName:J,lineNumber:306,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:301,columnNumber:13},this),(0,R.jsxDEV)(`button`,{type:`button`,className:`lightbox-btn absolute right-2 top-1/2 -translate-y-1/2`,onClick:e=>{e.stopPropagation(),d()},children:(0,R.jsxDEV)(vs,{size:22},void 0,!1,{fileName:J,lineNumber:313,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:308,columnNumber:13},this),(0,R.jsxDEV)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2 py-0.5 text-xs text-white tabular-nums`,children:[l+1,` / `,n.length]},void 0,!0,{fileName:J,lineNumber:315,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:300,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:283,columnNumber:7},this),a&&(0,R.jsxDEV)(uy,{images:s,index:l,onClose:()=>o(!1),onIndex:i},void 0,!1,{fileName:J,lineNumber:321,columnNumber:16},this)]},void 0,!0,{fileName:J,lineNumber:282,columnNumber:5},this)}function gy({accept:e,busy:t,error:n,progress:r,onPick:i,onRetry:o,canRetry:s,className:c,round:l=!1}){let{t:u}=a();return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`label`,{className:`flex cursor-pointer flex-col items-center justify-center gap-2 ${l?`rounded-full`:`rounded-xl`} border-2 border-dashed border-border text-muted transition-colors hover:border-accent hover:text-accent ${t?`pointer-events-none opacity-60`:``} ${c??``}`,children:[t?(0,R.jsxDEV)(Dt,{size:24,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:361,columnNumber:17},this):(0,R.jsxDEV)(Ot,{size:24},void 0,!1,{fileName:J,lineNumber:361,columnNumber:66},this),(0,R.jsxDEV)(`span`,{className:`text-sm font-medium`,children:u(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:362,columnNumber:9},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>i(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:363,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:354,columnNumber:7},this),t&&r!=null&&(0,R.jsxDEV)(ft,{progress:r},void 0,!1,{fileName:J,lineNumber:371,columnNumber:36},this),n&&(0,R.jsxDEV)(tt,{error:n,onRetry:o,canRetry:s},void 0,!1,{fileName:J,lineNumber:372,columnNumber:17},this)]},void 0,!0,{fileName:J,lineNumber:353,columnNumber:5},this)}function _y({accept:e,busy:t,error:n,progress:r,onPick:i,onRetry:o,canRetry:s,className:c}){let{t:l}=a();return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`label`,{className:`flex h-9 cursor-pointer items-center gap-2 rounded-lg border border-dashed border-border px-3 text-sm text-muted transition-colors hover:border-accent hover:text-accent ${t?`pointer-events-none opacity-60`:``} ${c??`w-fit`}`,children:[t?(0,R.jsxDEV)(Dt,{size:15,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:408,columnNumber:17},this):(0,R.jsxDEV)(Ot,{size:15},void 0,!1,{fileName:J,lineNumber:408,columnNumber:66},this),(0,R.jsxDEV)(`span`,{className:`font-medium`,children:l(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:409,columnNumber:9},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>i(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:410,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:403,columnNumber:7},this),t&&r!=null&&(0,R.jsxDEV)(ft,{progress:r},void 0,!1,{fileName:J,lineNumber:418,columnNumber:36},this),n&&(0,R.jsxDEV)(tt,{error:n,onRetry:o,canRetry:s},void 0,!1,{fileName:J,lineNumber:419,columnNumber:17},this)]},void 0,!0,{fileName:J,lineNumber:402,columnNumber:5},this)}function vy({accept:e,busy:t,onPick:n,title:r,className:i}){return(0,R.jsxDEV)(`label`,{title:r,className:`inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:text-accent group-hover:opacity-100 ${t?`pointer-events-none opacity-60`:``} ${i??``}`,children:[t?(0,R.jsxDEV)(Dt,{size:15,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:445,columnNumber:15},this):(0,R.jsxDEV)(be,{size:15},void 0,!1,{fileName:J,lineNumber:445,columnNumber:64},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:e,className:`hidden`,disabled:t,onChange:e=>n(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:446,columnNumber:7},this)]},void 0,!0,{fileName:J,lineNumber:439,columnNumber:5},this)}function yy({value:e,onChange:t,accept:n=`image/*`,poster:r}){let{t:i}=a(),{busy:o,error:s,progress:c,upload:l,retry:u,canRetry:d}=iy(),f=ly(e)[0];async function p(e){if(!e)return;let n=await l(e);n&&t(n)}async function m(){let e=await u();e&&t(e)}return f?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`group relative inline-block`,children:[(0,R.jsxDEV)(dy,{name:f.name,className:r?`h-96 w-64 object-cover rounded-xl border border-border cursor-zoom-in hover:opacity-90 transition-opacity`:void 0},void 0,!1,{fileName:J,lineNumber:486,columnNumber:11},this),(0,R.jsxDEV)(vy,{accept:n,busy:o,onPick:p,title:i(`actions.replace`),className:`absolute right-11 top-2`},void 0,!1,{fileName:J,lineNumber:494,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`icon`,disabled:o,className:`absolute top-2 right-2 h-8 w-8 rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/70 hover:text-danger group-hover:opacity-100`,onClick:async()=>{await ay(i)&&t(``)},title:i(`actions.delete`),children:(0,R.jsxDEV)(ye,{size:15},void 0,!1,{fileName:J,lineNumber:506,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:495,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:485,columnNumber:9},this),s&&(0,R.jsxDEV)(tt,{error:s,onRetry:()=>void m(),canRetry:d},void 0,!1,{fileName:J,lineNumber:509,columnNumber:19},this)]},void 0,!0,{fileName:J,lineNumber:484,columnNumber:7},this):(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,progress:c,onPick:p,onRetry:()=>void m(),canRetry:d},void 0,!1,{fileName:J,lineNumber:513,columnNumber:10},this)}function by({value:e,onChange:t,accept:n=`image/*`,poster:r}){let{t:i}=a(),{busy:o,error:s,progress:c,upload:l,retry:u,canRetry:d}=iy(),[f,p]=(0,L.useState)(null),m=ly(e),h=r?`h-96 w-64`:`h-24 w-24`;function g(e){t(e.length?e:``)}async function _(e){if(!e)return;let t=await l(e);t&&g([...m,t])}async function v(){let e=await u();e&&g([...m,e])}let y=m.map(e=>e.name);return m.length?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:[m.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`group/img relative ${h} overflow-hidden rounded-xl border border-border`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>p(t),className:`block h-full w-full cursor-zoom-in`,children:(0,R.jsxDEV)(cy,{name:e.name},void 0,!1,{fileName:J,lineNumber:562,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:561,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/img:opacity-100`,onClick:async()=>{await ay(i)&&g(m.filter((e,n)=>n!==t))},title:i(`actions.delete`),children:(0,R.jsxDEV)(ye,{size:13},void 0,!1,{fileName:J,lineNumber:575,columnNumber:15},this)},void 0,!1,{fileName:J,lineNumber:564,columnNumber:13},this)]},`${e.name}-${t}`,!0,{fileName:J,lineNumber:557,columnNumber:11},this)),(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,progress:c,onPick:_,onRetry:()=>void v(),canRetry:d,className:h},void 0,!1,{fileName:J,lineNumber:579,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:555,columnNumber:7},this),f!==null&&(0,R.jsxDEV)(uy,{images:y,index:f,onClose:()=>p(null),onIndex:p},void 0,!1,{fileName:J,lineNumber:581,columnNumber:25},this)]},void 0,!0,{fileName:J,lineNumber:554,columnNumber:5},this):(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,progress:c,onPick:_,onRetry:()=>void v(),canRetry:d},void 0,!1,{fileName:J,lineNumber:551,columnNumber:12},this)}function xy({value:e,onChange:t,accept:n=`image/*`,multiple:r=!1}){let{t:i}=a(),{busy:o,error:s,progress:c,upload:l,retry:u,canRetry:d}=iy(),f=ly(e),p=e=>t(e.length?e:``);if(r){async function e(e){if(!e)return;let t=await l(e);t&&p([...f,t])}async function t(){let e=await u();e&&p([...f,e])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:(0,R.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`group/av relative h-24 w-24 shrink-0`,children:[(0,R.jsxDEV)(`img`,{src:mr(e.name),alt:``,className:`h-24 w-24 rounded-full border border-border object-cover`},void 0,!1,{fileName:J,lineNumber:619,columnNumber:15},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 h-7 w-7 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/av:opacity-100`,onClick:async()=>{await ay(i)&&p(f.filter((e,n)=>n!==t))},title:i(`actions.delete`),children:(0,R.jsxDEV)(ye,{size:11},void 0,!1,{fileName:J,lineNumber:635,columnNumber:17},this)},void 0,!1,{fileName:J,lineNumber:624,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:J,lineNumber:618,columnNumber:13},this)),(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,progress:c,onPick:e,onRetry:()=>void t(),canRetry:d,className:`h-24 w-24`,round:!0},void 0,!1,{fileName:J,lineNumber:639,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:616,columnNumber:9},this)},void 0,!1,{fileName:J,lineNumber:615,columnNumber:7},this)}let m=f[0];async function h(e){if(!e)return;let n=await l(e);n&&t(n)}async function g(){let e=await u();e&&t(e)}return m?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`group relative inline-block`,children:[(0,R.jsxDEV)(`img`,{src:mr(m.name),alt:``,className:`h-40 w-40 rounded-full border border-border object-cover`},void 0,!1,{fileName:J,lineNumber:660,columnNumber:11},this),(0,R.jsxDEV)(vy,{accept:n,busy:o,onPick:h,title:i(`actions.replace`),className:`absolute right-9 top-1`},void 0,!1,{fileName:J,lineNumber:665,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`icon`,disabled:o,className:`absolute right-1 top-1 h-8 w-8 rounded-full bg-bg/70 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/70 hover:text-danger group-hover:opacity-100`,onClick:async()=>{await ay(i)&&t(``)},title:i(`actions.delete`),children:(0,R.jsxDEV)(ye,{size:15},void 0,!1,{fileName:J,lineNumber:677,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:666,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:659,columnNumber:9},this),s&&(0,R.jsxDEV)(tt,{error:s,onRetry:()=>void g(),canRetry:d},void 0,!1,{fileName:J,lineNumber:680,columnNumber:19},this)]},void 0,!0,{fileName:J,lineNumber:658,columnNumber:7},this):(0,R.jsxDEV)(gy,{accept:n,busy:o,error:s,progress:c,onPick:h,onRetry:()=>void g(),canRetry:d,className:`h-40 w-40`,round:!0},void 0,!1,{fileName:J,lineNumber:684,columnNumber:10},this)}function Sy({value:e,onChange:t,accept:n=`image/*`,multiple:r=!1}){let{t:i}=a(),{busy:o,error:s,progress:c,upload:l,retry:u,canRetry:d}=iy(),[f,p]=(0,L.useState)(0),m=ly(e),h=e=>t(e.length?e:``);async function g(e){if(!e)return;let t=await l(e);t&&h(r?[...m,t]:[t])}async function _(){let e=await u();e&&h(r?[...m,e]:[e])}if(!m.length)return(0,R.jsxDEV)(_y,{accept:n,busy:o,error:s,progress:c,onPick:g,onRetry:()=>void _(),canRetry:d,className:`w-full`},void 0,!1,{fileName:J,lineNumber:720,columnNumber:12},this);let v=r?m.length+1:m.length,y=v>1,b=Math.min(f,v-1),x=r&&b===m.length;return(0,R.jsxDEV)(`div`,{className:`group/cov relative w-full overflow-hidden rounded-xl border border-border`,children:[x?(0,R.jsxDEV)(`div`,{className:`flex aspect-video max-h-96 w-full flex-col items-center justify-center gap-1 bg-elevated px-20`,children:[(0,R.jsxDEV)(`label`,{className:`flex w-full flex-1 cursor-pointer flex-col items-center justify-center gap-3 text-muted transition-colors hover:text-accent ${o?`pointer-events-none opacity-60`:``}`,children:[o?(0,R.jsxDEV)(Dt,{size:40,className:`animate-spin`},void 0,!1,{fileName:J,lineNumber:743,columnNumber:21},this):(0,R.jsxDEV)(Ot,{size:40},void 0,!1,{fileName:J,lineNumber:743,columnNumber:70},this),(0,R.jsxDEV)(`span`,{className:`text-base font-medium`,children:i(`actions.upload`)},void 0,!1,{fileName:J,lineNumber:744,columnNumber:13},this),(0,R.jsxDEV)(`input`,{type:`file`,accept:n,className:`hidden`,disabled:o,onChange:e=>g(e.target.files?.[0]??null)},void 0,!1,{fileName:J,lineNumber:745,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:738,columnNumber:11},this),s&&(0,R.jsxDEV)(tt,{error:s,onRetry:()=>void _(),canRetry:d},void 0,!1,{fileName:J,lineNumber:753,columnNumber:21},this)]},void 0,!0,{fileName:J,lineNumber:737,columnNumber:9},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`img`,{src:mr(m[b].name),alt:``,className:`aspect-video max-h-96 w-full object-cover`},void 0,!1,{fileName:J,lineNumber:757,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 absolute right-1 top-1 rounded-full bg-bg/80 text-muted opacity-0 backdrop-blur-sm transition-all hover:bg-bg/80 hover:text-danger group-hover/cov:opacity-100`,onClick:async()=>{await ay(i)&&h(m.filter((e,t)=>t!==b))},title:i(`actions.delete`),children:(0,R.jsxDEV)(ye,{size:13},void 0,!1,{fileName:J,lineNumber:767,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:758,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:756,columnNumber:9},this),y&&(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`button`,{type:`button`,className:`absolute left-2 top-1/2 z-10 flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white backdrop-blur-sm transition-colors hover:bg-black/70`,onClick:()=>p((b-1+v)%v),children:(0,R.jsxDEV)(_s,{size:22},void 0,!1,{fileName:J,lineNumber:778,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:773,columnNumber:11},this),(0,R.jsxDEV)(`button`,{type:`button`,className:`absolute right-2 top-1/2 z-10 flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white backdrop-blur-sm transition-colors hover:bg-black/70`,onClick:()=>p((b+1)%v),children:(0,R.jsxDEV)(vs,{size:22},void 0,!1,{fileName:J,lineNumber:785,columnNumber:13},this)},void 0,!1,{fileName:J,lineNumber:780,columnNumber:11},this),!x&&(0,R.jsxDEV)(`div`,{className:`absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-black/50 px-2 py-0.5 text-xs text-white tabular-nums`,children:[b+1,` / `,m.length]},void 0,!0,{fileName:J,lineNumber:788,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:772,columnNumber:9},this)]},void 0,!0,{fileName:J,lineNumber:735,columnNumber:5},this)}function Cy({value:e,height:t}){let n=ly(e)[0];if(!n)return(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:J,lineNumber:802,columnNumber:20},this);let r=t??32;return sy(n.name)?(0,R.jsxDEV)(`video`,{src:mr(n.name),muted:!0,playsInline:!0,preload:`metadata`,style:{height:r},className:`object-contain rounded`},void 0,!1,{fileName:J,lineNumber:806,columnNumber:7},this):(0,R.jsxDEV)(`img`,{src:mr(n.name),alt:``,style:{height:r},className:`object-contain rounded`},void 0,!1,{fileName:J,lineNumber:815,columnNumber:10},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/file.tsx`;function wy(e){return We({title:e(`actions.confirmDelete`),confirmLabel:e(`actions.delete`),variant:`destructive`})}function Ty(e){return e==null?null:e>=1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${Math.round(e/1024)} KB`}var Ey=/\.(txt|md|markdown|csv|json|xml|log|yaml|yml|ini|toml|js|jsx|ts|tsx|css|html)$/i;function Dy(e){let t=e.mime?.toLowerCase().split(`;`,1)[0];return t===`application/pdf`||/\.pdf$/i.test(e.name)?`pdf`:t?.startsWith(`text/`)||t===`application/json`||t===`application/xml`||Ey.test(e.name)?`text`:null}var Oy=1e6;function ky({rec:e,kind:t,onClose:n}){let{t:r}=a(),[i,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(!1);return(0,L.useEffect)(()=>{if(t!==`text`)return;let n=new AbortController;return o(null),c(!1),fetch(mr(e.name),{signal:n.signal}).then(e=>{if(!e.ok)throw Error(`preview_${e.status}`);return e.text()}).then(e=>o(e.length>Oy?`${e.slice(0,Oy)}\n\n${r(`files.previewTruncated`)}`:e)).catch(e=>{e?.name!==`AbortError`&&c(!0)}),()=>n.abort()},[t,e.name,r]),(0,R.jsxDEV)(Cr,{open:!0,onOpenChange:e=>!e&&n(),children:(0,R.jsxDEV)(xr,{className:`h-[88dvh] max-w-5xl overflow-hidden md:h-[85dvh]`,children:[(0,R.jsxDEV)(br,{children:(0,R.jsxDEV)(yr,{className:`truncate pr-8`,children:e.name},void 0,!1,{fileName:Y,lineNumber:76,columnNumber:11},this)},void 0,!1,{fileName:Y,lineNumber:75,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`min-h-0 flex-1 px-5 pb-5`,children:t===`pdf`?(0,R.jsxDEV)(`iframe`,{title:e.name,src:mr(e.name),className:`h-full w-full rounded-lg border border-border bg-white`},void 0,!1,{fileName:Y,lineNumber:80,columnNumber:13},this):s?(0,R.jsxDEV)(`div`,{className:`flex h-full items-center justify-center text-sm text-danger`,children:r(`files.previewFailed`)},void 0,!1,{fileName:Y,lineNumber:82,columnNumber:13},this):i===null?(0,R.jsxDEV)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted`,children:r(`files.loadingPreview`)},void 0,!1,{fileName:Y,lineNumber:84,columnNumber:13},this):(0,R.jsxDEV)(`pre`,{className:`h-full overflow-auto whitespace-pre-wrap break-words rounded-lg border border-border bg-bg p-4 font-mono text-xs leading-relaxed`,children:i},void 0,!1,{fileName:Y,lineNumber:86,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:74,columnNumber:7},this)},void 0,!1,{fileName:Y,lineNumber:73,columnNumber:5},this)}function Ay({rec:e}){let{t}=a(),n=Dy(e),[r,i]=(0,L.useState)(!1);return n?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,className:`text-muted hover:text-accent`,title:t(`files.preview`),"aria-label":t(`files.preview`),onClick:()=>i(!0),children:(0,R.jsxDEV)(ws,{size:15},void 0,!1,{fileName:Y,lineNumber:110,columnNumber:9},this)},void 0,!1,{fileName:Y,lineNumber:101,columnNumber:7},this),r&&(0,R.jsxDEV)(ky,{rec:e,kind:n,onClose:()=>i(!1)},void 0,!1,{fileName:Y,lineNumber:112,columnNumber:16},this)]},void 0,!0,{fileName:Y,lineNumber:100,columnNumber:5},this):null}function jy({rec:e}){return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(wt,{size:16,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:122,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:e.name},void 0,!1,{fileName:Y,lineNumber:123,columnNumber:7},this),Ty(e.size)&&(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:Ty(e.size)},void 0,!1,{fileName:Y,lineNumber:124,columnNumber:35},this)]},void 0,!0,{fileName:Y,lineNumber:121,columnNumber:5},this)}function My({kind:e,rec:t,className:n}){return e===`audio`?(0,R.jsxDEV)(`audio`,{controls:!0,src:mr(t.name),className:n},void 0,!1,{fileName:Y,lineNumber:132,columnNumber:5},this):(0,R.jsxDEV)(`video`,{controls:!0,src:mr(t.name),className:n},void 0,!1,{fileName:Y,lineNumber:134,columnNumber:5},this)}var Ny={file:`*`,document:`.pdf,.doc,.docx,.xls,.xlsx,.txt,.csv`,audio:`audio/*`,video:`video/*`,image:`image/*`,media:`image/*,video/*`,avatar:`image/*`,cover:`image/*`,poster:`image/*`};function Py({kind:e,value:t,onChange:n}){let{t:r}=a(),{busy:i,error:o,progress:s,upload:c,retry:l,canRetry:u}=iy(),d=ly(t),f=e=>n(e.length?e:``);async function p(e){if(!e)return;let t=await c(e);t&&f([...d,t])}async function m(){let e=await l();e&&f([...d,e])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[d.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 rounded-lg border border-border px-2 py-1.5`,children:[(0,R.jsxDEV)(jy,{rec:e},void 0,!1,{fileName:Y,lineNumber:175,columnNumber:11},this),(0,R.jsxDEV)(Ay,{rec:e},void 0,!1,{fileName:Y,lineNumber:176,columnNumber:11},this),(0,R.jsxDEV)(`a`,{href:mr(e.name),download:!0,className:`text-muted hover:text-accent`,title:r(`files.download`),"aria-label":r(`files.download`),children:(0,R.jsxDEV)(xs,{size:15},void 0,!1,{fileName:Y,lineNumber:178,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:177,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:i,className:`text-muted hover:text-danger`,onClick:async()=>{await wy(r)&&f(d.filter((e,n)=>n!==t))},children:(0,R.jsxDEV)(ye,{size:13},void 0,!1,{fileName:Y,lineNumber:190,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:180,columnNumber:11},this)]},`${e.name}-${t}`,!0,{fileName:Y,lineNumber:174,columnNumber:9},this)),(0,R.jsxDEV)(ct,{accept:Ny[e]??`*`,busy:i,error:o,progress:s,onPick:p,onRetry:()=>void m(),canRetry:u},void 0,!1,{fileName:Y,lineNumber:194,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:172,columnNumber:5},this)}function Fy({kind:e,value:t,onChange:n}){let{t:r}=a(),{busy:i,error:o,progress:s,upload:c,retry:l,canRetry:u}=iy(),d=ly(t),f=e=>n(e.length?e:``);async function p(e){if(!e)return;let t=await c(e);t&&f([...d,t])}async function m(){let e=await l();e&&f([...d,e])}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[d.map((t,n)=>(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(My,{kind:e,rec:t,className:e===`audio`?`min-w-0 flex-1`:`min-w-0 flex-1 max-h-72 rounded-lg`},void 0,!1,{fileName:Y,lineNumber:223,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,disabled:i,className:`shrink-0 text-muted hover:text-danger`,onClick:async()=>{await wy(r)&&f(d.filter((e,t)=>t!==n))},children:(0,R.jsxDEV)(ye,{size:13},void 0,!1,{fileName:Y,lineNumber:234,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:224,columnNumber:11},this)]},`${t.name}-${n}`,!0,{fileName:Y,lineNumber:222,columnNumber:9},this)),(0,R.jsxDEV)(ct,{accept:Ny[e]??`*`,busy:i,error:o,progress:s,onPick:p,onRetry:()=>void m(),canRetry:u},void 0,!1,{fileName:Y,lineNumber:238,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:220,columnNumber:5},this)}function Iy(e,t,n,r){if(e===`avatar`)return(0,R.jsxDEV)(xy,{value:t,onChange:n,accept:Ny[e],multiple:r},void 0,!1,{fileName:Y,lineNumber:247,columnNumber:12},this);if(e===`cover`)return(0,R.jsxDEV)(Sy,{value:t,onChange:n,accept:Ny[e],multiple:r},void 0,!1,{fileName:Y,lineNumber:250,columnNumber:12},this);if(e===`image`||e===`media`||e===`poster`){let i=e===`poster`;return r?(0,R.jsxDEV)(by,{value:t,onChange:n,accept:Ny[e],poster:i},void 0,!1,{fileName:Y,lineNumber:255,columnNumber:7},this):(0,R.jsxDEV)(yy,{value:t,onChange:n,accept:Ny[e],poster:i},void 0,!1,{fileName:Y,lineNumber:257,columnNumber:7},this)}return e===`audio`||e===`video`?(0,R.jsxDEV)(Fy,{kind:e,value:t,onChange:n},void 0,!1,{fileName:Y,lineNumber:261,columnNumber:12},this):(0,R.jsxDEV)(Py,{kind:e,value:t,onChange:n},void 0,!1,{fileName:Y,lineNumber:263,columnNumber:10},this)}function Ly({kind:e,value:t}){let{t:n}=a(),r=ly(t);return r.length?e===`avatar`?(0,R.jsxDEV)(py,{value:t},void 0,!1,{fileName:Y,lineNumber:273,columnNumber:33},this):e===`cover`?(0,R.jsxDEV)(hy,{value:t},void 0,!1,{fileName:Y,lineNumber:274,columnNumber:32},this):e===`image`||e===`media`?(0,R.jsxDEV)(fy,{value:t},void 0,!1,{fileName:Y,lineNumber:275,columnNumber:52},this):e===`poster`?(0,R.jsxDEV)(fy,{value:t,poster:!0},void 0,!1,{fileName:Y,lineNumber:276,columnNumber:33},this):e===`audio`||e===`video`?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:r.map((t,n)=>(0,R.jsxDEV)(My,{kind:e,rec:t,className:e===`audio`?`w-full`:`max-h-72 rounded-lg`},`${t.name}-${n}`,!1,{fileName:Y,lineNumber:281,columnNumber:11},this))},void 0,!1,{fileName:Y,lineNumber:279,columnNumber:7},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:r.map((e,t)=>(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 rounded-lg border border-border px-2 py-1.5 hover:border-accent`,children:[(0,R.jsxDEV)(jy,{rec:e},void 0,!1,{fileName:Y,lineNumber:290,columnNumber:11},this),(0,R.jsxDEV)(Ay,{rec:e},void 0,!1,{fileName:Y,lineNumber:291,columnNumber:11},this),(0,R.jsxDEV)(`a`,{href:mr(e.name),download:!0,className:`text-muted hover:text-accent`,title:n(`files.download`),"aria-label":n(`files.download`),children:(0,R.jsxDEV)(xs,{size:15},void 0,!1,{fileName:Y,lineNumber:293,columnNumber:13},this)},void 0,!1,{fileName:Y,lineNumber:292,columnNumber:11},this)]},`${e.name}-${t}`,!0,{fileName:Y,lineNumber:289,columnNumber:9},this))},void 0,!1,{fileName:Y,lineNumber:287,columnNumber:5},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Y,lineNumber:272,columnNumber:28},this)}function Ry(e){let t=e.field.kind,n=e.value??``,r=e.field.hints.noEditControl===!0&&e.mode===`view`,i=e.field.hints.multiple===!0,a=r?(0,R.jsxDEV)(Ly,{kind:t,value:n},void 0,!1,{fileName:Y,lineNumber:311,columnNumber:5},this):Iy(t,n,t=>e.onChange?.(t),i);return e.bare?a:(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(Rt,{label:e.label,required:e.required},void 0,!1,{fileName:Y,lineNumber:319,columnNumber:33},this),a,(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:Y,lineNumber:321,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:318,columnNumber:5},this)}function zy(e){let t=ly(e.value)[0];if(!t)return(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`—`},void 0,!1,{fileName:Y,lineNumber:330,columnNumber:20},this);let n=e.field?.kind,r=n===`audio`?Os:n===`video`?Ts:wt,i=Ty(t.size);return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 text-sm`,children:[(0,R.jsxDEV)(r,{size:14,className:`text-muted shrink-0`},void 0,!1,{fileName:Y,lineNumber:336,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t.name},void 0,!1,{fileName:Y,lineNumber:337,columnNumber:7},this),i&&(0,R.jsxDEV)(`span`,{className:`shrink-0 text-xs text-muted`,children:i},void 0,!1,{fileName:Y,lineNumber:338,columnNumber:14},this)]},void 0,!0,{fileName:Y,lineNumber:335,columnNumber:5},this)}I({kinds:[`image`,`media`,`poster`],layout:Sn,box:`none`,Page:Ry,Inline:Cy}),I({kinds:[`file`,`document`,`audio`,`video`],layout:Sn,box:`none`,Page:Ry,Inline:zy}),I({kinds:[`avatar`],layout:`scalar`,box:`none`,Page:Ry,Inline:my}),I({kinds:[`cover`],layout:`block`,Page:Ry,Inline:Cy});var By=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/period.tsx`;function Vy(e){if(Array.isArray(e))return e;if(e&&typeof e==`object`&&Object.keys(e).length)return[e];if(typeof e==`string`&&e)try{let t=JSON.parse(e);if(Array.isArray(t))return t;if(t&&typeof t==`object`&&Object.keys(t).length)return[t]}catch{}return[]}function Hy(e,t){return e?t===`datetime`?e.replace(`T`,` `):e:`…`}function Uy(e,t){return`${Hy(e.from,t)}–${Hy(e.until,t)}`}function Wy({field:e,value:t,onChange:n}){let{t:r}=a();return(0,R.jsxDEV)(Vv,{value:t,onChange:n,field:e,t:r},void 0,!1,{fileName:By,lineNumber:66,columnNumber:10},this)}function Gy({field:e,value:t}){let n=e.hints.granularity??`day`;return(0,R.jsxDEV)(bt,{items:Vy(t),content:e=>(0,R.jsxDEV)(`span`,{className:`font-mono`,children:Uy(e,n)},void 0,!1,{fileName:By,lineNumber:75,columnNumber:23},this)},void 0,!1,{fileName:By,lineNumber:73,columnNumber:5},this)}function Ky(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,bare:e.bare,view:t=>(0,R.jsxDEV)(Gy,{field:e.field,value:t},void 0,!1,{fileName:By,lineNumber:92,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(Wy,{name:`field-${e.field.label}`,field:e.field,value:t,onChange:n},void 0,!1,{fileName:By,lineNumber:94,columnNumber:9},this)},void 0,!1,{fileName:By,lineNumber:82,columnNumber:5},this)}function qy({value:e,field:t}){let n=t.hints.granularity??`day`,r=Vy(e);return(0,R.jsxDEV)(`span`,{className:`truncate`,children:r.length?r.map(e=>Uy(e,n)).join(`, `):`—`},void 0,!1,{fileName:By,lineNumber:109,columnNumber:5},this)}I({kinds:[`period`],Page:Ky,Inline:qy});var Jy=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group-edit.tsx`;function Yy(e,t,n){let r=Mn(t,n);return e===`view`?r.editing?{mode:`edit`,value:r.draft,onChange:r.setDraft,actions:(0,R.jsxDEV)(Mt,{size:`xs`,busy:r.busy,onSave:()=>r.commit(),onCancel:r.cancel},void 0,!1,{fileName:Jy,lineNumber:56,columnNumber:14},this)}:{mode:`view`,value:t,onChange:e=>n(e),actions:(0,R.jsxDEV)(Bt,{scope:`group`,onEdit:r.beginEdit},void 0,!1,{fileName:Jy,lineNumber:49,columnNumber:16},this)}:{mode:e,value:t,onChange:e=>n(e),actions:null}}var X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group.tsx`,Xy=e=>bn(e)===`block`;function Zy({onRemove:e}){let{t}=a();return(0,R.jsxDEV)(`div`,{className:`flex shrink-0 flex-col`,children:[(0,R.jsxDEV)(`div`,{className:`min-h-8 mb-1.5`,"aria-hidden":!0},void 0,!1,{fileName:X,lineNumber:47,columnNumber:7},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`iconSm`,onClick:e,title:t(`actions.delete`),"aria-hidden":!e||void 0,tabIndex:e?void 0:-1,className:`rounded-lg text-muted hover:border-danger hover:text-danger${e?``:` invisible`}`,children:(0,R.jsxDEV)(ye,{size:14},void 0,!1,{fileName:X,lineNumber:58,columnNumber:9},this)},void 0,!1,{fileName:X,lineNumber:48,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:46,columnNumber:5},this)}function Qy({group:e,value:t,onChange:n,recordCtx:r}){let{t:i}=a(),o=ke(),s=Array.isArray(t)?t:[],c=e.unique??[];function l(e,t,r){n(s.map((n,i)=>i===e?{...n,[t]:r}:n))}function u(t,n,a){if(t.type.virtual&&t.type.prim===`lookup`){let r={key:t.key,...t.type},a=Object.fromEntries(Object.entries(n).map(([e,t])=>[e,String(t??``)])),o=e.fields.filter(e=>qt(e)).map(e=>({key:e.key,...e.type}));return(0,R.jsxDEV)(`div`,{className:`flex flex-col min-w-0`,children:[t.type.label?(0,R.jsxDEV)(Rt,{label:i(t.type.label)},void 0,!1,{fileName:X,lineNumber:95,columnNumber:29},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Tv,{lookupField:r,row:a,subs:o},void 0,!1,{fileName:X,lineNumber:97,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:96,columnNumber:11},this)]},t.key,!0,{fileName:X,lineNumber:94,columnNumber:9},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:(0,R.jsxDEV)(gr,{field:t.type,value:n[t.key]??``,excludeValues:xt(s,c,t.key,a),onChange:e=>l(a,t.key,e),label:t.type.label?i(t.type.label):void 0,mode:`edit`,recordCtx:r,error:e.key?o([e.key,a,t.key]):void 0},void 0,!1,{fileName:X,lineNumber:107,columnNumber:9},this)},t.key,!1,{fileName:X,lineNumber:106,columnNumber:7},this)}function d(t,i){return(0,R.jsxDEV)(Ht,{children:(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(jn,{scroll:e.display===`scroll`,items:e.fields.flatMap((e,n)=>Zt(e)?[{key:`brk-${i}-${n}`,break:!0,node:null}]:Jt(e)?e.key==null&&e.display===`scroll`?[{key:e.label??`flow`,full:!0,node:(0,R.jsxDEV)(jn,{scroll:!0,items:e.fields.flatMap(e=>qt(e)?[{key:e.key,node:u(e,t,i)}]:[])},void 0,!1,{fileName:X,lineNumber:140,columnNumber:27},this)}]:[{key:e.key??e.label??`g`,full:e.kind!==`per-weekday`,node:(0,R.jsxDEV)(lb,{group:e,value:t[e.key],onChange:t=>l(i,e.key,t),recordCtx:r,mode:`edit`},void 0,!1,{fileName:X,lineNumber:155,columnNumber:25},this)}]:qt(e)?[{key:e.key,full:Xy(e.type),node:u(e,t,i)}]:[])},void 0,!1,{fileName:X,lineNumber:126,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:125,columnNumber:11},this),(0,R.jsxDEV)(Zy,{onRemove:()=>n(s.filter((e,t)=>t!==i))},void 0,!1,{fileName:X,lineNumber:171,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:124,columnNumber:9},this)},i,!1,{fileName:X,lineNumber:123,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col ${jt}`,children:[s.map(d),(0,R.jsxDEV)(gt,{onClick:()=>n([...s,{}]),children:i(`form.addRow`)},void 0,!1,{fileName:X,lineNumber:180,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:178,columnNumber:5},this)}function $y({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Pt(),c=Yy(i,t,e=>n(e));return c.mode===`view`?(0,R.jsxDEV)(rb,{group:e,value:c.value,onChange:e=>c.onChange(e),recordCtx:r,actions:c.actions},void 0,!1,{fileName:X,lineNumber:211,columnNumber:7},this):(0,R.jsxDEV)(`fieldset`,{className:`${It(s)} flex flex-col min-w-0 ${jt}`,children:[(0,R.jsxDEV)(At,{as:`legend`,label:o(e.label),icon:zt(e),actions:c.actions},void 0,!1,{fileName:X,lineNumber:222,columnNumber:7},this),(0,R.jsxDEV)(Qy,{group:e,value:c.value,onChange:e=>c.onChange(e),recordCtx:r},void 0,!1,{fileName:X,lineNumber:223,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:221,columnNumber:5},this)}var eb=e=>`${It(e)} flex flex-col min-w-0 ${jt}`,tb=new Set([`boolean`,`rating`]);function nb({sub:e,row:t,group:n,recordCtx:r,onChange:i}){let{t:o}=a();if(e.type.virtual&&e.type.prim===`lookup`){let r={key:e.key,...e.type},i=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,String(t??``)])),a=n.fields.filter(e=>qt(e)).map(e=>({key:e.key,...e.type}));return(0,R.jsxDEV)(`div`,{className:`flex flex-col min-w-0`,children:[e.type.label?(0,R.jsxDEV)(Rt,{label:o(e.type.label)},void 0,!1,{fileName:X,lineNumber:271,columnNumber:27},this):null,(0,R.jsxDEV)(`div`,{children:(0,R.jsxDEV)(Tv,{lookupField:r,row:i,subs:a},void 0,!1,{fileName:X,lineNumber:273,columnNumber:11},this)},void 0,!1,{fileName:X,lineNumber:272,columnNumber:9},this)]},void 0,!0,{fileName:X,lineNumber:270,columnNumber:7},this)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:[e.type.label?(0,R.jsxDEV)(Rt,{label:o(e.type.label)},void 0,!1,{fileName:X,lineNumber:280,columnNumber:25},this):null,(0,R.jsxDEV)(gr,{field:e.type,value:t[e.key]??``,mode:`view`,bare:!0,recordCtx:r,onChange:i},void 0,!1,{fileName:X,lineNumber:281,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:279,columnNumber:5},this)}function rb({group:e,value:t,onChange:n,recordCtx:r,actions:i}){let{t:o}=a(),s=Pt(),c=Array.isArray(t)?t:[];function l(e,t,r){n(c.map((n,i)=>i===e?{...n,[t]:r}:n))}return(0,R.jsxDEV)(`fieldset`,{className:eb(s),children:[(0,R.jsxDEV)(At,{as:`legend`,label:o(e.label),icon:zt(e),actions:i},void 0,!1,{fileName:X,lineNumber:322,columnNumber:7},this),(0,R.jsxDEV)(Vt,{depth:s+1,children:(0,R.jsxDEV)(`div`,{className:`flex flex-col ${jt}`,children:c.map((t,n)=>(0,R.jsxDEV)(Ht,{children:(0,R.jsxDEV)(jn,{scroll:e.display===`scroll`,items:e.fields.flatMap((i,a)=>Zt(i)?[{key:`brk-${n}-${a}`,break:!0,node:null}]:Jt(i)?i.key==null&&i.display===`scroll`?[{key:i.label??`flow`,full:!0,node:(0,R.jsxDEV)(jn,{scroll:!0,items:i.fields.flatMap(i=>qt(i)?[{key:i.key,node:(0,R.jsxDEV)(nb,{sub:i,row:t,group:e,recordCtx:r,onChange:tb.has(i.type.kind)?e=>l(n,i.key,e):void 0},void 0,!1,{fileName:X,lineNumber:349,columnNumber:43},this)}]:[])},void 0,!1,{fileName:X,lineNumber:341,columnNumber:29},this)}]:[{key:i.key??i.label??`g`,full:i.kind!==`per-weekday`,node:(0,R.jsxDEV)(lb,{group:i,value:t[i.key],onChange:e=>l(n,i.key,e),recordCtx:r,mode:`view`},void 0,!1,{fileName:X,lineNumber:375,columnNumber:27},this)}]:qt(i)?[{key:i.key,full:Xy(i.type),node:(0,R.jsxDEV)(nb,{sub:i,row:t,group:e,recordCtx:r,onChange:tb.has(i.type.kind)?e=>l(n,i.key,e):void 0},void 0,!1,{fileName:X,lineNumber:392,columnNumber:25},this)}]:[])},void 0,!1,{fileName:X,lineNumber:327,columnNumber:15},this)},n,!1,{fileName:X,lineNumber:326,columnNumber:13},this))},void 0,!1,{fileName:X,lineNumber:324,columnNumber:9},this)},void 0,!1,{fileName:X,lineNumber:323,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:321,columnNumber:5},this)}var ib=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/table-group.tsx`;function ab({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=ke(),c=Pt(),l=e.fields.filter(e=>qt(e)||Jt(e)&&!!e.kind),u=e=>e.key,d=e=>qt(e)?e.type.label:e.label,f=e=>qt(e)?{field:e.type}:{field:e,el:e},p=e=>qt(e)&&e.type.prim===`text`,m=e.unique??[],h=Yy(i,t,e=>n(e)),g=h.mode!==`view`,_=Array.isArray(h.value)?h.value:[],v=e=>h.onChange(e),y=(e,t,n)=>v(_.map((r,i)=>i===e?{...r,[t]:n}:r)),b=(0,R.jsxDEV)(`div`,{className:`overflow-x-auto`,children:[(0,R.jsxDEV)(`table`,{className:`w-full border-collapse text-sm`,children:[(0,R.jsxDEV)(`thead`,{children:(0,R.jsxDEV)(`tr`,{children:[l.map(e=>(0,R.jsxDEV)(`th`,{className:`text-left text-[11px] font-semibold text-muted uppercase px-2 py-1 ${p(e)?`w-full`:`whitespace-nowrap`}`,children:d(e)?o(d(e)):``},u(e),!1,{fileName:ib,lineNumber:68,columnNumber:11},this)),g&&(0,R.jsxDEV)(`th`,{className:`w-9`,"aria-hidden":!0},void 0,!1,{fileName:ib,lineNumber:75,columnNumber:20},this)]},void 0,!0,{fileName:ib,lineNumber:66,columnNumber:7},this)},void 0,!1,{fileName:ib,lineNumber:65,columnNumber:5},this),(0,R.jsxDEV)(`tbody`,{children:_.map((t,n)=>(0,R.jsxDEV)(`tr`,{className:`align-top`,children:[l.map(i=>(0,R.jsxDEV)(`td`,{className:`px-2 py-1 min-w-0`,children:(0,R.jsxDEV)(gr,{...f(i),value:t[u(i)]??(qt(i)?``:null),excludeValues:xt(_,m,u(i),n),onChange:e=>y(n,u(i),e),mode:g?`edit`:`view`,bare:!0,recordCtx:r,error:e.key?s([e.key,n,u(i)]):void 0},void 0,!1,{fileName:ib,lineNumber:86,columnNumber:15},this)},u(i),!1,{fileName:ib,lineNumber:85,columnNumber:13},this)),g&&(0,R.jsxDEV)(`td`,{className:`px-1 py-1 w-9`,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,size:`iconSm`,onClick:()=>v(_.filter((e,t)=>t!==n)),title:o(`actions.delete`),className:`rounded-lg text-muted hover:border-danger hover:text-danger`,children:(0,R.jsxDEV)(ye,{size:14},void 0,!1,{fileName:ib,lineNumber:108,columnNumber:17},this)},void 0,!1,{fileName:ib,lineNumber:100,columnNumber:15},this)},void 0,!1,{fileName:ib,lineNumber:99,columnNumber:13},this)]},n,!0,{fileName:ib,lineNumber:83,columnNumber:9},this))},void 0,!1,{fileName:ib,lineNumber:81,columnNumber:5},this)]},void 0,!0,{fileName:ib,lineNumber:119,columnNumber:7},this),g&&(0,R.jsxDEV)(gt,{onClick:()=>v([..._,{}]),children:o(`form.addRow`)},void 0,!1,{fileName:ib,lineNumber:123,columnNumber:18},this)]},void 0,!0,{fileName:ib,lineNumber:118,columnNumber:5},this);return i===`view`?(0,R.jsxDEV)(`section`,{className:`${It(c)} flex flex-col gap-1 min-w-0`,children:[(0,R.jsxDEV)(At,{as:`h3`,label:o(e.label),icon:zt(e),actions:h.actions},void 0,!1,{fileName:ib,lineNumber:134,columnNumber:7},this),(0,R.jsxDEV)(Vt,{depth:c+1,children:b},void 0,!1,{fileName:ib,lineNumber:135,columnNumber:7},this)]},void 0,!0,{fileName:ib,lineNumber:133,columnNumber:5},this):b}var ob=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/fixed-collection.tsx`;function sb({group:e,value:t,onChange:n,recordCtx:r,mode:i=`edit`}){let{t:o}=a(),s=Pt(),c=Yy(i,t,e=>n(e)),l=c.mode!==`view`,u=e.fields[0],d=e.fields.slice(1).filter(e=>qt(e)),f=u.type.options?.length?u.type.options:Ae(u.type.hints.source??``),p=Array.isArray(c.value)?c.value:[],m=f.map(e=>p.find(t=>String(t[u.key]??``)===String(e.value))??{[u.key]:e.value});function h(e){c.onChange(e.filter(e=>d.some(t=>e[t.key]!=null&&e[t.key]!==``)))}function g(e,t,n){h(m.map((r,i)=>i===e?{...r,[t]:n}:r))}return(0,R.jsxDEV)(`fieldset`,{className:`${It(s)} flex flex-col min-w-0 ${jt}`,children:[(0,R.jsxDEV)(At,{as:`legend`,label:o(e.label),icon:zt(e),actions:c.actions},void 0,!1,{fileName:ob,lineNumber:68,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col ${jt}`,children:m.map((e,t)=>(0,R.jsxDEV)(Ht,{children:(0,R.jsxDEV)(`div`,{className:`flex items-start gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0 shrink-0`,children:[u.type.label?(0,R.jsxDEV)(Rt,{label:o(u.type.label)},void 0,!1,{fileName:ob,lineNumber:74,columnNumber:34},this):null,(0,R.jsxDEV)(`span`,{className:`text-sm px-1 py-1.5`,children:Eu(o,{options:f},String(e[u.key]??``))},void 0,!1,{fileName:ob,lineNumber:75,columnNumber:17},this)]},void 0,!0,{fileName:ob,lineNumber:73,columnNumber:15},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(jn,{items:d.map(n=>({key:n.key,full:Xy(n.type),node:l?(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:(0,R.jsxDEV)(gr,{field:n.type,value:e[n.key]??``,onChange:e=>g(t,n.key,e),label:n.type.label?o(n.type.label):void 0,mode:`edit`,recordCtx:r},void 0,!1,{fileName:ob,lineNumber:87,columnNumber:27},this)},void 0,!1,{fileName:ob,lineNumber:86,columnNumber:25},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-0.5 min-w-0`,children:[n.type.label?(0,R.jsxDEV)(Rt,{label:o(n.type.label)},void 0,!1,{fileName:ob,lineNumber:102,columnNumber:45},this):null,(0,R.jsxDEV)(gr,{field:n.type,value:e[n.key]??``,mode:`view`,bare:!0,recordCtx:r},void 0,!1,{fileName:ob,lineNumber:103,columnNumber:27},this)]},void 0,!0,{fileName:ob,lineNumber:101,columnNumber:25},this)}))},void 0,!1,{fileName:ob,lineNumber:80,columnNumber:17},this)},void 0,!1,{fileName:ob,lineNumber:79,columnNumber:15},this)]},void 0,!0,{fileName:ob,lineNumber:72,columnNumber:13},this)},String(e[u.key]),!1,{fileName:ob,lineNumber:71,columnNumber:11},this))},void 0,!1,{fileName:ob,lineNumber:69,columnNumber:7},this)]},void 0,!0,{fileName:ob,lineNumber:67,columnNumber:5},this)}var cb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group-field.tsx`;function lb({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=ke();if(Kt(e)&&e.fixed)return(0,R.jsxDEV)(sb,{group:e,value:t,onChange:e=>n(e),recordCtx:r,mode:i},void 0,!1,{fileName:cb,lineNumber:40,columnNumber:7},this);if(Kt(e)&&e.display===`table`)return(0,R.jsxDEV)(ab,{group:e,value:t,onChange:e=>n(e),recordCtx:r,mode:i},void 0,!1,{fileName:cb,lineNumber:52,columnNumber:7},this);if(Kt(e))return(0,R.jsxDEV)($y,{group:e,value:t,onChange:e=>n(e),recordCtx:r,mode:i},void 0,!1,{fileName:cb,lineNumber:65,columnNumber:7},this);if($t(e)){let a=t??{},c=(e,t)=>n({...a,[e]:t}),l=e.fields.filter(e=>qt(e));return(0,R.jsxDEV)(`fieldset`,{className:`flex flex-col min-w-0 ${jt}`,children:[(0,R.jsxDEV)(At,{as:`legend`,label:o(e.label),icon:zt(e)},void 0,!1,{fileName:cb,lineNumber:78,columnNumber:9},this),(0,R.jsxDEV)(Ht,{children:(0,R.jsxDEV)(jn,{items:l.map(t=>({key:t.key,full:Xy(t.type),node:(0,R.jsxDEV)(gr,{field:t.type,value:a[t.key]??``,onChange:e=>c(t.key,e),label:t.type.label?o(t.type.label):void 0,mode:i,recordCtx:r,error:e.key?s([e.key,t.key]):void 0},void 0,!1,{fileName:cb,lineNumber:87,columnNumber:17},this)}))},void 0,!1,{fileName:cb,lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:cb,lineNumber:81,columnNumber:9},this)]},void 0,!0,{fileName:cb,lineNumber:77,columnNumber:7},this)}return null}var ub=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/storage-group.tsx`;function db({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(lb,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i===`view`?`view`:`edit`},void 0,!1,{fileName:ub,lineNumber:14,columnNumber:5},this)}function fb({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(lb,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i===`view`?`view`:`edit`},void 0,!1,{fileName:ub,lineNumber:26,columnNumber:5},this)}I({kinds:[`collection`],layout:`block`,Page:db}),I({kinds:[`embedded`],layout:`block`,Page:fb});var pb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/weekday-grid.tsx`,mb=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`];function hb({group:e,value:t,onChange:n,mode:r}){let{t:i}=a(),o=i(`weekdaysShort`,{returnObjects:!0}),s=Array.isArray(t)?t:[],c=new Map(s.map(e=>[e.day,Number(e.value)])),l=r!==`view`,u=e.fields.slice(1).find(e=>qt(e)),d=u?.type.hints.min,f=u?.type.hints.max,p=u?.type.hints.step;function m(e,t){n(mb.flatMap(n=>{let r=n===e?t:c.get(n)??0;return r>0?[{day:n,value:r}]:[]}))}return!l&&!s.some(e=>Number(e.value)>0)?(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:pb,lineNumber:50,columnNumber:66},this):(0,R.jsxDEV)(`div`,{className:`flex ${Lt}`,children:(0,R.jsxDEV)(`div`,{className:`grid grid-cols-7 gap-1 w-full max-w-64`,children:mb.map((e,t)=>{let n=c.get(e)??0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col items-center gap-1 min-w-0`,children:[(0,R.jsxDEV)(`span`,{className:`text-[10px] text-muted`,children:o[t]},void 0,!1,{fileName:pb,lineNumber:61,columnNumber:15},this),l?(0,R.jsxDEV)(E,{type:`number`,className:`w-full text-center px-1 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`,min:d,max:f,step:p??`any`,value:c.get(e)||``,onChange:t=>m(e,Number(t.target.value)||0)},void 0,!1,{fileName:pb,lineNumber:63,columnNumber:17},this):(0,R.jsxDEV)(`div`,{className:`h-9 w-full rounded-lg flex items-center justify-center text-sm font-semibold border ${n?`bg-accent/20 text-accent border-accent/30`:`bg-bg text-muted/30 border-border`}`,children:n||`·`},void 0,!1,{fileName:pb,lineNumber:73,columnNumber:17},this)]},e,!0,{fileName:pb,lineNumber:60,columnNumber:13},this)})},void 0,!1,{fileName:pb,lineNumber:56,columnNumber:7},this)},void 0,!1,{fileName:pb,lineNumber:55,columnNumber:5},this)}var gb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/url-widget.tsx`;function _b({value:e,onChange:t,mode:n}){let r=e??null;if(n===`view`){let e=vn(r);return e?(0,R.jsxDEV)(`a`,{href:nn(r),target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-accent hover:underline text-sm break-all`,children:[e,` `,(0,R.jsxDEV)(Ss,{size:12},void 0,!1,{fileName:gb,lineNumber:34,columnNumber:16},this)]},void 0,!0,{fileName:gb,lineNumber:28,columnNumber:7},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:gb,lineNumber:26,columnNumber:23},this)}return(0,R.jsxDEV)(E,{type:`text`,inputMode:`url`,value:vn(r),onChange:e=>t(_n(e.target.value))},void 0,!1,{fileName:gb,lineNumber:41,columnNumber:5},this)}var vb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/checklist-group.tsx`;function yb({group:e,value:t,onChange:n,recordCtx:r,mode:i}){let{t:o}=a(),s=Pt(),{saving:c}=Q_(),l=e.fields.filter(e=>qt(e)&&/^check\d+$/.test(e.key)),u=e.fields.filter(e=>qt(e)&&!/^check\d+$/.test(e.key)),d=u.map(e=>({key:e.key,type:e.type})),f=u.find(e=>e.key===`text`),p=l.map(e=>e.type.label??``),m=(0,L.useRef)(new WeakMap),h=(0,L.useRef)(0),g=Yy(i,t,e=>n(e)),_=Array.isArray(g.value)?g.value:[],v=g.mode!==`view`,y=e=>{let t=m.current.get(e);return t===void 0&&(t=++h.current,m.current.set(e,t)),t},b=e=>({text:f?String(e[f.key]??``):``,checks:l.map(t=>e[t.key]===!0)}),x=(e,t)=>{let n={...t};return l.forEach((t,r)=>{n[t.key]=e.checks[r]===!0}),f&&(n[f.key]=e.text),n},S=(e,t)=>{let n=_[e];n&&m.current.set(t,y(n)),g.onChange(_.map((n,r)=>r===e?t:n))},C=(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(`ul`,{className:`flex flex-col gap-1.5`,children:_.map((e,t)=>{let n=b(e);return(0,R.jsxDEV)(`li`,{children:(0,R.jsxDEV)(Av,{row:n,slotCount:p.length,editing:v,disabled:!v&&c,onToggle:r=>S(t,x({...n,checks:n.checks.map((e,t)=>t===r?!e:e)},e)),onChange:n=>S(t,x(n,e)),onRemove:v?()=>g.onChange(_.filter((e,n)=>n!==t)):void 0,content:(0,R.jsxDEV)(Nv,{fields:d,row:e,editing:v,onChange:(n,r)=>S(t,{...e,[n]:r}),recordCtx:r},void 0,!1,{fileName:vb,lineNumber:92,columnNumber:19},this)},void 0,!1,{fileName:vb,lineNumber:81,columnNumber:15},this)},y(e),!1,{fileName:vb,lineNumber:80,columnNumber:13},this)})},void 0,!1,{fileName:vb,lineNumber:76,columnNumber:7},this),v&&(0,R.jsxDEV)(gt,{onClick:()=>g.onChange([..._,{}]),children:o(`form.addRow`)},void 0,!1,{fileName:vb,lineNumber:106,columnNumber:22},this),(0,R.jsxDEV)(dt,{slots:p},void 0,!1,{fileName:vb,lineNumber:107,columnNumber:7},this)]},void 0,!0,{fileName:vb,lineNumber:75,columnNumber:5},this);return i===`view`?(0,R.jsxDEV)(`section`,{className:`${It(s)} flex flex-col gap-1 min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsxDEV)(`h3`,{className:`text-[13px] font-semibold text-accent`,children:o(e.label)},void 0,!1,{fileName:vb,lineNumber:120,columnNumber:9},this),g.actions&&(0,R.jsxDEV)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:g.actions},void 0,!1,{fileName:vb,lineNumber:121,columnNumber:23},this)]},void 0,!0,{fileName:vb,lineNumber:119,columnNumber:7},this),(0,R.jsxDEV)(Vt,{depth:s+1,children:C},void 0,!1,{fileName:vb,lineNumber:123,columnNumber:7},this)]},void 0,!0,{fileName:vb,lineNumber:118,columnNumber:5},this):C}var bb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/widgets/group-widgets.tsx`;function xb({el:e,value:t,onChange:n,mode:r}){return(0,R.jsxDEV)(hb,{group:e,value:t,onChange:e=>n?.(e),mode:r===`view`?`view`:`edit`},void 0,!1,{fileName:bb,lineNumber:17,columnNumber:5},this)}function Sb({el:e,value:t,onChange:n,mode:r,bare:i}){let{t:o}=a(),s=e,c=(0,R.jsxDEV)(_b,{value:t,onChange:e=>n?.(e),mode:r===`view`?`view`:`edit`},void 0,!1,{fileName:bb,lineNumber:24,columnNumber:18},this);return i?c:(0,R.jsxDEV)(`div`,{className:`group/field flex flex-col min-w-0 ${jt}`,children:[s.label&&(0,R.jsxDEV)(Rt,{label:o(s.label)},void 0,!1,{fileName:bb,lineNumber:30,columnNumber:23},this),c]},void 0,!0,{fileName:bb,lineNumber:29,columnNumber:5},this)}function Cb({el:e,value:t,onChange:n,recordCtx:r,mode:i}){return(0,R.jsxDEV)(yb,{group:e,value:t,onChange:e=>n?.(e),recordCtx:r,mode:i},void 0,!1,{fileName:bb,lineNumber:38,columnNumber:5},this)}I({kinds:[`per-weekday`],layout:`block`,Page:xb}),I({kinds:[`url`],layout:`block`,Page:Sb}),I({kinds:[`checklist`],layout:`block`,Page:Cb});var wb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/actions/TemplateHost.tsx`,Tb=new Map;function Eb(e){let t=Cn(e);if(!t)return null;let n=Tb.get(e);return n||(n=(0,L.lazy)(t),Tb.set(e,n)),n}var Db=class extends L.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?this.props.fallback:this.props.children}},Ob=()=>(0,R.jsxDEV)(`span`,{className:`animate-spin inline-block w-4 h-4 border-2 border-current/30 border-t-current rounded-full`},void 0,!1,{fileName:wb,lineNumber:22,columnNumber:3},void 0);function kb({name:e,data:t}){let{t:n}=a(),r=(0,R.jsxDEV)(R.Fragment,{children:n(`actions.notice`)},void 0,!1,{fileName:wb,lineNumber:28,columnNumber:20},this),i=Eb(e);return i?(0,R.jsxDEV)(Db,{fallback:r,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(Ob,{},void 0,!1,{fileName:wb,lineNumber:36,columnNumber:27},this),children:(0,R.jsxDEV)(i,{data:t,t:n},void 0,!1,{fileName:wb,lineNumber:37,columnNumber:9},this)},void 0,!1,{fileName:wb,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:wb,lineNumber:35,columnNumber:5},this):(console.warn(`[template] unknown '${e}'`),r)}var Ab=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/actions/PopupBody.tsx`;function jb({ui:e}){let{t}=a();return(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(yr,{children:e.title?t(e.title,e.params):t(`actions.notice`)},void 0,!1,{fileName:Ab,lineNumber:11,columnNumber:7},this),e.component?(0,R.jsxDEV)(kb,{name:e.component.name,data:e.component.data},void 0,!1,{fileName:Ab,lineNumber:13,columnNumber:9},this):(0,R.jsxDEV)(Sr,{children:t(e.message??``,e.params)},void 0,!1,{fileName:Ab,lineNumber:15,columnNumber:9},this)]},void 0,!0,{fileName:Ab,lineNumber:10,columnNumber:5},this)}var Mb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/layout-elements.tsx`;function Nb(e){return(0,R.jsxDEV)(`hr`,{className:`border-border`},void 0,!1,{fileName:Mb,lineNumber:17,columnNumber:10},this)}function Pb({el:e}){let{t}=a();return(0,R.jsxDEV)(Ee,{value:t(e.text)},void 0,!1,{fileName:Mb,lineNumber:22,columnNumber:10},this)}function Fb(e){let{t}=a(),n=e.el,r=e.recordCtx,[i,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(null),l=e=>{if(e.kind===`popup`){c(e);return}let n=e.component?(0,R.jsxDEV)(kb,{name:e.component.name,data:e.component.data},void 0,!1,{fileName:Mb,lineNumber:38,columnNumber:9},this):t(e.message??``,e.params);e.variant===`success`?y.success(n):e.variant===`error`?y.error(n):y(n)};return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,R.jsxDEV)(F,{variant:n.variant??`outline`,onClick:async()=>{let e=cs(n.value);if(!e){y.error(t(`actions.actionNotFound`));return}o(!0);try{let n=await e({library:r.library,shelf:r.shelf,recordId:r.recordId??``});n?l(n):y.success(t(`actions.actionSuccess`))}catch(e){let n=e.ui;n?l(n):y.error(e instanceof Error?e.message:t(`actions.actionError`))}finally{o(!1)}},disabled:i,className:`max-w-full min-w-0`,children:[i?(0,R.jsxDEV)(`span`,{className:`animate-spin inline-block w-4 h-4 border-2 border-current/30 border-t-current rounded-full`},void 0,!1,{fileName:Mb,lineNumber:69,columnNumber:11},this):n.icon&&(0,R.jsxDEV)(we,{name:n.icon,size:16},void 0,!1,{fileName:Mb,lineNumber:71,columnNumber:22},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:t(n.label)},void 0,!1,{fileName:Mb,lineNumber:73,columnNumber:9},this)]},void 0,!0,{fileName:Mb,lineNumber:67,columnNumber:7},this),(0,R.jsxDEV)(Cr,{open:!!s,onOpenChange:e=>!e&&c(null),children:(0,R.jsxDEV)(xr,{children:(0,R.jsxDEV)(br,{children:s&&(0,R.jsxDEV)(jb,{ui:s},void 0,!1,{fileName:Mb,lineNumber:78,columnNumber:23},this)},void 0,!1,{fileName:Mb,lineNumber:77,columnNumber:11},this)},void 0,!1,{fileName:Mb,lineNumber:76,columnNumber:9},this)},void 0,!1,{fileName:Mb,lineNumber:75,columnNumber:7},this)]},void 0,!0,{fileName:Mb,lineNumber:66,columnNumber:5},this)}function Ib({el:e,children:t}){let{t:n}=a(),r=e;return(0,R.jsxDEV)(je,{label:r.label?n(r.label):void 0,icon:zt(r),children:t},void 0,!1,{fileName:Mb,lineNumber:93,columnNumber:5},this)}I({kinds:[`divider`],layout:`block`,Page:Nb}),I({kinds:[`info`],layout:`block`,Page:Pb}),I({kinds:[`button`],layout:`scalar`,Page:Fb}),I({kinds:[`group`],layout:`block`,Page:Ib});var Lb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/tristate.tsx`,Rb={unknown:`yes`,yes:`no`,no:`unknown`},zb={yes:!0,no:!1,unknown:`indeterminate`};function Bb({value:e,onChange:t,label:n}){let{saving:r}=Q_(),i=e||`unknown`;return(0,R.jsxDEV)(te,{checked:zb[i],disabled:r,onCheckedChange:()=>t?.(Rb[i]),"aria-label":n,className:C(`peer h-4.5 w-4.5 shrink-0 rounded border border-input bg-background ring-offset-background transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,`data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground`,`data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground`),children:(0,R.jsxDEV)(ae,{className:`flex items-center justify-center text-current`,children:i===`yes`?(0,R.jsxDEV)(Ke,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:Lb,lineNumber:37,columnNumber:26},this):(0,R.jsxDEV)(ve,{className:`h-3.5 w-3.5`,strokeWidth:3},void 0,!1,{fileName:Lb,lineNumber:37,columnNumber:78},this)},void 0,!1,{fileName:Lb,lineNumber:36,columnNumber:7},this)},void 0,!1,{fileName:Lb,lineNumber:24,columnNumber:5},this)}function Vb(e){let t=(0,R.jsxDEV)(Bb,{value:String(e.value??``),onChange:t=>e.onChange?.(t),label:e.label},void 0,!1,{fileName:Lb,lineNumber:44,columnNumber:15},this);return e.bare?t:(0,R.jsxDEV)(`div`,{className:`group/field`,children:[e.label!==void 0&&(0,R.jsxDEV)(Rt,{label:e.label,required:e.required},void 0,!1,{fileName:Lb,lineNumber:48,columnNumber:33},this),t,(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:Lb,lineNumber:50,columnNumber:7},this)]},void 0,!0,{fileName:Lb,lineNumber:47,columnNumber:5},this)}var Hb={yes:Ke,unknown:ve,no:w};function Ub({value:e}){let t=String(e??`unknown`);return(0,R.jsxDEV)(Hb[t]??ve,{size:16,className:t===`yes`?`text-accent`:t===`no`?`text-danger`:`text-muted`},void 0,!1,{fileName:Lb,lineNumber:60,columnNumber:10},this)}I({kinds:[`triState`],Page:Vb,Inline:Ub});var Wb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/money.tsx`;function Gb(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function Kb(e){if(e.value==null||!e.currency)return``;try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:e.currency}).format(e.value)}catch{return`${e.value} ${Xt(e.currency)}`}}function qb({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>Gb(t),[t]),i=e.hints.defaultCurrency??`USD`,a=r.currency??i,o=e=>n(e.value==null?``:{value:e.value,currency:e.currency});return(0,R.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,R.jsxDEV)(Ql,{customInput:E,className:`flex-1 min-w-0`,value:r.value??``,thousandSeparator:!0,decimalScale:2,min:e.hints.min,max:e.hints.max,placeholder:`0.00`,onValueChange:e=>o({value:e.value===``?void 0:e.floatValue,currency:a})},void 0,!1,{fileName:Wb,lineNumber:43,columnNumber:7},this),(0,R.jsxDEV)(Je,{value:a,onValueChange:e=>o({value:r.value,currency:e}),children:[(0,R.jsxDEV)(Xe,{className:`w-28`,children:(0,R.jsxDEV)(Ye,{},void 0,!1,{fileName:Wb,lineNumber:58,columnNumber:11},this)},void 0,!1,{fileName:Wb,lineNumber:57,columnNumber:9},this),(0,R.jsxDEV)(yt,{children:Gt.map(e=>(0,R.jsxDEV)($e,{value:e,children:[Xt(e),` `,e]},e,!0,{fileName:Wb,lineNumber:62,columnNumber:13},this))},void 0,!1,{fileName:Wb,lineNumber:60,columnNumber:9},this)]},void 0,!0,{fileName:Wb,lineNumber:56,columnNumber:7},this)]},void 0,!0,{fileName:Wb,lineNumber:42,columnNumber:5},this)}function Jb({value:e}){let t=Kb(Gb(e));return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:Wb,lineNumber:74,columnNumber:14},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Wb,lineNumber:74,columnNumber:58},this)}function Yb(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,R.jsxDEV)(Jb,{value:e},void 0,!1,{fileName:Wb,lineNumber:90,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(qb,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Wb,lineNumber:92,columnNumber:9},this)},void 0,!1,{fileName:Wb,lineNumber:79,columnNumber:5},this)}function Xb({value:e}){return(0,R.jsxDEV)(Jb,{value:e},void 0,!1,{fileName:Wb,lineNumber:99,columnNumber:10},this)}function Zb(e){let t=Gb(e);return t.currency?[{value:t.currency,rawValue:t,label:Xt(t.currency)}]:[]}I({kinds:[`money`],Page:Yb,Inline:Xb,keys:Zb});var Qb=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/range.tsx`;function $b(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function ex({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>$b(t),[t]),i=e.hints,a=e=>e===``?void 0:Number(e),o=e=>n(e.from==null&&e.to==null?``:{from:e.from,to:e.to});return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,placeholder:`від`,value:r.from??``,min:i.min,max:i.max,step:i.step,onChange:e=>o({from:a(e.target.value),to:r.to})},void 0,!1,{fileName:Qb,lineNumber:32,columnNumber:7},this),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`–`},void 0,!1,{fileName:Qb,lineNumber:42,columnNumber:7},this),(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,placeholder:`до`,value:r.to??``,min:i.min,max:i.max,step:i.step,onChange:e=>o({from:r.from,to:a(e.target.value)})},void 0,!1,{fileName:Qb,lineNumber:43,columnNumber:7},this)]},void 0,!0,{fileName:Qb,lineNumber:31,columnNumber:5},this)}function tx({value:e}){let t=$b(e);return t.from==null&&t.to==null?(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:Qb,lineNumber:59,columnNumber:46},this):(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:[t.from??`…`,`–`,t.to??`…`]},void 0,!0,{fileName:Qb,lineNumber:61,columnNumber:5},this)}function nx(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-48`,bare:e.bare,view:e=>(0,R.jsxDEV)(tx,{value:e},void 0,!1,{fileName:Qb,lineNumber:80,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(ex,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:Qb,lineNumber:82,columnNumber:9},this)},void 0,!1,{fileName:Qb,lineNumber:69,columnNumber:5},this)}function rx({value:e}){return(0,R.jsxDEV)(tx,{value:e},void 0,!1,{fileName:Qb,lineNumber:89,columnNumber:10},this)}I({kinds:[`numberRange`,`realRange`],Page:nx,Inline:rx}),ix.displayName=`clike`,ix.aliases=[];function ix(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}ax.displayName=`c`,ax.aliases=[];function ax(e){e.register(ix),e.languages.c=e.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}ox.displayName=`cpp`,ox.aliases=[];function ox(e){e.register(ax),(function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])})(e)}sx.displayName=`arduino`,sx.aliases=[`ino`];function sx(e){e.register(ox),e.languages.arduino=e.languages.extend(`cpp`,{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}cx.displayName=`bash`,cx.aliases=[`sh`,`shell`];function cx(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}lx.displayName=`csharp`,lx.aliases=[`cs`,`dotnet`];function lx(e){e.register(ix),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),ee=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function te(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:te(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[ee]),lookbehind:!0,greedy:!0,inside:te(ee,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(e)}ux.displayName=`markup`,ux.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function ux(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&amp;/,`&`))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}dx.displayName=`css`,dx.aliases=[];function dx(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}fx.displayName=`diff`,fx.aliases=[];function fx(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
58
58
  ?|
59
- |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}px.displayName=`go`,px.aliases=[];function px(e){e.register(ix),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}mx.displayName=`ini`,mx.aliases=[];function mx(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:`selector`},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:`attr-name`},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:`attr-value`,inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}hx.displayName=`java`,hx.aliases=[];function hx(e){e.register(ix),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}gx.displayName=`regex`,gx.aliases=[];function gx(e){(function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:`escape`},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},i={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},a=`(?:[^\\\\-]|`+n.source+`)`,o=RegExp(a+`-`+a),s={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:`variable`};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:`operator`},"char-class-punctuation":{pattern:/^\[|\]$/,alias:`punctuation`},range:{pattern:o,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:`operator`}}},"special-escape":t,"char-set":i,escape:n}},"special-escape":t,"char-set":r,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:`keyword`},{pattern:/\\k<[^<>']+>/,alias:`keyword`,inside:{"group-name":s}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:`function`},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:`punctuation`,inside:{"group-name":s}},{pattern:/\)/,alias:`punctuation`}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:`number`},alternation:{pattern:/\|/,alias:`keyword`}}})(e)}_x.displayName=`javascript`,_x.aliases=[`js`];function _x(e){e.register(ix),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}vx.displayName=`json`,vx.aliases=[`webmanifest`];function vx(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}yx.displayName=`kotlin`,yx.aliases=[`kt`,`kts`];function yx(e){e.register(ix),(function(e){e.languages.kotlin=e.languages.extend(`clike`,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[`class-name`];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:`punctuation`},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore(`kotlin`,`string`,{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:`multiline`,inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:`singleline`,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore(`kotlin`,`keyword`,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:`builtin`}}),e.languages.insertBefore(`kotlin`,`function`,{label:{pattern:/\b\w+@|@\w+\b/,alias:`symbol`}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin})(e)}bx.displayName=`less`,bx.aliases=[];function bx(e){e.register(dx),e.languages.less=e.languages.extend(`css`,{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore(`less`,`property`,{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:`function`}})}xx.displayName=`lua`,xx.aliases=[];function xx(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}Sx.displayName=`makefile`,Sx.aliases=[];function Sx(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:`builtin`},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:`symbol`,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}Cx.displayName=`yaml`,Cx.aliases=[`yml`];function Cx(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}wx.displayName=`markdown`,wx.aliases=[`md`];function wx(e){e.register(ux),(function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}Tx.displayName=`objectivec`,Tx.aliases=[`objc`];function Tx(e){e.register(ax),e.languages.objectivec=e.languages.extend(`c`,{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec[`class-name`],e.languages.objc=e.languages.objectivec}Ex.displayName=`perl`,Ex.aliases=[];function Ex(e){(function(e){var t=`(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)`;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(`\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)`),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(`\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)[msixpodualngc]*`),greedy:!0},{pattern:RegExp(`(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,`([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3`,t+`\\s*`+t].join(`|`)+`)[msixpodualngcer]*`),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:`symbol`},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:`string`},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(e)}Dx.displayName=`markup-templating`,Dx.aliases=[];function Dx(e){e.register(ux),(function(e){function t(e,t){return`___`+e.toUpperCase()+t+`___`}Object.defineProperties(e.languages[`markup-templating`]={},{buildPlaceholders:{value:function(n,r,i,a){if(n.language===r){var o=n.tokenStack=[];n.code=n.code.replace(i,function(e){if(typeof a==`function`&&!a(e))return e;for(var i=o.length,s;n.code.indexOf(s=t(r,i))!==-1;)++i;return o[i]=e,s}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language!==r||!n.tokenStack)return;n.grammar=e.languages[r];var i=0,a=Object.keys(n.tokenStack);function o(s){for(var c=0;c<s.length&&!(i>=a.length);c++){var l=s[c];if(typeof l==`string`||l.content&&typeof l.content==`string`){var u=a[i],d=n.tokenStack[u],f=typeof l==`string`?l:l.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++i;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),`language-`+r,d),_=f.substring(m+p.length),v=[];h&&v.push.apply(v,o([h])),v.push(g),_&&v.push.apply(v,o([_])),typeof l==`string`?s.splice.apply(s,[c,1].concat(v)):l.content=v}}else l.content&&o(l.content)}return s}o(n.tokens)}}})})(e)}Ox.displayName=`php`,Ox.aliases=[];function Ox(e){e.register(Dx),(function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:`boolean`},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:`important`},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:`class-name`},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:`function`},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:`type-casting`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:`type-declaration`,greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:`type-declaration`,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:`class-name-fully-qualified`,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:`type-declaration`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-declaration`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[`class-name-fully-qualified`,`static-context`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-hint`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[`class-name-fully-qualified`,`return-type`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:a};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:`nowdoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:`backtick-quoted-string`,greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:`single-quoted-string`,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:`double-quoted-string`,greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore(`php`,`variable`,{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:`class-name`,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[`class-name`,`class-name-fully-qualified`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:`punctuation`}}}}),e.hooks.add(`before-tokenize`,function(t){/<\?/.test(t.code)&&e.languages[`markup-templating`].buildPlaceholders(t,`php`,/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),e.hooks.add(`after-tokenize`,function(t){e.languages[`markup-templating`].tokenizePlaceholders(t,`php`)})})(e)}kx.displayName=`python`,kx.aliases=[`py`];function kx(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}Ax.displayName=`r`,Ax.aliases=[];function Ax(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:`operator`},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}jx.displayName=`ruby`,jx.aliases=[`rb`];function jx(e){e.register(ix),(function(e){e.languages.ruby=e.languages.extend(`clike`,{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore(`ruby`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:`punctuation`}}};delete e.languages.ruby.function;var n=`(?:`+[`([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)`,`\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}`,`\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]`,`<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>`].join(`|`)+`)`,r=`(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)`;e.languages.insertBefore(`ruby`,`keyword`,{"regex-literal":[{pattern:RegExp(`%r`+n+`[egimnosux]{0,6}`),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(`(^|[^:]):`+r),lookbehind:!0,greedy:!0},{pattern:RegExp(`([\\r\\n{(,][ \\t]*)`+r+`(?=:(?!:))`),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore(`ruby`,`string`,{"string-literal":[{pattern:RegExp(`%[qQiIwWs]?`+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(`%x`+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}}]}),delete e.languages.ruby.string,e.languages.insertBefore(`ruby`,`number`,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby})(e)}Mx.displayName=`rust`,Mx.aliases=[];function Mx(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}Nx.displayName=`sass`,Nx.aliases=[];function Nx(e){e.register(dx),(function(e){e.languages.sass=e.languages.extend(`css`,{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore(`sass`,`atrule`,{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore(`sass`,`property`,{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore(`sass`,`punctuation`,{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})})(e)}Px.displayName=`scss`,Px.aliases=[];function Px(e){e.register(dx),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}Fx.displayName=`sql`,Fx.aliases=[];function Fx(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}Ix.displayName=`swift`,Ix.aliases=[];function Ix(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(`(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:`punctuation`},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(`(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:`punctuation`},string:/[\s\S]+/}}],directive:{pattern:RegExp(`#(?:(?:elseif|if)\\b(?:[ ]*(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)`),alias:`property`,inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:`constant`},"other-directive":{pattern:/#\w+\b/,alias:`property`},attribute:{pattern:/@\w+/,alias:`atrule`},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:`function`},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:`important`},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:`constant`},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:`keyword`},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift[`string-literal`].forEach(function(t){t.inside.interpolation.inside=e.languages.swift})}Lx.displayName=`typescript`,Lx.aliases=[`ts`];function Lx(e){e.register(_x),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}Rx.displayName=`basic`,Rx.aliases=[];function Rx(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}zx.displayName=`vbnet`,zx.aliases=[];function zx(e){e.register(Rx),e.languages.vbnet=e.languages.extend(`basic`,{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}var Bx=0,Vx={},Hx={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++Bx}),e.__id},clone:function e(t,n){n||={};var r,i;switch(Hx.util.type(t)){case`Object`:if(i=Hx.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=Hx.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:Vx,plaintext:Vx,text:Vx,txt:Vx,extend:function(e,t){var n=Hx.util.clone(Hx.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=Hx.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,Hx.languages.DFS(Hx.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=Hx.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=Hx.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(Hx.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=Hx.tokenize(r.code,r.grammar),Hx.hooks.run(`after-tokenize`,r),Ux.stringify(Hx.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new Kx;return qx(i,i.head,e),Gx(e,i,t,i.head,0),Yx(i)},hooks:{all:{},add:function(e,t){var n=Hx.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=Hx.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:Ux};function Ux(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function Wx(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function Gx(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof Ux)){var y=1,b;if(f){if(b=Wx(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof Ux)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=Wx(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=qx(t,k,E),_+=E.length),Jx(t,k,y);var A=new Ux(o,u?Hx.tokenize(T,u):T,p,T);if(g=qx(t,k,A),D&&qx(t,g,D),y>1){var ee={cause:o+`,`+c,reach:O};Gx(e,t,n,g.prev,_,ee),a&&ee.reach>a.reach&&(a.reach=ee.reach)}}}}}}function Kx(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function qx(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function Jx(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function Yx(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var Xx=Hx;function Zx(){}Zx.prototype=Xx;var Z=new Zx;Z.highlight=Qx,Z.register=$x,Z.alias=eS,Z.registered=tS,Z.listLanguages=nS,Z.util.encode=iS,Z.Token.stringify=rS;function Qx(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(Z.languages,r))n=Z.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:Xx.highlight.call(Z,e,n,r)}}function $x(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(Z.languages,e.displayName)||e(Z)}function eS(e,t){let n=Z.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function tS(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(Z.languages,e)}function nS(){let e=Z.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function rS(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(rS(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:rS(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),Z.hooks.run(`wrap`,n),wr(n.tag+`.`+n.classes.join(`.`),aS(n.attributes),n.content)}function iS(e){return e}function aS(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=Tr(e[t]));return e}Z.register(ix),Z.register(ax),Z.register(ox),Z.register(sx),Z.register(cx),Z.register(lx),Z.register(ux),Z.register(dx),Z.register(fx),Z.register(px),Z.register(mx),Z.register(hx),Z.register(gx),Z.register(_x),Z.register(vx),Z.register(yx),Z.register(bx),Z.register(xx),Z.register(Sx),Z.register(Cx),Z.register(wx),Z.register(Tx),Z.register(Ex),Z.register(Dx),Z.register(Ox),Z.register(kx),Z.register(Ax),Z.register(jx),Z.register(Mx),Z.register(Nx),Z.register(Px),Z.register(Fx),Z.register(Ix),Z.register(Lx),Z.register(Rx),Z.register(zx);var oS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/code.tsx`,sS=(0,L.lazy)(()=>c(()=>import(`./esm-Dfm1ivm4.js`),__vite__mapDeps([16,1,2,6,8,17,18,12,13,19,20])));function cS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var lS=Z.listLanguages().slice().sort().map(e=>({value:e,title:e}));function uS({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>cS(t),[t]),i=e.hints.defaultLang??`text`,a=r.lang??i,o=e=>n(!e.code&&!e.lang?``:{code:e.code??``,lang:e.lang??i});return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(W_,{value:a,onChange:e=>o({code:r.code,lang:e}),items:lS,placeholder:`language`},void 0,!1,{fileName:oS,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,children:(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border border-border min-w-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:oS,lineNumber:53,columnNumber:31},this),children:(0,R.jsxDEV)(sS,{value:r.code??``,language:a,onChange:e=>o({code:e.target.value,lang:a}),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:oS,lineNumber:54,columnNumber:13},this)},void 0,!1,{fileName:oS,lineNumber:53,columnNumber:11},this)},void 0,!1,{fileName:oS,lineNumber:52,columnNumber:9},this)},void 0,!1,{fileName:oS,lineNumber:51,columnNumber:7},this)]},void 0,!0,{fileName:oS,lineNumber:44,columnNumber:5},this)}function dS({value:e}){let t=cS(e);return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex h-9 w-full items-center rounded-lg border border-transparent px-3 text-sm text-muted`,children:t.lang&&(0,R.jsxDEV)(`span`,{className:`uppercase`,children:t.lang},void 0,!1,{fileName:oS,lineNumber:78,columnNumber:20},this)},void 0,!1,{fileName:oS,lineNumber:77,columnNumber:7},this),(0,R.jsxDEV)(`pre`,{className:`min-w-0 min-h-32 overflow-x-auto whitespace-pre-wrap rounded-lg border border-transparent p-3 font-mono text-[13px] leading-normal text-text/90`,children:t.code||(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:oS,lineNumber:81,columnNumber:20},this)},void 0,!1,{fileName:oS,lineNumber:80,columnNumber:7},this)]},void 0,!0,{fileName:oS,lineNumber:76,columnNumber:5},this)}function fS(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,bare:e.bare,view:e=>(0,R.jsxDEV)(dS,{value:e},void 0,!1,{fileName:oS,lineNumber:99,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(uS,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:oS,lineNumber:101,columnNumber:9},this)},void 0,!1,{fileName:oS,lineNumber:89,columnNumber:5},this)}function pS({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate text-muted`,children:cS(e).lang??`code`},void 0,!1,{fileName:oS,lineNumber:109,columnNumber:10},this)}I({kinds:[`code`],layout:`block`,Page:fS,Inline:pS});var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/embed.tsx`;function mS(e){let t=e=>!!e&&typeof e==`object`&&typeof e.url==`string`;if(Array.isArray(e))return e.filter(t);if(t(e))return[e];try{let n=JSON.parse(String(e??``));return Array.isArray(n)?n.filter(t):t(n)?[n]:[]}catch{return[]}}var hS=e=>(e.type===`video`||e.type===`rich`)&&!!e.html;function gS(e){try{return new URL(e).hostname}catch{return e}}function _S(e){try{let t=new URL(e);if(t.protocol===`http:`||t.protocol===`https:`)return e}catch{}}function vS({rec:e,onOpen:t,onRemove:n}){return(0,R.jsxDEV)(`div`,{className:`group relative @container`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex w-full items-center gap-2 overflow-hidden rounded-lg border border-border text-left @[20rem]:flex-col @[20rem]:items-stretch @[20rem]:gap-0`,children:[(0,R.jsxDEV)(`div`,{className:`relative aspect-video w-20 shrink-0 bg-muted/40 @[20rem]:w-full`,children:[e.thumbnail?(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`h-full w-full object-cover`},void 0,!1,{fileName:Q,lineNumber:67,columnNumber:13},this):(0,R.jsxDEV)(Es,{className:`absolute inset-0 m-auto text-muted`,size:20},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:13},this),hS(e)&&(0,R.jsxDEV)(`span`,{className:`absolute inset-0 m-auto flex h-8 w-8 items-center justify-center rounded-full bg-black/60 text-white`,children:(0,R.jsxDEV)(Ce,{size:16},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:15},this)},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:65,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1 px-2 py-1.5`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:78,columnNumber:11},this),e.provider&&(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.provider},void 0,!1,{fileName:Q,lineNumber:79,columnNumber:28},this)]},void 0,!0,{fileName:Q,lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:60,columnNumber:7},this),n&&(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,className:`absolute right-1 top-1 text-muted opacity-0 hover:text-danger group-hover:opacity-100`,onClick:n,children:(0,R.jsxDEV)(ye,{size:13},void 0,!1,{fileName:Q,lineNumber:90,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:59,columnNumber:5},this)}function yS({rec:e}){let t=e.title||gS(e.url),n=_S(e.url),r=`group flex items-center gap-2 overflow-hidden rounded-lg border border-border bg-muted/5 px-3 py-2 transition-colors hover:bg-muted/15`,i=(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`shrink-0 text-muted group-hover:text-text`,children:hS(e)?(0,R.jsxDEV)(Ce,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:26},this):(0,R.jsxDEV)(Es,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:47},this)},void 0,!1,{fileName:Q,lineNumber:104,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:t},void 0,!1,{fileName:Q,lineNumber:108,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.url},void 0,!1,{fileName:Q,lineNumber:109,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:107,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:103,columnNumber:5},this);return n?(0,R.jsxDEV)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:r,children:i},void 0,!1,{fileName:Q,lineNumber:115,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:r,children:i},void 0,!1,{fileName:Q,lineNumber:119,columnNumber:5},this)}function bS({rec:e,onClose:t}){let{t:n}=a(),r=_S(e.url);return(0,R.jsxDEV)(Cr,{open:!0,onOpenChange:e=>!e&&t(),children:(0,R.jsxDEV)(xr,{className:`max-w-2xl`,children:[(0,R.jsxDEV)(yr,{className:`truncate`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:132,columnNumber:9},this),hS(e)?(0,R.jsxDEV)(`iframe`,{title:e.title??`embed`,srcDoc:e.html,sandbox:`allow-scripts allow-presentation`,allowFullScreen:!0,className:`aspect-video w-full rounded-md border-0`},void 0,!1,{fileName:Q,lineNumber:134,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:[e.thumbnail&&(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`w-full rounded-md`},void 0,!1,{fileName:Q,lineNumber:143,columnNumber:31},this),e.description&&(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:e.description},void 0,!1,{fileName:Q,lineNumber:144,columnNumber:33},this)]},void 0,!0,{fileName:Q,lineNumber:142,columnNumber:11},this),r&&(0,R.jsxDEV)(`a`,{href:r,target:`_blank`,rel:`noopener noreferrer`,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,className:`w-full`,children:[(0,R.jsxDEV)(Ss,{size:15},void 0,!1,{fileName:Q,lineNumber:150,columnNumber:15},this),` `,n(`embed.open`)]},void 0,!0,{fileName:Q,lineNumber:149,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:148,columnNumber:11},this)]},void 0,!0,{fileName:Q,lineNumber:131,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:130,columnNumber:5},this)}function xS({value:e,onChange:t,multiple:n}){let{t:r}=a(),i=mS(e),[o,s]=(0,L.useState)(null),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(!1),[f,p]=(0,L.useState)(!1),m=e=>t?.(e.length?e:``);async function h(){if(u||!c.trim())return;d(!0),p(!1);let e=await Gn(c.trim());if(d(!1),!e)return p(!0);m([...i,e]),l(``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[t?(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-2 @md:grid-cols-2 @2xl:grid-cols-3`,children:i.map((e,t)=>(0,R.jsxDEV)(vS,{rec:e,onOpen:()=>s(e),onRemove:()=>m(i.filter((e,n)=>n!==t))},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:188,columnNumber:13},this))},void 0,!1,{fileName:Q,lineNumber:186,columnNumber:9},this):i.length>0&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:i.map((e,t)=>(0,R.jsxDEV)(yS,{rec:e},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:201,columnNumber:15},this))},void 0,!1,{fileName:Q,lineNumber:199,columnNumber:11},this),t&&(n||i.length===0)&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(E,{value:c,placeholder:r(`embed.pastePlaceholder`),onChange:e=>l(e.target.value),onKeyDown:e=>e.key===`Enter`&&(e.preventDefault(),h())},void 0,!1,{fileName:Q,lineNumber:209,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,disabled:u||!c.trim(),onClick:h,children:u?`…`:`+`},void 0,!1,{fileName:Q,lineNumber:215,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:208,columnNumber:11},this),f&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:r(`embed.resolveFailed`)},void 0,!1,{fileName:Q,lineNumber:219,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:207,columnNumber:9},this),o&&(0,R.jsxDEV)(bS,{rec:o,onClose:()=>s(null)},void 0,!1,{fileName:Q,lineNumber:222,columnNumber:16},this)]},void 0,!0,{fileName:Q,lineNumber:183,columnNumber:5},this)}function SS(e){let t=e.mode!==`view`,n=e.field.hints.multiple===!0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[e.label&&(0,R.jsxDEV)(Rt,{label:e.label,required:e.required},void 0,!1,{fileName:Q,lineNumber:232,columnNumber:19},this),(0,R.jsxDEV)(xS,{value:e.value,onChange:t?e.onChange:void 0,multiple:n},void 0,!1,{fileName:Q,lineNumber:233,columnNumber:7},this),e.error&&(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:Q,lineNumber:234,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:231,columnNumber:5},this)}function CS(e){let t=mS(e.value);if(t.length===0)return null;let n=t[0];return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[hS(n)?(0,R.jsxDEV)(Ce,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:26},this):(0,R.jsxDEV)(Es,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:47},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:n.title??gS(n.url)},void 0,!1,{fileName:Q,lineNumber:246,columnNumber:7},this),t.length>1&&(0,R.jsxDEV)(`span`,{className:`text-muted`,children:[`+`,t.length-1]},void 0,!0,{fileName:Q,lineNumber:247,columnNumber:27},this)]},void 0,!0,{fileName:Q,lineNumber:244,columnNumber:5},this)}I({kinds:[`embed`],layout:`block`,Page:SS,Inline:CS});var wS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/reminder.tsx`;function TS(){return new Date().toISOString().slice(0,10)}function ES(e,t){return Math.round((Date.parse(e)-Date.parse(t))/864e5)}function DS(e,t,n=TS()){if(!e)return`neutral`;let r=ES(e,n);return r<0?`overdue`:r===0?`today`:r<=t?`soon`:`neutral`}var OS={overdue:`text-red-600`,today:`text-primary font-medium`,soon:`text-amber-600`,neutral:``};function kS({field:e,value:t}){let{t:n}=a(),r=String(t??``);if(!r)return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:wS,lineNumber:40,columnNumber:18},this);let i=DS(r,e.hints.lead??30),o=ES(r,TS()),s=i===`today`?n(`reminder.today`):i===`overdue`?n(`reminder.overdue`,{days:Math.abs(o)}):i===`soon`?n(`reminder.inDays`,{days:o}):null;return(0,R.jsxDEV)(`span`,{className:`tabular-nums ${OS[i]}`,children:[fg(r),s?(0,R.jsxDEV)(`span`,{className:`ml-2 text-xs`,children:s},void 0,!1,{fileName:wS,lineNumber:52,columnNumber:15},this):null]},void 0,!0,{fileName:wS,lineNumber:50,columnNumber:5},this)}function AS(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:t=>(0,R.jsxDEV)(kS,{field:e.field,value:t},void 0,!1,{fileName:wS,lineNumber:62,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(E,{type:`date`,value:String(e??``),onChange:e=>t(e.target.value)},void 0,!1,{fileName:wS,lineNumber:64,columnNumber:9},this)},void 0,!1,{fileName:wS,lineNumber:59,columnNumber:5},this)}function jS({field:e,value:t}){return(0,R.jsxDEV)(kS,{field:e,value:t},void 0,!1,{fileName:wS,lineNumber:71,columnNumber:10},this)}I({kinds:[`reminder`],Page:AS,Inline:jS});var MS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/weight.tsx`;function NS(e){if(e==null||e===``||Number.isNaN(Number(e)))return``;let t=Number(e);return t<1e3?`${t} г`:`${Number((t/1e3).toFixed(2))} кг`}function PS({value:e,onChange:t}){let n=e===``?``:Number(e),[r,i]=(0,L.useState)(n!==``&&Number(n)>=1e3?`kg`:`g`),a=n===``?``:r===`kg`?Number(n)/1e3:n,o=e=>Math.round(r===`kg`?e*1e3:e);return(0,R.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,min:0,value:a,onChange:e=>t(e.target.value===``?``:String(o(Number(e.target.value))))},void 0,!1,{fileName:MS,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(Je,{value:r,onValueChange:e=>i(e),children:[(0,R.jsxDEV)(Xe,{className:`w-20`,children:(0,R.jsxDEV)(Ye,{},void 0,!1,{fileName:MS,lineNumber:32,columnNumber:11},this)},void 0,!1,{fileName:MS,lineNumber:31,columnNumber:9},this),(0,R.jsxDEV)(yt,{children:[(0,R.jsxDEV)($e,{value:`g`,children:`г`},void 0,!1,{fileName:MS,lineNumber:35,columnNumber:11},this),(0,R.jsxDEV)($e,{value:`kg`,children:`кг`},void 0,!1,{fileName:MS,lineNumber:36,columnNumber:11},this)]},void 0,!0,{fileName:MS,lineNumber:34,columnNumber:9},this)]},void 0,!0,{fileName:MS,lineNumber:30,columnNumber:7},this)]},void 0,!0,{fileName:MS,lineNumber:22,columnNumber:5},this)}function FS({value:e}){let t=NS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:MS,lineNumber:45,columnNumber:14},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:MS,lineNumber:45,columnNumber:58},this)}function IS(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:e=>(0,R.jsxDEV)(FS,{value:e},void 0,!1,{fileName:MS,lineNumber:61,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(PS,{value:String(e??``),onChange:t},void 0,!1,{fileName:MS,lineNumber:63,columnNumber:9},this)},void 0,!1,{fileName:MS,lineNumber:50,columnNumber:5},this)}function LS({value:e}){return(0,R.jsxDEV)(FS,{value:e},void 0,!1,{fileName:MS,lineNumber:70,columnNumber:10},this)}I({kinds:[`weight`],Page:IS,Inline:LS});var RS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/dimensions.tsx`;function zS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function BS(e){let t=zS(e);if(t.w==null||t.h==null||t.d==null)return``;let n=e=>Number((e/10).toFixed(1));return`${n(t.w)}×${n(t.h)}×${n(t.d)} см`}function VS({value:e,onChange:t}){let n=zS(e),r=(e,r)=>{let i={...n,[e]:r===``?void 0:Math.round(Number(r))};t(i.w==null&&i.h==null&&i.d==null?``:i)},i=(e,t)=>(0,R.jsxDEV)(E,{type:`number`,min:0,className:`w-20 min-w-0`,placeholder:t,value:n[e]??``,onChange:t=>r(e,t.target.value)},void 0,!1,{fileName:RS,lineNumber:27,columnNumber:5},this);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-1 min-w-0 ${Lt}`,children:[i(`w`,`Ш`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:RS,lineNumber:31,columnNumber:23},this),i(`h`,`В`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:RS,lineNumber:31,columnNumber:76},this),i(`d`,`Г`),(0,R.jsxDEV)(`span`,{className:`ml-1 text-xs text-muted`,children:`мм`},void 0,!1,{fileName:RS,lineNumber:32,columnNumber:7},this)]},void 0,!0,{fileName:RS,lineNumber:30,columnNumber:5},this)}function HS({value:e}){let t=BS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:RS,lineNumber:39,columnNumber:14},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:RS,lineNumber:39,columnNumber:58},this)}function US(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:e=>(0,R.jsxDEV)(HS,{value:e},void 0,!1,{fileName:RS,lineNumber:45,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(VS,{value:e,onChange:t},void 0,!1,{fileName:RS,lineNumber:46,columnNumber:34},this)},void 0,!1,{fileName:RS,lineNumber:43,columnNumber:5},this)}function WS({value:e}){return(0,R.jsxDEV)(HS,{value:e},void 0,!1,{fileName:RS,lineNumber:49,columnNumber:58},this)}I({kinds:[`dimensions`],Page:US,Inline:WS});var GS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-api-token-renderer.tsx`;function KS(){let e=crypto.getRandomValues(new Uint8Array(32)),t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function qS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]),[i,o]=(0,L.useState)(``),[s,c]=(0,L.useState)(null),[l,u]=(0,L.useState)(!1);function d(){fr().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(d,[]);async function f(){if(!i.trim())return;u(!0);let e=KS(),n=await er(i.trim(),e);u(!1),n.ok?(c(e),o(``),d()):y.error(t(`auth.genericError`))}async function p(e){await We({title:t(`auth.tokenConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await Kn(e)).ok?d():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.tokensTitle`)},void 0,!1,{fileName:GS,lineNumber:70,columnNumber:7},this),s&&(0,R.jsxDEV)(`div`,{className:`mb-3 rounded-xl border border-accent/40 bg-accent/10 px-4 py-3 text-sm text-accent break-all`,children:[t(`auth.tokenCreatedOnce`),` `,(0,R.jsxDEV)(`code`,{children:s},void 0,!1,{fileName:GS,lineNumber:73,columnNumber:40},this)]},void 0,!0,{fileName:GS,lineNumber:72,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`mb-3 flex gap-2`,children:[(0,R.jsxDEV)(E,{placeholder:t(`auth.tokenNamePlaceholder`),value:i,onChange:e=>o(e.target.value)},void 0,!1,{fileName:GS,lineNumber:77,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,disabled:l||!i.trim(),onClick:f,children:t(`auth.tokenCreate`)},void 0,!1,{fileName:GS,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:GS,lineNumber:76,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Er,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.name},void 0,!1,{fileName:GS,lineNumber:86,columnNumber:15},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:GS,lineNumber:87,columnNumber:15},this)]},void 0,!0,{fileName:GS,lineNumber:85,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>p(e.id),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:GS,lineNumber:91,columnNumber:13},this)]},e.id,!0,{fileName:GS,lineNumber:84,columnNumber:11},this))},void 0,!1,{fileName:GS,lineNumber:82,columnNumber:7},this)]},void 0,!0,{fileName:GS,lineNumber:69,columnNumber:5},this)}I({kinds:[`internalApiToken`],layout:`block`,Page:qS});var JS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-oauth-grants-renderer.tsx`;function YS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]);function i(){rr().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(i,[]);async function o(e){await We({title:t(`auth.grantConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await Zn(e)).ok?i():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.grantsTitle`)},void 0,!1,{fileName:JS,lineNumber:44,columnNumber:7},this),n.length===0?(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:t(`auth.grantsEmpty`)},void 0,!1,{fileName:JS,lineNumber:46,columnNumber:9},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Er,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.clientName},void 0,!1,{fileName:JS,lineNumber:52,columnNumber:17},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:JS,lineNumber:53,columnNumber:17},this)]},void 0,!0,{fileName:JS,lineNumber:51,columnNumber:15},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>o(e.clientId),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:JS,lineNumber:57,columnNumber:15},this)]},e.clientId,!0,{fileName:JS,lineNumber:50,columnNumber:13},this))},void 0,!1,{fileName:JS,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:JS,lineNumber:43,columnNumber:5},this)}I({kinds:[`internalOauthGrants`],layout:`block`,Page:YS});var XS=20,ZS=new Map;function QS(e){return ZS.get(e)??0}function $S(e,t){for(ZS.delete(e),ZS.set(e,t);ZS.size>XS;){let e=ZS.keys().next();if(e.done)break;ZS.delete(e.value)}}function eC(e){for(let t of[...ZS.keys()])(t===e||t.startsWith(`${e}?`))&&ZS.delete(t)}var tC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/FavoriteButton.tsx`;function nC({favorite:e,busy:t=!1,onClick:n,labelAdd:r,labelRemove:i}){let a=e?i:r;return(0,R.jsxDEV)(F,{variant:`ghost`,size:`icon`,type:`button`,disabled:t,"aria-label":a,"aria-pressed":e,title:a,onClick:n,className:e?`text-accent hover:text-accent`:`text-muted hover:text-text`,children:(0,R.jsxDEV)(Se,{"data-icon":`inline-start`,size:16,fill:e?`currentColor`:`none`},void 0,!1,{fileName:tC,lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:tC,lineNumber:19,columnNumber:5},this)}var rC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordCard.tsx`;function iC(e,t,n){return n?e(n.label):t}var aC=(0,L.memo)(function({row:e,fields:t,keys:n,hrefBase:r,onDelete:i,deleting:o,onToggleFavorite:s,favoriteBusy:c}){let{t:l}=a(),u=`${r}/${e.id}`,[d,...f]=n,p=it(t),h=p?e[p]:void 0,g=p!=null&&ly(h).length>0,_=p?f.filter(e=>e!==p):f,v=d?t[d]:void 0;return(0,R.jsxDEV)(`div`,{style:{contentVisibility:`auto`,containIntrinsicSize:`auto 120px`},className:`bg-elevated rounded-xl p-4 mb-3 border border-border transition-colors hover:border-border2 hover:bg-surface`,children:[g&&(0,R.jsxDEV)(`div`,{className:`-mx-4 -mt-4 mb-3 overflow-hidden rounded-t-xl [&_img]:rounded-none [&>*]:rounded-none`,children:(0,R.jsxDEV)(hy,{value:h},void 0,!1,{fileName:rC,lineNumber:63,columnNumber:11},this)},void 0,!1,{fileName:rC,lineNumber:62,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(m,{to:u,className:`mb-2 block min-w-0 truncate text-text`,children:v?(0,R.jsxDEV)(vr,{field:v,value:pn(v,d,e),height:24},void 0,!1,{fileName:rC,lineNumber:72,columnNumber:15},this):String(e[d]??``)},void 0,!1,{fileName:rC,lineNumber:70,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1`,children:_.map(n=>{let r=t[n],i=r?pn(r,n,e):void 0;return!r||!at(i)?null:(0,R.jsxDEV)(`span`,{className:`text-sm text-muted inline-flex min-w-0 max-w-full items-baseline gap-1 truncate`,children:[(0,R.jsxDEV)(`span`,{className:`text-xs opacity-70 shrink-0`,children:[iC(l,n,r),`:`]},void 0,!0,{fileName:rC,lineNumber:87,columnNumber:19},this),(0,R.jsxDEV)(vr,{field:r,value:i},void 0,!1,{fileName:rC,lineNumber:88,columnNumber:19},this)]},n,!0,{fileName:rC,lineNumber:83,columnNumber:17},this)})},void 0,!1,{fileName:rC,lineNumber:77,columnNumber:11},this)]},void 0,!0,{fileName:rC,lineNumber:67,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex gap-2 shrink-0`,children:[s&&`_activity`in e&&(0,R.jsxDEV)(nC,{favorite:!!e._activity?.favorite,busy:c,labelAdd:l(`actions.favoriteAdd`),labelRemove:l(`actions.favoriteRemove`),onClick:()=>s(String(e.id))},void 0,!1,{fileName:rC,lineNumber:96,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`outline`,size:`icon`,disabled:o,className:`text-muted hover:text-danger hover:border-danger`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(ye,{size:15},void 0,!1,{fileName:rC,lineNumber:111,columnNumber:13},this)},void 0,!1,{fileName:rC,lineNumber:104,columnNumber:11},this)]},void 0,!0,{fileName:rC,lineNumber:94,columnNumber:9},this)]},void 0,!0,{fileName:rC,lineNumber:66,columnNumber:7},this)]},void 0,!0,{fileName:rC,lineNumber:57,columnNumber:5},this)}),oC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordRow.tsx`,sC=(0,L.memo)(function({row:e,fields:t,keys:n,hrefBase:r,onDelete:i,deleting:o,onToggleFavorite:s,favoriteBusy:c}){let{t:l}=a(),u=`${r}/${e.id}`;return(0,R.jsxDEV)(`tr`,{className:`group border-b border-border/60 hover:bg-elevated/60 transition-colors`,children:[n.map((n,r)=>r===0?(0,R.jsxDEV)(`td`,{className:`max-w-xs p-0`,children:(0,R.jsxDEV)(m,{to:u,className:`block px-4 py-1.5 text-sm font-medium text-text truncate`,children:t[n]?(0,R.jsxDEV)(vr,{field:t[n],value:pn(t[n],n,e)},void 0,!1,{fileName:oC,lineNumber:48,columnNumber:28},this):String(e[n]??``)},void 0,!1,{fileName:oC,lineNumber:47,columnNumber:13},this)},n,!1,{fileName:oC,lineNumber:46,columnNumber:11},this):(0,R.jsxDEV)(`td`,{className:`px-4 py-1.5 text-sm max-w-xs text-text/80`,children:(0,R.jsxDEV)(`span`,{className:`block truncate`,children:t[n]?(0,R.jsxDEV)(vr,{field:t[n],value:pn(t[n],n,e)},void 0,!1,{fileName:oC,lineNumber:54,columnNumber:28},this):String(e[n]??``)},void 0,!1,{fileName:oC,lineNumber:53,columnNumber:13},this)},n,!1,{fileName:oC,lineNumber:52,columnNumber:11},this)),(0,R.jsxDEV)(`td`,{className:`px-3 py-1 w-14`,children:(0,R.jsxDEV)(`div`,{className:`flex justify-end`,children:[s&&`_activity`in e&&(0,R.jsxDEV)(nC,{favorite:!!e._activity?.favorite,busy:c,labelAdd:l(`actions.favoriteAdd`),labelRemove:l(`actions.favoriteRemove`),onClick:()=>s(String(e.id))},void 0,!1,{fileName:oC,lineNumber:62,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 text-muted opacity-0 group-hover:opacity-100 pointer-coarse:opacity-100 hover:text-danger transition-opacity`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(ye,{size:14},void 0,!1,{fileName:oC,lineNumber:77,columnNumber:13},this)},void 0,!1,{fileName:oC,lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:oC,lineNumber:60,columnNumber:9},this)},void 0,!1,{fileName:oC,lineNumber:59,columnNumber:7},this)]},void 0,!0,{fileName:oC,lineNumber:41,columnNumber:5},this)}),cC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/views/table.tsx`;function lC(e,t){e.scrollTop=t}function uC({rows:e,shelf:t,keys:n,hrefBase:r,onDelete:i,deletingId:o,onToggleFavorite:s,favoriteBusyId:c,sort:l,onToggleSort:u,scrollKey:d}){let{t:f}=a(),p=(0,L.useMemo)(()=>mn(t.fields),[t]),m=p,h=Tt(`list`,640),g=(0,L.useRef)(null),_=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!d)return;let e=h?g.current:null,t=e??window,n=()=>{let t=e?e.scrollTop:window.scrollY,n=_.current;if(n&&n.key===d&&n.ownScrollPending&&Math.abs(t-n.applied)<=2){_.current={...n,ownScrollPending:!1};return}$S(d,t)};return t.addEventListener(`scroll`,n,{passive:!0}),()=>t.removeEventListener(`scroll`,n)},[d,h,e.length]),(0,L.useLayoutEffect)(()=>{if(!d||e.length===0||_.current?.key===d)return;let t=h?g.current:null,n=QS(d);if(n<=0){_.current={key:d,applied:0,ownScrollPending:!1};return}t?lC(t,n):typeof window.scrollTo==`function`&&window.scrollTo(0,n),_.current={key:d,applied:t?t.scrollTop:window.scrollY,ownScrollPending:!0}},[d,e.length,h]),h?(0,R.jsxDEV)(`div`,{ref:g,className:`hidden list:block overflow-auto h-[calc(100dvh-52px)] pb-20`,children:(0,R.jsxDEV)(`table`,{className:`w-full border-collapse`,children:[(0,R.jsxDEV)(`thead`,{className:`eink-solid sticky top-0 z-10 bg-bg/95 backdrop-blur`,children:(0,R.jsxDEV)(`tr`,{className:`border-b border-border`,children:[n.map(e=>(0,R.jsxDEV)(`th`,{onClick:()=>u(e),className:`px-4 py-2 text-left text-[11px] font-semibold text-muted uppercase tracking-wider cursor-pointer select-none hover:text-text transition-colors`,children:(0,R.jsxDEV)(`span`,{className:`flex items-center gap-1 whitespace-nowrap`,title:iC(f,e,m[e]),children:[iC(f,e,m[e]),l?.key===e?l.dir===`asc`?(0,R.jsxDEV)(Ze,{size:11},void 0,!1,{fileName:cC,lineNumber:114,columnNumber:23},this):(0,R.jsxDEV)(k,{size:11},void 0,!1,{fileName:cC,lineNumber:116,columnNumber:23},this):(0,R.jsxDEV)(ys,{size:11,className:`opacity-30`},void 0,!1,{fileName:cC,lineNumber:119,columnNumber:21},this)]},void 0,!0,{fileName:cC,lineNumber:110,columnNumber:17},this)},e,!1,{fileName:cC,lineNumber:105,columnNumber:15},this)),(0,R.jsxDEV)(`th`,{className:`w-12`},void 0,!1,{fileName:cC,lineNumber:124,columnNumber:13},this)]},void 0,!0,{fileName:cC,lineNumber:103,columnNumber:11},this)},void 0,!1,{fileName:cC,lineNumber:102,columnNumber:9},this),(0,R.jsxDEV)(`tbody`,{children:e.map(e=>(0,R.jsxDEV)(sC,{row:e,fields:p,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id),onToggleFavorite:s,favoriteBusy:c===String(e.id)},String(e.id),!1,{fileName:cC,lineNumber:129,columnNumber:13},this))},void 0,!1,{fileName:cC,lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:cC,lineNumber:101,columnNumber:7},this)},void 0,!1,{fileName:cC,lineNumber:100,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:`list:hidden p-4`,children:e.map(e=>(0,R.jsxDEV)(aC,{row:e,fields:p,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id),onToggleFavorite:s,favoriteBusy:c===String(e.id)},String(e.id),!1,{fileName:cC,lineNumber:80,columnNumber:11},this))},void 0,!1,{fileName:cC,lineNumber:78,columnNumber:7},this)}cc({kind:`table`,View:uC});var dC=[{pattern:`/`,purpose:`dashboard`},{pattern:`/trash`,purpose:`reversible trash for deleted records`},{pattern:`/settings`,purpose:`settings index`},{pattern:`/settings/diagnostics`,purpose:`runtime and agent diagnostics (admin)`},{pattern:`/settings/account`,purpose:`the signed-in user's own account settings`},{pattern:`/settings/users`,purpose:`user list (admin)`},{pattern:`/settings/users/new`,purpose:`form for a new user (admin)`},{pattern:`/settings/users/:id`,purpose:`one user (admin)`},{pattern:`/settings/:pluginId`,purpose:`one plugin's settings`},{pattern:`/:library/:shelf`,purpose:`list of every record on a shelf`},{pattern:`/:library/:shelf/new`,purpose:`form for a new record on a shelf`},{pattern:`/:library/:shelf/:id`,purpose:`page of one record`}],fC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/LoginPage.tsx`,pC=[Yt.string({key:`login`,label:`auth.login`,required:!0}),Yt.password({key:`password`,label:`auth.password`,required:!0})];function mC(){let{t:e}=a(),{values:t,bridge:n}=Pe({fm:mn(pC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`login`},initial:{login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await ur(t.login,t.password);if(s(!1),!r.ok){i(r.status===401?e(`auth.invalidCredentials`):e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`main`,{className:`login-page`,children:[(0,R.jsxDEV)(`div`,{className:`login-orb login-orb-one`,"aria-hidden":`true`},void 0,!1,{fileName:fC,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`login-orb login-orb-two`,"aria-hidden":`true`},void 0,!1,{fileName:fC,lineNumber:46,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`login-shell`,children:[(0,R.jsxDEV)(`section`,{className:`login-intro`,"aria-label":`Coffer`,children:[(0,R.jsxDEV)(`div`,{className:`login-brand`,children:[(0,R.jsxDEV)(`span`,{className:`login-brand-mark`,"aria-hidden":`true`,children:[(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:fC,lineNumber:52,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:fC,lineNumber:53,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:fC,lineNumber:54,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:fC,lineNumber:55,columnNumber:15},this)]},void 0,!0,{fileName:fC,lineNumber:51,columnNumber:13},this),(0,R.jsxDEV)(`span`,{children:`Coffer`},void 0,!1,{fileName:fC,lineNumber:57,columnNumber:13},this)]},void 0,!0,{fileName:fC,lineNumber:50,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`login-intro-copy`,children:[(0,R.jsxDEV)(`p`,{className:`login-eyebrow`,children:e(`auth.welcomeEyebrow`)},void 0,!1,{fileName:fC,lineNumber:60,columnNumber:13},this),(0,R.jsxDEV)(`h2`,{children:e(`auth.welcomeTitle`)},void 0,!1,{fileName:fC,lineNumber:61,columnNumber:13},this),(0,R.jsxDEV)(`p`,{children:e(`auth.welcomeText`)},void 0,!1,{fileName:fC,lineNumber:62,columnNumber:13},this)]},void 0,!0,{fileName:fC,lineNumber:59,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`login-status`,children:[(0,R.jsxDEV)(`span`,{className:`login-status-dot`,"aria-hidden":`true`},void 0,!1,{fileName:fC,lineNumber:65,columnNumber:13},this),(0,R.jsxDEV)(`span`,{children:e(`auth.secureConnection`)},void 0,!1,{fileName:fC,lineNumber:66,columnNumber:13},this)]},void 0,!0,{fileName:fC,lineNumber:64,columnNumber:11},this)]},void 0,!0,{fileName:fC,lineNumber:49,columnNumber:9},this),(0,R.jsxDEV)(`form`,{onSubmit:c,className:`login-card`,children:[(0,R.jsxDEV)(`div`,{className:`login-card-heading`,children:[(0,R.jsxDEV)(`div`,{className:`login-mobile-brand`,children:`Coffer`},void 0,!1,{fileName:fC,lineNumber:72,columnNumber:13},this),(0,R.jsxDEV)(`p`,{className:`login-card-kicker`,children:e(`auth.welcomeEyebrow`)},void 0,!1,{fileName:fC,lineNumber:73,columnNumber:13},this),(0,R.jsxDEV)(`h1`,{children:e(`auth.loginTitle`)},void 0,!1,{fileName:fC,lineNumber:74,columnNumber:13},this),(0,R.jsxDEV)(`p`,{className:`login-card-subtitle`,children:e(`auth.welcomeText`)},void 0,!1,{fileName:fC,lineNumber:75,columnNumber:13},this)]},void 0,!0,{fileName:fC,lineNumber:71,columnNumber:11},this),r&&(0,R.jsxDEV)(`div`,{className:`login-error`,role:`alert`,children:r},void 0,!1,{fileName:fC,lineNumber:77,columnNumber:21},this),(0,R.jsxDEV)(`div`,{className:`login-fields`,children:(0,R.jsxDEV)(Le,{items:pC,ctx:{bridge:n}},void 0,!1,{fileName:fC,lineNumber:79,columnNumber:13},this)},void 0,!1,{fileName:fC,lineNumber:78,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`login-submit`,children:[(0,R.jsxDEV)(`span`,{children:o?`…`:e(`auth.signIn`)},void 0,!1,{fileName:fC,lineNumber:82,columnNumber:13},this),!o&&(0,R.jsxDEV)(`span`,{className:`login-submit-arrow`,"aria-hidden":`true`,children:`→`},void 0,!1,{fileName:fC,lineNumber:83,columnNumber:23},this)]},void 0,!0,{fileName:fC,lineNumber:81,columnNumber:11},this),(0,R.jsxDEV)(`p`,{className:`login-footer`,children:e(`auth.secureConnection`)},void 0,!1,{fileName:fC,lineNumber:85,columnNumber:11},this)]},void 0,!0,{fileName:fC,lineNumber:70,columnNumber:9},this)]},void 0,!0,{fileName:fC,lineNumber:48,columnNumber:7},this)]},void 0,!0,{fileName:fC,lineNumber:44,columnNumber:5},this)}var hC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SetupPage.tsx`,gC=[Yt.string({key:`displayName`,label:`auth.displayName`,required:!0}),Yt.string({key:`login`,label:`auth.login`,required:!0}),Yt.password({key:`password`,label:`auth.password`,required:!0})];function _C(){let{t:e}=a(),{values:t,bridge:n}=Pe({fm:mn(gC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`setup`},initial:{displayName:``,login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await ir(t.login,t.password,t.displayName);if(s(!1),!r.ok){i(e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`div`,{className:`flex min-h-dvh items-center justify-center bg-bg px-4`,children:(0,R.jsxDEV)(`form`,{onSubmit:c,className:`w-full max-w-sm rounded-2xl border border-border bg-card p-6`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-xl font-bold text-text`,children:e(`auth.setupTitle`)},void 0,!1,{fileName:hC,lineNumber:47,columnNumber:9},this),r&&(0,R.jsxDEV)(`div`,{className:`mb-4 rounded-lg border border-danger/40 bg-danger/10 px-3 py-2 text-sm text-danger`,children:r},void 0,!1,{fileName:hC,lineNumber:48,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`mb-5 flex flex-col gap-3`,children:(0,R.jsxDEV)(Le,{items:gC,ctx:{bridge:n}},void 0,!1,{fileName:hC,lineNumber:50,columnNumber:11},this)},void 0,!1,{fileName:hC,lineNumber:49,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`w-full`,children:e(`auth.createAccount`)},void 0,!1,{fileName:hC,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:hC,lineNumber:46,columnNumber:7},this)},void 0,!1,{fileName:hC,lineNumber:45,columnNumber:5},this)}var vC=`coffer-collapsed-libraries`;function yC(){try{let e=localStorage.getItem(vC);return new Set(e?JSON.parse(e):[])}catch{return new Set}}function bC(){let[e,t]=(0,L.useState)(()=>yC());return{collapsed:e,toggle:(0,L.useCallback)(e=>{t(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);try{localStorage.setItem(vC,JSON.stringify([...n]))}catch{}return n})},[])}}var xC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/SidebarNav.tsx`;function SC({onSearchOpen:e}){let{t}=a(),{collapsed:n,toggle:r}=bC(),i=Ne();return(0,R.jsxDEV)(`aside`,{className:`hidden nav:flex flex-col w-52 shrink-0 bg-surface border-r border-border h-dvh fixed top-0 left-0 z-30`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto px-3 py-4`,children:[(0,R.jsxDEV)(l,{to:`/`,className:`flex items-center gap-2 mb-4 px-2 group`,title:t(`nav.home`),children:[(0,R.jsxDEV)(`div`,{className:`w-7 h-7 bg-accent rounded-lg flex items-center justify-center text-primary-foreground text-xs font-bold`,children:`S`},void 0,!1,{fileName:xC,lineNumber:22,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`font-bold text-text group-hover:text-accent transition-colors`,children:`Coffer`},void 0,!1,{fileName:xC,lineNumber:25,columnNumber:11},this)]},void 0,!0,{fileName:xC,lineNumber:21,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":t(`search.title`),title:t(`search.title`),className:`flex w-full items-center gap-2 px-3 py-1.5 mb-3 rounded-lg text-sm text-muted bg-elevated border border-border hover:border-accent hover:text-text transition-colors`,children:[(0,R.jsxDEV)(me,{size:14,className:`shrink-0`},void 0,!1,{fileName:xC,lineNumber:34,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`flex-1 text-left truncate`,children:t(`search.title`)},void 0,!1,{fileName:xC,lineNumber:35,columnNumber:11},this),(0,R.jsxDEV)(`kbd`,{className:`hidden lg:inline-flex items-center gap-0.5 text-[10px] text-muted border border-border rounded px-1`,children:`⌘K`},void 0,!1,{fileName:xC,lineNumber:36,columnNumber:11},this)]},void 0,!0,{fileName:xC,lineNumber:27,columnNumber:9},this),i.map(e=>{let i=n.has(e.meta.id);return(0,R.jsxDEV)(`div`,{className:`mb-0.5`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(e.meta.id),className:`flex w-full items-center justify-between px-3 py-1.5 rounded-lg text-[10px] font-semibold text-muted uppercase tracking-widest hover:bg-elevated hover:text-text transition-colors`,children:[(0,R.jsxDEV)(`span`,{className:`truncate`,children:t(e.meta.label)},void 0,!1,{fileName:xC,lineNumber:49,columnNumber:19},this),(0,R.jsxDEV)(k,{size:13,className:`shrink-0 transition-transform ${i?`-rotate-90`:``}`},void 0,!1,{fileName:xC,lineNumber:50,columnNumber:19},this)]},void 0,!0,{fileName:xC,lineNumber:44,columnNumber:17},this),!i&&e.shelves.filter(e=>e.standalone!==!1).map(e=>(0,R.jsxDEV)(l,{to:`/${e.library}/${e.shelf}`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:xC,lineNumber:69,columnNumber:25},this),t(e.label)]},e.shelf,!0,{fileName:xC,lineNumber:59,columnNumber:23},this))]},e.meta.id,!0,{fileName:xC,lineNumber:43,columnNumber:15},this)}),Dn().map(e=>(0,R.jsxDEV)(l,{to:e.to,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:xC,lineNumber:85,columnNumber:13},this),t(e.labelKey)]},e.to,!0,{fileName:xC,lineNumber:77,columnNumber:11},this)),(0,R.jsxDEV)(l,{to:`/trash`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:`lucide:trash-2`,size:17,className:`shrink-0`},void 0,!1,{fileName:xC,lineNumber:96,columnNumber:11},this),` `,t(`nav.trash`)]},void 0,!0,{fileName:xC,lineNumber:89,columnNumber:9},this)]},void 0,!0,{fileName:xC,lineNumber:20,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`border-t border-border p-2 space-y-1`,children:[(0,R.jsxDEV)(Ge,{},void 0,!1,{fileName:xC,lineNumber:101,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:`lucide:settings`,size:17,className:`shrink-0`},void 0,!1,{fileName:xC,lineNumber:109,columnNumber:11},this),` `,t(`nav.settings`)]},void 0,!0,{fileName:xC,lineNumber:102,columnNumber:9},this)]},void 0,!0,{fileName:xC,lineNumber:100,columnNumber:7},this)]},void 0,!0,{fileName:xC,lineNumber:19,columnNumber:5},this)}var CC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/BottomNav.tsx`;function wC({onSearchOpen:e}){let{t}=a();return(0,R.jsxDEV)(`nav`,{className:`nav:hidden fixed bottom-0 left-0 right-0 z-40 border-t border-border bg-surface pb-safe`,children:(0,R.jsxDEV)(`div`,{className:`flex items-stretch`,children:[(0,R.jsxDEV)(l,{to:`/`,end:!0,className:({isActive:e})=>`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(he,{size:20,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:22,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.home`)},void 0,!1,{fileName:CC,lineNumber:23,columnNumber:11},this)]},void 0,!0,{fileName:CC,lineNumber:14,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,className:`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors text-muted hover:text-text`,children:[(0,R.jsxDEV)(me,{size:20,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:30,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.search`)},void 0,!1,{fileName:CC,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:CC,lineNumber:25,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(_e,{size:20,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:40,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.settings`)},void 0,!1,{fileName:CC,lineNumber:41,columnNumber:11},this)]},void 0,!0,{fileName:CC,lineNumber:33,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/trash`,className:({isActive:e})=>`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(ye,{size:20,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:50,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.trash`)},void 0,!1,{fileName:CC,lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:CC,lineNumber:43,columnNumber:9},this)]},void 0,!0,{fileName:CC,lineNumber:13,columnNumber:7},this)},void 0,!1,{fileName:CC,lineNumber:12,columnNumber:5},this)}var TC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/CommandPalette.tsx`;function EC({open:e,onClose:t}){let{t:n}=a(),r=u(),[i,o]=(0,L.useState)(``),[s,c]=(0,L.useState)([]),[l,d]=(0,L.useState)(!1),[f,p]=(0,L.useState)(0),m=(0,L.useRef)(null);(0,L.useEffect)(()=>{e&&(o(``),c([]),p(0),setTimeout(()=>m.current?.focus(),50))},[e]),(0,L.useEffect)(()=>{if(i.length<2){c([]);return}let e=setTimeout(async()=>{d(!0);try{let e=await fetch(`/api/search?q=${encodeURIComponent(i)}&limit=15`);c(e.ok?await e.json():[])}catch{c([])}finally{d(!1)}},250);return()=>clearTimeout(e)},[i]);let h=Ne().flatMap(e=>e.shelves.filter(e=>e.standalone!==!1).map(t=>({v:e,m:t}))),g=h.filter(({m:e})=>!i||n(e.label).toLowerCase().includes(i.toLowerCase())).map(({v:e,m:t})=>({kind:`shelf`,label:n(t.label),sub:n(e.meta.label),icon:t.icon,to:`/${t.library}/${t.shelf}`})),_=s.map(e=>{let t=h.find(({m:t})=>t.library===e.library&&t.shelf===e.shelf)?.m;return{kind:`record`,label:e.label||e.id,sub:e.snippet===e.label?t?n(t.label):e.shelf:e.snippet,icon:t?.icon,to:`/${e.library}/${e.shelf}/${e.id}`}}),v=i.length>=2?[..._,...g.slice(0,5)]:g,y=v.length>0?Math.min(f,v.length-1):0;function b(e){r(e.to),t()}function x(e){if(e.key===`Escape`){t();return}e.key===`ArrowDown`&&(e.preventDefault(),p(e=>Math.min(e+1,v.length-1))),e.key===`ArrowUp`&&(e.preventDefault(),p(e=>Math.max(e-1,0))),e.key===`Enter`&&v[y]&&b(v[y])}if(!e)return null;let S=i.length<2,C=i.length>=2&&_.length>0,T=i.length>=2&&g.length>0,E=v.length===0&&!l;return(0,R.jsxDEV)(`div`,{className:`fixed inset-0 z-[60] flex items-start justify-center pt-[10vh] px-4`,onClick:e=>{e.target===e.currentTarget&&t()},children:[(0,R.jsxDEV)(`div`,{className:`absolute inset-0 bg-bg/70 backdrop-blur-sm`,onClick:t},void 0,!1,{fileName:TC,lineNumber:137,columnNumber:7},this),(0,R.jsxDEV)(`div`,{role:`dialog`,"aria-label":n(`search.title`),className:`relative w-full max-w-lg bg-surface border border-border rounded-xl shadow-xl overflow-hidden`,children:[(0,R.jsxDEV)(`div`,{className:`px-4 pt-3 pb-1 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.title`)},void 0,!1,{fileName:TC,lineNumber:146,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,R.jsxDEV)(me,{size:16,className:`text-muted shrink-0`},void 0,!1,{fileName:TC,lineNumber:151,columnNumber:11},this),(0,R.jsxDEV)(`input`,{ref:m,type:`text`,value:i,onChange:e=>{o(e.target.value),p(0)},onKeyDown:x,placeholder:n(`search.placeholder`),"aria-label":n(`search.title`),className:`flex-1 bg-transparent text-text placeholder:text-muted outline-none text-sm`},void 0,!1,{fileName:TC,lineNumber:152,columnNumber:11},this),l&&(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:n(`common.loading`)},void 0,!1,{fileName:TC,lineNumber:165,columnNumber:23},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`text-muted hover:text-text transition-colors`,children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:TC,lineNumber:167,columnNumber:13},this)},void 0,!1,{fileName:TC,lineNumber:166,columnNumber:11},this)]},void 0,!0,{fileName:TC,lineNumber:150,columnNumber:9},this),(0,R.jsxDEV)(`ul`,{className:`max-h-80 overflow-y-auto py-1`,children:[E&&i.length>=2&&(0,R.jsxDEV)(`li`,{className:`px-4 py-6 text-center text-muted text-sm`,children:n(`search.noResults`)},void 0,!1,{fileName:TC,lineNumber:174,columnNumber:13},this),S&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.allShelves`)},void 0,!1,{fileName:TC,lineNumber:177,columnNumber:13},this),C&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.results`)},void 0,!1,{fileName:TC,lineNumber:182,columnNumber:13},this),v.map((e,t)=>(0,R.jsxDEV)(`li`,{children:[i.length>=2&&t>=_.length&&t===_.length&&T&&(0,R.jsxDEV)(`div`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider border-t border-border mt-1 pt-2`,children:n(`search.allShelves`)},void 0,!1,{fileName:TC,lineNumber:192,columnNumber:19},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>b(e),onMouseEnter:()=>p(t),className:`w-full flex items-center gap-3 px-4 py-2 text-left transition-colors ${t===y?`bg-accent/15 text-text`:`text-text hover:bg-elevated`}`,children:[e.icon&&(0,R.jsxDEV)(we,{name:e.icon,size:16,className:`shrink-0 text-muted`},void 0,!1,{fileName:TC,lineNumber:204,columnNumber:33},this),(0,R.jsxDEV)(`span`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(`span`,{className:`block text-sm font-medium truncate`,children:e.label},void 0,!1,{fileName:TC,lineNumber:206,columnNumber:21},this),e.sub&&(0,R.jsxDEV)(`span`,{className:`block text-xs text-muted truncate`,children:e.sub},void 0,!1,{fileName:TC,lineNumber:207,columnNumber:34},this)]},void 0,!0,{fileName:TC,lineNumber:205,columnNumber:19},this)]},void 0,!0,{fileName:TC,lineNumber:196,columnNumber:17},this)]},`${e.to}-${t}`,!0,{fileName:TC,lineNumber:190,columnNumber:15},this))]},void 0,!0,{fileName:TC,lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:TC,lineNumber:140,columnNumber:7},this)]},void 0,!0,{fileName:TC,lineNumber:128,columnNumber:5},this)}var DC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Dashboard.tsx`;function OC(){let[e,t]=(0,L.useState)({});return(0,L.useEffect)(()=>{let e=new AbortController;return fetch(`/api/counts`,{signal:e.signal}).then(e=>e.ok?e.json():{}).then(t).catch(()=>{}),()=>e.abort()},[]),e}function kC(){let{t:e}=a(),t=OC(),n=Ne();return(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`mx-auto max-w-5xl px-5 py-8 md:px-8`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-2xl font-bold tracking-tight text-text`,children:e(`dashboard.title`)},void 0,!1,{fileName:DC,lineNumber:29,columnNumber:9},this),n.length===0?(0,R.jsxDEV)(`p`,{className:`text-muted`,children:e(`dashboard.empty`)},void 0,!1,{fileName:DC,lineNumber:31,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:n.map(n=>{let r=n.shelves.filter(e=>e.standalone!==!1);return r.length===0?null:(0,R.jsxDEV)(`section`,{className:`rounded-2xl border border-border bg-surface p-4`,children:[(0,R.jsxDEV)(`h2`,{className:`mb-3 flex items-center gap-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:[n.meta.icon&&(0,R.jsxDEV)(we,{name:n.meta.icon,size:16,className:`shrink-0`},void 0,!1,{fileName:DC,lineNumber:40,columnNumber:37},this),e(n.meta.label)]},void 0,!0,{fileName:DC,lineNumber:39,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:r.map(n=>(0,R.jsxDEV)(l,{to:`/${n.library}/${n.shelf}`,className:`flex items-center gap-2.5 rounded-lg px-2.5 py-2 text-sm text-text transition-colors hover:bg-elevated`,children:[(0,R.jsxDEV)(we,{name:n.icon,size:17,className:`shrink-0 text-muted`},void 0,!1,{fileName:DC,lineNumber:50,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate`,children:e(n.label)},void 0,!1,{fileName:DC,lineNumber:51,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`shrink-0 rounded-full bg-accent/15 px-2 py-0.5 text-xs font-medium tabular-nums text-accent`,children:t[`${n.library}/${n.shelf}`]??`·`},void 0,!1,{fileName:DC,lineNumber:52,columnNumber:25},this)]},n.shelf,!0,{fileName:DC,lineNumber:45,columnNumber:23},this))},void 0,!1,{fileName:DC,lineNumber:43,columnNumber:19},this)]},n.meta.id,!0,{fileName:DC,lineNumber:38,columnNumber:17},this)})},void 0,!1,{fileName:DC,lineNumber:33,columnNumber:11},this)]},void 0,!0,{fileName:DC,lineNumber:28,columnNumber:7},this)},void 0,!1,{fileName:DC,lineNumber:27,columnNumber:5},this)}var AC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/TrashPage.tsx`;function jC(e){let t=Ne().flatMap(e=>e.shelves).find(t=>t.library===e.library&&t.shelf===e.shelf);return t?fn(t,e.record):String(e.record.name??e.record.id??``)}function MC(){let{t:e}=a(),[t,n]=(0,L.useState)([]),[r,i]=(0,L.useState)(!0),o=(0,L.useCallback)(async()=>{i(!0);try{n(await hr())}catch{y.error(e(`common.error`))}finally{i(!1)}},[e]);(0,L.useEffect)(()=>{o()},[o]);async function s(t){if(!await pr(t.library,t.shelf,Number(t.record.id))){y.error(e(`common.error`));return}y.success(e(`trash.restored`)),n(e=>e.filter(e=>e!==t))}async function c(t){if(await We({title:e(`trash.confirmPurge`),confirmLabel:e(`trash.purge`),variant:`destructive`})){if(!await Xn(t.library,t.shelf,Number(t.record.id))){y.error(e(`common.error`));return}y.success(e(`trash.purged`)),n(e=>e.filter(e=>e!==t))}}return(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(ze,{children:(0,R.jsxDEV)(`h1`,{className:`text-2xl font-bold text-text`,children:e(`trash.title`)},void 0,!1,{fileName:AC,lineNumber:66,columnNumber:9},this)},void 0,!1,{fileName:AC,lineNumber:65,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`p-4 sm:p-6 max-w-4xl w-full mx-auto`,children:[(0,R.jsxDEV)(`p`,{className:`text-sm text-muted mb-5`,children:e(`trash.description`)},void 0,!1,{fileName:AC,lineNumber:69,columnNumber:9},this),r?(0,R.jsxDEV)(`div`,{className:`py-16 text-center text-muted`,children:e(`common.loading`)},void 0,!1,{fileName:AC,lineNumber:71,columnNumber:11},this):t.length===0?(0,R.jsxDEV)(`div`,{className:`py-16 text-center text-muted`,children:e(`trash.empty`)},void 0,!1,{fileName:AC,lineNumber:73,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`space-y-2`,children:t.map(t=>{let n=Number(t.record.id);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-3 rounded-xl border border-border bg-surface px-4 py-3`,children:[(0,R.jsxDEV)(ye,{size:18,className:`shrink-0 text-muted`},void 0,!1,{fileName:AC,lineNumber:83,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`truncate font-medium text-text`,children:jC(t)},void 0,!1,{fileName:AC,lineNumber:85,columnNumber:21},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e(t.label),` · `,t.library,`/`,t.shelf,` · #`,n]},void 0,!0,{fileName:AC,lineNumber:86,columnNumber:21},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:String(t.record.deleted_at??``)},void 0,!1,{fileName:AC,lineNumber:87,columnNumber:21},this)]},void 0,!0,{fileName:AC,lineNumber:84,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,R.jsxDEV)(F,{variant:`secondary`,size:`sm`,onClick:()=>void s(t),children:[(0,R.jsxDEV)(Et,{size:15},void 0,!1,{fileName:AC,lineNumber:91,columnNumber:23},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`trash.restore`)},void 0,!1,{fileName:AC,lineNumber:92,columnNumber:23},this)]},void 0,!0,{fileName:AC,lineNumber:90,columnNumber:21},this),(0,R.jsxDEV)(F,{variant:`destructive`,size:`sm`,onClick:()=>void c(t),children:[(0,R.jsxDEV)(ye,{size:15},void 0,!1,{fileName:AC,lineNumber:95,columnNumber:23},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`trash.purge`)},void 0,!1,{fileName:AC,lineNumber:96,columnNumber:23},this)]},void 0,!0,{fileName:AC,lineNumber:94,columnNumber:21},this)]},void 0,!0,{fileName:AC,lineNumber:89,columnNumber:19},this)]},`${t.library}/${t.shelf}/${n}`,!0,{fileName:AC,lineNumber:79,columnNumber:17},this)})},void 0,!1,{fileName:AC,lineNumber:75,columnNumber:11},this)]},void 0,!0,{fileName:AC,lineNumber:68,columnNumber:7},this)]},void 0,!0,{fileName:AC,lineNumber:64,columnNumber:5},this)}var NC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/AccountSettingsPage.tsx`,PC=[Yt.string({key:`displayName`,label:`auth.fieldDisplayName`}),Yt.password({key:`password`,label:`auth.fieldPasswordOptional`}),Yt.internalApiToken({key:`apiTokens`,label:`auth.tokensTitle`}),Yt.internalOauthGrants({key:`oauthGrants`,label:`auth.grantsTitle`})];function FC(){let{t:e}=a(),[t,n]=(0,L.useState)(!1);async function r(){let e=await lr();return{displayName:e?.displayName??``,password:e?.password??``}}async function i(e){let t=await cr({displayName:e.displayName,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,password:t.data.password}}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}async function o(){n(!0);try{await sr()}finally{window.location.href=`/login`}}return(0,R.jsxDEV)(b,{fields:PC,recordCtx:{library:``,shelf:`account`,recordId:`me`},load:r,save:i,title:e(`auth.accountTitle`),backTo:`/settings`,backLabel:e(`settings.title`),footer:(0,R.jsxDEV)(`section`,{className:`mt-10 border-t border-border pt-6`,"aria-labelledby":`account-session-title`,children:[(0,R.jsxDEV)(`h2`,{id:`account-session-title`,className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`auth.sessionTitle`)},void 0,!1,{fileName:NC,lineNumber:60,columnNumber:11},this),(0,R.jsxDEV)(Er,{className:`flex items-center justify-between gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`p`,{className:`min-w-0 text-sm text-muted`,children:e(`auth.logoutDescription`)},void 0,!1,{fileName:NC,lineNumber:64,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`destructive`,size:`sm`,disabled:t,onClick:o,className:`shrink-0`,children:[(0,R.jsxDEV)(we,{name:`lucide:log-out`,size:16},void 0,!1,{fileName:NC,lineNumber:73,columnNumber:15},this),e(`auth.logout`)]},void 0,!0,{fileName:NC,lineNumber:65,columnNumber:13},this)]},void 0,!0,{fileName:NC,lineNumber:63,columnNumber:11},this)]},void 0,!0,{fileName:NC,lineNumber:59,columnNumber:9},this)},void 0,!1,{fileName:NC,lineNumber:50,columnNumber:5},this)}var IC=tn({shelf:`users`,library:``,label:`auth.usersTitle`,icon:`lucide:users`,views:{list:{fields:[`login`,`displayName`,`role`,`disabled`]}},fields:[Yt.string({key:`login`,label:`auth.fieldLogin`}),Yt.string({key:`displayName`,label:`auth.fieldDisplayName`}),Yt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),Yt.boolean({key:`disabled`,label:`auth.fieldDisabled`})]});function LC(e){if(!e)return null;let[t,n]=e.split(`:`);return!t||n!==`asc`&&n!==`desc`?null:{key:t,dir:n}}function RC(){let[e,t]=s(),[n,r]=(0,L.useState)(()=>e.get(`q`)??``),[i,a]=(0,L.useState)(n);(0,L.useEffect)(()=>{let e=setTimeout(()=>{a(n),t(e=>{let t=new URLSearchParams(e);return n?t.set(`q`,n):t.delete(`q`),t},{replace:!0})},300);return()=>clearTimeout(e)},[n,t]);let o=LC(e.get(`sort`));function c(e){t(t=>{let n=new URLSearchParams(t),r=LC(n.get(`sort`)),i;return i=!r||r.key!==e?{key:e,dir:`asc`}:r.dir===`asc`?{key:e,dir:`desc`}:null,i?n.set(`sort`,`${i.key}:${i.dir}`):n.delete(`sort`),n},{replace:!0})}function l(e){t(t=>{let n=new URLSearchParams(t);return e?n.set(`sort`,`${e.key}:${e.dir}`):n.delete(`sort`),n},{replace:!0})}return{q:n,setQ:r,debouncedQ:i,sort:o,toggleSort:c,setSort:l}}var zC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/shared/Dialog.tsx`;function BC({title:e,onClose:t,children:n}){return(0,R.jsxDEV)(Cr,{open:!0,onOpenChange:e=>{e||t()},children:(0,R.jsxDEV)(xr,{children:[(0,R.jsxDEV)(br,{children:(0,R.jsxDEV)(yr,{children:e},void 0,!1,{fileName:zC,lineNumber:24,columnNumber:11},this)},void 0,!1,{fileName:zC,lineNumber:23,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`px-5 pb-5`,children:n},void 0,!1,{fileName:zC,lineNumber:26,columnNumber:9},this)]},void 0,!0,{fileName:zC,lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:zC,lineNumber:16,columnNumber:5},this)}var VC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/GroupPanel.tsx`,HC=`__none__`;function UC({grouping:e,total:t,sort:n}){let{t:r}=a(),{fields:i,field:o,setField:s,facets:c,selected:l,setSelected:u}=e;return(0,R.jsxDEV)(`div`,{className:`folder-tree flex flex-col gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`px-1 pt-1`,children:(0,R.jsxDEV)(`div`,{className:`folder-node${l===null?` active`:``}`,onClick:()=>u(null),children:[(0,R.jsxDEV)(`span`,{className:`folder-name`,children:r(`group.all`)},void 0,!1,{fileName:VC,lineNumber:30,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:t},void 0,!1,{fileName:VC,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:VC,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:VC,lineNumber:28,columnNumber:7},this),n&&n.keys.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1 list:hidden`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`list.sortBy`)},void 0,!1,{fileName:VC,lineNumber:39,columnNumber:11},this),(0,R.jsxDEV)(Je,{value:n.value?`${n.value.key}:${n.value.dir}`:HC,onValueChange:e=>{if(e===HC)return n.onChange(null);let[t,r]=e.split(`:`);n.onChange({key:t,dir:r})},children:[(0,R.jsxDEV)(Xe,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(Ye,{placeholder:r(`list.sortBy`)},void 0,!1,{fileName:VC,lineNumber:49,columnNumber:15},this)},void 0,!1,{fileName:VC,lineNumber:48,columnNumber:13},this),(0,R.jsxDEV)(yt,{children:[(0,R.jsxDEV)($e,{value:HC,children:r(`list.sortNone`)},void 0,!1,{fileName:VC,lineNumber:52,columnNumber:15},this),n.keys.flatMap(({key:e,label:t})=>[(0,R.jsxDEV)($e,{value:`${e}:asc`,children:[t,` ↑`]},`${e}:asc`,!0,{fileName:VC,lineNumber:54,columnNumber:17},this),(0,R.jsxDEV)($e,{value:`${e}:desc`,children:[t,` ↓`]},`${e}:desc`,!0,{fileName:VC,lineNumber:57,columnNumber:17},this)])]},void 0,!0,{fileName:VC,lineNumber:51,columnNumber:13},this)]},void 0,!0,{fileName:VC,lineNumber:40,columnNumber:11},this)]},void 0,!0,{fileName:VC,lineNumber:38,columnNumber:9},this),i.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`group.field`)},void 0,!1,{fileName:VC,lineNumber:69,columnNumber:11},this),(0,R.jsxDEV)(Je,{value:o??void 0,onValueChange:s,children:[(0,R.jsxDEV)(Xe,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(Ye,{placeholder:r(`group.field`)},void 0,!1,{fileName:VC,lineNumber:72,columnNumber:15},this)},void 0,!1,{fileName:VC,lineNumber:71,columnNumber:13},this),(0,R.jsxDEV)(yt,{children:i.map(e=>(0,R.jsxDEV)($e,{value:e.key,children:e.label},e.key,!1,{fileName:VC,lineNumber:76,columnNumber:17},this))},void 0,!1,{fileName:VC,lineNumber:74,columnNumber:13},this)]},void 0,!0,{fileName:VC,lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:VC,lineNumber:68,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`folder-tree-scroll`,children:(0,R.jsxDEV)(`div`,{className:`folder-tree-nodes`,children:c.map(e=>(0,R.jsxDEV)(`div`,{className:`folder-node${l===e.key?` active`:``}`,title:e.label,onClick:()=>u(e.key),children:[(0,R.jsxDEV)(`span`,{className:`folder-name truncate`,children:e.label},void 0,!1,{fileName:VC,lineNumber:95,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:e.count},void 0,!1,{fileName:VC,lineNumber:96,columnNumber:15},this)]},e.key,!0,{fileName:VC,lineNumber:89,columnNumber:13},this))},void 0,!1,{fileName:VC,lineNumber:87,columnNumber:9},this)},void 0,!1,{fileName:VC,lineNumber:86,columnNumber:7},this)]},void 0,!0,{fileName:VC,lineNumber:26,columnNumber:5},this)}function WC(e,t){let{t:n}=a(),r=t?mn(e.fields)[t]:void 0,i=r?.prim===`relation`?r.relation:void 0,o=r?.hints?.displayKey??`name`,{labelMap:s}=gv(i?.library??``,i?.shelf??``,o);return(0,L.useMemo)(()=>({t:n,labelMap:s}),[n,s])}function GC(e,t,n,r,i){let a=new Map,o=0;for(let i of t){let t=_r(e,i[n],r);if(!t.length){o++;continue}for(let e of t){let t=a.get(e.value)??{label:e.label,n:0};t.n++,a.set(e.value,t)}}let s=[...a.entries()].map(([e,{label:t,n}])=>({key:e,label:t,count:n})).sort((e,t)=>t.count-e.count||e.label.localeCompare(t.label));return o>0&&s.push({key:KC,label:i,count:o}),s}var KC=`\0__none__`;function qC(e,t){let{t:n}=a(),r=mn(e.fields),i=(0,L.useMemo)(()=>rn(e).filter(e=>r[e]),[e,r]),o=(0,L.useMemo)(()=>i.map(e=>({key:e,label:r[e]?n(r[e].label):e})),[i,r,n]),[c,l]=s(),u=c.get(`groupBy`),d=c.get(`groupItem`)??null,f=(0,L.useMemo)(()=>{if(u&&i.includes(u))return u;let t=cn(e);return t&&i.includes(t)?t:i[0]??null},[u,i,e]),p=WC(e,f);return{fields:o,field:f,setField:e=>{l(t=>{let n=new URLSearchParams(t);return n.set(`groupBy`,e),n.delete(`groupItem`),n},{replace:!0})},facets:(0,L.useMemo)(()=>{if(!f)return[];let e=r[f];return e?GC(e,t,f,p,n(`group.noValue`)):[]},[f,r,t,p,n]),selected:d,setSelected:e=>{l(t=>{let n=new URLSearchParams(t);return e===null?n.delete(`groupItem`):n.set(`groupItem`,e),n},{replace:!0})},filtered:(0,L.useMemo)(()=>{if(!f||d===null)return t;let e=r[f];return e?d===`\0__none__`?t.filter(t=>_r(e,t[f],p).length===0):t.filter(t=>_r(e,t[f],p).some(e=>e.value===d)):t},[t,f,r,d,p])}}function JC(e,t,n,r,i){let a=e=>{if(!r)return String(e[t]??``);let n=_r(r,e[t],i)[0];return n?.sort??n?.value??``};return[...e].sort((e,t)=>{let r=a(e).localeCompare(a(t),void 0,{numeric:!0,sensitivity:`base`});return n===`asc`?r:-r})}var YC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/EntityListView.tsx`;function XC({mod:e,hrefBase:t,fetchRows:n,onDelete:r,resetKey:i,cacheKey:o}){let{t:c}=a(),l=u(),[d,f]=(0,L.useState)(null),[p,m]=(0,L.useState)(null),[h,g]=(0,L.useState)(!1),[_,v]=(0,L.useState)(0),{q:b,setQ:x,debouncedQ:S,sort:C,toggleSort:w,setSort:T}=RC(),[,E]=s(),D=Tt(`panel`,1e3),O=o?`${o}?${S}`:null,[k,A]=(0,L.useState)(()=>O?le(O)?.rows??[]:[]),[ee,te]=(0,L.useState)(k.length===0),ne=(0,L.useRef)(0),j=(0,L.useCallback)(async(e=S)=>{let t=o?`${o}?${e}`:null,r=t?le(t):void 0;r&&A(r.rows),te(!r);let i=++ne.current;try{let r=await n(e);if(i!==ne.current)return;A(r),t&&se(t,r)}catch{i===ne.current&&!r&&A([])}finally{i===ne.current&&te(!1)}},[n,S,o]),M=(0,L.useRef)(null);(0,L.useEffect)(()=>{i!==void 0&&(M.current!==null&&M.current!==i&&(x(``),E({},{replace:!0})),M.current=i)},[i]),(0,L.useEffect)(()=>{j()},[j,_]);let re=qC(e,k),ie=WC(e,C?.key??null),ae=(0,L.useMemo)(()=>{if(!C)return re.filtered;let t=mn(e.fields)[C.key];return JC(re.filtered,C.key,C.dir,t,ie)},[re.filtered,C,e,ie]),oe=(0,L.useMemo)(()=>sn(e),[e]),ce=mn(e.fields),ue=(0,L.useMemo)(()=>{let t=on(e),n=lc(t);if(!n)return console.error(`[list] unknown view '${t}' for ${e.library}/${e.shelf} — showing table`),lc(`table`);let r=n.check?.(e,oe);return r?(console.error(`[list] view '${t}' is not compatible with ${e.library}/${e.shelf}: ${r} — showing table`),lc(`table`)):n},[e,oe]),P={keys:oe.map(e=>({key:e,label:iC(c,e,ce[e])})),value:C,onChange:T};function de(){l(`${t}/new`)}let fe=(0,L.useCallback)(async e=>{if(!await We({title:c(`actions.confirmDelete`),confirmLabel:c(`actions.delete`),variant:`destructive`}))return;f(e);let t=await r(e);if(f(null),!t.ok){y.error(t.error===`last_admin`?c(`auth.lastAdminError`):c(`common.error`));return}o&&(N(o),eC(o)),v(e=>e+1)},[r,c,o]),pe=(0,L.useCallback)(async t=>{let n=k.find(e=>String(e.id)===t)?._activity;m(t);let r=await Jn(e.library,e.shelf,t,!n?.favorite);if(m(null),!r){y.error(c(`common.error`));return}o&&N(o),v(e=>e+1)},[k,e.library,e.shelf,o,c]);return(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(ze,{actions:(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`relative w-[220px] hidden nav:block`,children:[(0,R.jsxDEV)(me,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:YC,lineNumber:209,columnNumber:15},this),(0,R.jsxDEV)(`input`,{type:`search`,value:b,onChange:e=>x(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-8 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:YC,lineNumber:210,columnNumber:15},this)]},void 0,!0,{fileName:YC,lineNumber:208,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,className:`panel:hidden`,onClick:()=>g(!0),children:(0,R.jsxDEV)(Ds,{size:16},void 0,!1,{fileName:YC,lineNumber:221,columnNumber:15},this)},void 0,!1,{fileName:YC,lineNumber:220,columnNumber:13},this),(0,R.jsxDEV)(F,{onClick:de,children:[(0,R.jsxDEV)(Ut,{size:16},void 0,!1,{fileName:YC,lineNumber:224,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:c(`actions.new`)},void 0,!1,{fileName:YC,lineNumber:225,columnNumber:15},this)]},void 0,!0,{fileName:YC,lineNumber:223,columnNumber:13},this)]},void 0,!0,{fileName:YC,lineNumber:206,columnNumber:11},this),children:[(0,R.jsxDEV)(we,{name:e.icon,size:20,className:`shrink-0 text-text`},void 0,!1,{fileName:YC,lineNumber:230,columnNumber:9},this),(0,R.jsxDEV)(`h1`,{className:`text-base font-bold text-text truncate`,children:c(e.label)},void 0,!1,{fileName:YC,lineNumber:231,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`text-xs font-medium bg-accent/15 text-accent rounded-full px-2 py-0.5 tabular-nums shrink-0`,children:ae.length},void 0,!1,{fileName:YC,lineNumber:232,columnNumber:9},this),ee&&k.length>0&&(0,R.jsxDEV)(Dt,{size:13,className:`animate-spin text-muted shrink-0`,"aria-hidden":!0},void 0,!1,{fileName:YC,lineNumber:236,columnNumber:40},this)]},void 0,!0,{fileName:YC,lineNumber:204,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex items-start`,children:[D&&(0,R.jsxDEV)(`div`,{className:`hidden panel:block w-56 shrink-0 border-r border-border sticky top-[52px] self-start h-[calc(100dvh-52px)] overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`pt-2`,children:(0,R.jsxDEV)(UC,{grouping:re,total:k.length,sort:P},void 0,!1,{fileName:YC,lineNumber:245,columnNumber:15},this)},void 0,!1,{fileName:YC,lineNumber:244,columnNumber:13},this)},void 0,!1,{fileName:YC,lineNumber:243,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:ae.length===0?ee?(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted`,children:(0,R.jsxDEV)(Dt,{size:28,className:`animate-spin`},void 0,!1,{fileName:YC,lineNumber:257,columnNumber:17},this)},void 0,!1,{fileName:YC,lineNumber:256,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col items-center justify-center gap-4 py-20 text-muted`,children:[(0,R.jsxDEV)(we,{name:e.icon,size:48,className:`text-muted`},void 0,!1,{fileName:YC,lineNumber:261,columnNumber:17},this),(0,R.jsxDEV)(`p`,{className:`text-base`,children:c(`list.empty`)},void 0,!1,{fileName:YC,lineNumber:262,columnNumber:17},this),(0,R.jsxDEV)(F,{onClick:de,children:[(0,R.jsxDEV)(Ut,{size:16},void 0,!1,{fileName:YC,lineNumber:264,columnNumber:19},this),` `,c(`actions.addFirst`)]},void 0,!0,{fileName:YC,lineNumber:263,columnNumber:17},this)]},void 0,!0,{fileName:YC,lineNumber:260,columnNumber:15},this):(0,R.jsxDEV)(ue.View,{rows:ae,shelf:e,keys:oe,hrefBase:t,onDelete:fe,deletingId:d,onToggleFavorite:pe,favoriteBusyId:p,sort:C,onToggleSort:w,scrollKey:O??void 0},void 0,!1,{fileName:YC,lineNumber:269,columnNumber:13},this)},void 0,!1,{fileName:YC,lineNumber:251,columnNumber:9},this)]},void 0,!0,{fileName:YC,lineNumber:240,columnNumber:7},this),h&&(0,R.jsxDEV)(BC,{title:c(`group.title`),onClose:()=>g(!1),children:[(0,R.jsxDEV)(`div`,{className:`relative mb-4 nav:hidden`,children:[(0,R.jsxDEV)(me,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:YC,lineNumber:291,columnNumber:13},this),(0,R.jsxDEV)(`input`,{type:`search`,value:b,onChange:e=>x(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-9 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:YC,lineNumber:292,columnNumber:13},this)]},void 0,!0,{fileName:YC,lineNumber:290,columnNumber:11},this),(0,R.jsxDEV)(UC,{grouping:re,total:k.length,sort:P},void 0,!1,{fileName:YC,lineNumber:301,columnNumber:11},this)]},void 0,!0,{fileName:YC,lineNumber:288,columnNumber:9},this)]},void 0,!0,{fileName:YC,lineNumber:202,columnNumber:5},this)}var ZC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UsersListPage.tsx`;function QC(){return(0,R.jsxDEV)(XC,{mod:IC,hrefBase:`/settings/users`,fetchRows:async e=>{let t=await $n(e);return t.ok?t.data:[]},onDelete:async e=>{let t=await tr(Number(e));return t.ok?{ok:!0}:t.status===409?{ok:!1,error:`last_admin`}:{ok:!1}}},void 0,!1,{fileName:ZC,lineNumber:7,columnNumber:5},this)}var $C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserCreatePage.tsx`,ew=[Yt.string({key:`login`,label:`auth.fieldLogin`,required:!0}),Yt.string({key:`displayName`,label:`auth.fieldDisplayName`,required:!0}),Yt.password({key:`password`,label:`auth.password`,required:!0}),Yt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]})];function tw(){let{t:e}=a(),t=u();async function n(){return{login:``,displayName:``,password:``,role:`member`}}async function r(e){let n=await or({login:e.login,displayName:e.displayName,password:e.password,role:e.role});return n.ok?(t(`/settings/users`),{ok:!0,row:{login:n.data.login,displayName:n.data.displayName,password:n.data.password,role:n.data.role}}):n.status===422?{ok:!1,status:422,issues:n.data.issues}:{ok:!1,status:n.status}}return(0,R.jsxDEV)(b,{fields:ew,recordCtx:{library:``,shelf:`users`,recordId:`new`},load:n,save:r,title:e(`auth.userCreateTitle`),backTo:`/settings/users`,backLabel:e(`auth.usersTitle`)},void 0,!1,{fileName:$C,lineNumber:46,columnNumber:5},this)}var nw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserEditPage.tsx`,rw=[Yt.string({key:`displayName`,label:`auth.fieldDisplayName`}),Yt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),Yt.boolean({key:`disabled`,label:`auth.fieldDisabled`}),Yt.password({key:`password`,label:`auth.fieldPasswordOptional`})];function iw(){let{id:e}=_(),{t}=a(),n=Number(e);async function r(){let e=await $n(),t=e.ok?e.data.find(e=>e.id===n):void 0;return{displayName:t?.displayName??``,role:t?.role??`member`,disabled:t?.disabled??!1,password:t?.password??``}}async function i(e){let t=await qn(n,{displayName:e.displayName,role:e.role,disabled:e.disabled,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,role:t.data.role,disabled:t.data.disabled,password:t.data.password}}:t.status===409?{ok:!1,status:422,issues:[{field:`role`,code:`last_admin`,path:[],params:{}}]}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}return(0,R.jsxDEV)(b,{fields:rw,recordCtx:{library:``,shelf:`users`,recordId:e??``},load:r,save:i,title:t(`auth.usersTitle`),backTo:`/settings/users`,backLabel:t(`auth.usersTitle`)},void 0,!1,{fileName:nw,lineNumber:50,columnNumber:5},this)}var aw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/ShelfView.tsx`;function ow(){let{t:e}=a(),{library:t,shelf:n}=_(),r=Ne().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),i=(0,L.useCallback)(async e=>{let r=e?`?q=${encodeURIComponent(e)}`:``;try{return await nr(`/api/${t}/${n}${r}`)}catch{return[]}},[t,n]),o=(0,L.useCallback)(async e=>(await dr(t,n,e),{ok:!0}),[t,n]);return!r||r.standalone===!1?(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:aw,lineNumber:37,columnNumber:44},this):(0,R.jsxDEV)(XC,{mod:r,hrefBase:`/${t}/${n}`,resetKey:`${t}:${n}`,cacheKey:`${t}/${n}`,fetchRows:i,onDelete:o},void 0,!1,{fileName:aw,lineNumber:40,columnNumber:5},this)}function sw(e,t){let n={muted:[]};for(let[r,i]of dn(e.fields)){if(i.virtual||gn(i.hidden,t))continue;let e=i.hints.role;e===`cover`&&!n.cover?n.cover={key:r,field:i}:e===`avatar`&&!n.avatar&&(n.avatar={key:r,field:i}),i.hints.emphasis===`muted`&&n.muted.push({key:r,field:i})}return n}var cw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/display/index.tsx`;function lw(e){return e!=null&&e!==``}function uw(e,t,n,r,i){return e||!n?Promise.resolve(void 0):t(()=>n(r,i))}var dw=new Set([`image`,`media`,`poster`,`cover`]);function fw({field:e,fieldKey:t,label:n,value:r,recordCtx:i,onChange:a,editAll:o}){return o?(0,R.jsxDEV)(gr,{field:e,fieldKey:t,label:n,value:r,mode:`edit`,recordCtx:i,onChange:a},void 0,!1,{fileName:cw,lineNumber:102,columnNumber:7},this):dw.has(e.kind)?ly(r).length?(0,R.jsxDEV)(`div`,{className:`group/field relative`,children:(0,R.jsxDEV)(hy,{value:r,banner:!0},void 0,!1,{fileName:cw,lineNumber:146,columnNumber:7},this)},void 0,!1,{fileName:cw,lineNumber:145,columnNumber:5},this):(0,R.jsxDEV)(gr,{field:e,fieldKey:t,label:n,value:r,mode:`view`,recordCtx:i,onChange:a},void 0,!1,{fileName:cw,lineNumber:131,columnNumber:7},this):(0,R.jsxDEV)(gr,{field:e,fieldKey:t,label:n,value:r,mode:`view`,recordCtx:i,onChange:a},void 0,!1,{fileName:cw,lineNumber:115,columnNumber:7},this)}function pw(e,t,n,r){let{t:i}=a(),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)({}),[u,d]=(0,L.useState)({}),[f,p]=(0,L.useState)(!1),m=t=>t in c?c[t]:e?.[t],h=(e,t)=>l(n=>({...n,[e]:t})),g=(e,t,n)=>u[e]&&t in u[e]?u[e][t]:n?.[t],_=(e,t,n)=>d(r=>({...r,[e]:{...r[e],[t]:n}}));async function v(){if(!t)return;p(!0);let e=y.loading(i(`save.saving`)),a;if(r){let e={...c};for(let[t,n]of Object.entries(u))Object.keys(n).length&&(e[`_extend_${t}`]=n);Object.keys(e).length&&(a=await r(e)??void 0)}else{for(let[e,n]of Object.entries(c))a??=await t(e,n)??void 0;if(n)for(let[e,t]of Object.entries(u))for(let[r,i]of Object.entries(t))a??=await n(e,r,i)??void 0}if(p(!1),a){y.error(a,{id:e});return}y.success(i(`save.done`),{id:e}),s(!1),l({}),d({})}return{editAll:o,savingAll:f,startAll:()=>{l({}),d({}),s(!0)},cancelAll:()=>{s(!1),l({}),d({})},saveAll:v,baseVal:m,setBaseDraft:h,extVal:g,setExtDraft:_}}function mw({shelf:e,record:t,onUpdate:n,onUpdateExtend:r,edit:i,errorAt:o=(()=>void 0)}){let{t:s}=a(),{saving:c,run:l}=Q_(),u=mn(e.fields),d=e=>{let t=u[e];return t?.label?s(t.label):e},f=(e,t)=>{let n=u[e]?.options?.find(e=>e.value===String(t));return n?s(n.title):String(t)},p=un(e),m=(0,L.useMemo)(()=>u[p]??{kind:`text`,label:`core.fields.name`,required:!1,prim:`text`,hints:{},column:`text`,zod:void 0},[u,p]),h=!!n,g={library:e.library,shelf:e.shelf,recordId:String(t.id)},_=(0,L.useMemo)(()=>{let n={...t};if(i?.editAll)for(let[t]of dn(e.fields))n[t]=i.baseVal(t);return n},[t,i?.editAll,i?.baseVal,e.fields]),v=(0,L.useMemo)(()=>sw(e,_),[e,_]),y=(0,L.useMemo)(()=>new Set([v.cover?.key,v.avatar?.key,...v.muted.map(e=>e.key)].filter(Boolean)),[v]),b=i?.editAll?`edit`:`view`,x=e=>i?.editAll?i.baseVal(e):t[e],S=!!(v.cover&&!i?.editAll&&dw.has(v.cover.field.kind)&&ly(x(v.cover.key)).length>0),C=e=>i?.editAll?t=>i.setBaseDraft(e,t):n?t=>uw(c,l,n,e,t):void 0,w={bridge:{mode:i?.editAll?`edit`:`view`,recordCtx:g,values:_,getValue:e=>i?.editAll?i.baseVal(e):t[e],setValue:(e,t)=>{i?.editAll?i.setBaseDraft(e,t):uw(c,l,n,e,t)},isHidden:e=>{if(e===p||y.has(e))return!0;let t=u[e];return!!(t?.virtual||gn(t?.hidden,_))},requiredOf:e=>gn(u[e]?.required,_),error:e=>o([e]),touch:()=>{}}},T=(0,L.useMemo)(()=>Ie(e.library,e.shelf).map(e=>({ext:e,data:t._extends?.[e.id]})).filter(({ext:e,data:t})=>t!=null&&dn(e.fields).some(([e])=>lw(t[e]))||e.showWhen!=null&&en(e.showWhen,_)),[e.library,e.shelf,t,_]);return(0,R.jsxDEV)(Re.Provider,{value:o,children:(0,R.jsxDEV)(`article`,{className:`max-w-7xl mx-auto px-5 py-8 md:px-8 md:py-10 flex flex-col ${Ft}`,children:[v.cover&&(0,R.jsxDEV)(`div`,{className:S?`-mx-5 -mt-8 md:-mx-8 md:-mt-10`:``,children:(0,R.jsxDEV)(fw,{field:v.cover.field,fieldKey:v.cover.key,label:d(v.cover.key),value:x(v.cover.key),recordCtx:g,onChange:C(v.cover.key),editAll:i?.editAll},void 0,!1,{fileName:cw,lineNumber:380,columnNumber:11},this)},void 0,!1,{fileName:cw,lineNumber:379,columnNumber:9},this),(0,R.jsxDEV)(`header`,{className:`flex items-center gap-4`,role:`heading`,"aria-level":1,children:[v.avatar&&(0,R.jsxDEV)(`div`,{className:`shrink-0`,children:(0,R.jsxDEV)(gr,{field:v.avatar.field,fieldKey:v.avatar.key,label:d(v.avatar.key),value:x(v.avatar.key),mode:b,recordCtx:g,onChange:C(v.avatar.key)},void 0,!1,{fileName:cw,lineNumber:397,columnNumber:13},this)},void 0,!1,{fileName:cw,lineNumber:396,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsxDEV)(gr,{field:m,fieldKey:p,value:x(p),mode:b,recordCtx:g,onChange:C(p)},void 0,!1,{fileName:cw,lineNumber:409,columnNumber:11},this)},void 0,!1,{fileName:cw,lineNumber:408,columnNumber:9},this)]},void 0,!0,{fileName:cw,lineNumber:394,columnNumber:7},this),(0,R.jsxDEV)(Le,{items:e.fields,ctx:w},void 0,!1,{fileName:cw,lineNumber:421,columnNumber:7},this),T.map(({ext:n,data:a})=>(0,R.jsxDEV)(hw,{ext:n,data:a,m:e,recordId:String(t.id),editable:h,edit:i,onUpdateExtend:r,fieldLabelOf:d,valueLabelOf:f},n.id,!1,{fileName:cw,lineNumber:426,columnNumber:9},this)),v.muted.length>0&&(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-3 flex flex-col gap-1.5`,children:v.muted.map(({key:e,field:t})=>(0,R.jsxDEV)(gr,{field:t,fieldKey:e,label:d(e),value:x(e),mode:b,recordCtx:g,onChange:C(e)},e,!1,{fileName:cw,lineNumber:444,columnNumber:13},this))},void 0,!1,{fileName:cw,lineNumber:442,columnNumber:9},this)]},void 0,!0,{fileName:cw,lineNumber:374,columnNumber:5},this)},void 0,!1,{fileName:cw,lineNumber:373,columnNumber:5},this)}function hw({ext:e,data:t,m:n,recordId:r,editable:i,edit:o,onUpdateExtend:s,fieldLabelOf:c,valueLabelOf:l}){let{t:u}=a(),{saving:d,run:f}=Q_(),p=o?.editAll?`edit`:`view`,m=Le({items:e.fields,ctx:{renderField:(a,c)=>c.virtual||!i&&!lw(t?.[a])?null:(0,R.jsxDEV)(gr,{field:c,fieldKey:a,extId:e.id,value:o?.editAll?o.extVal(e.id,a,t):t?.[a],label:c.label?u(c.label):void 0,required:c.required===!0,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>uw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:cw,lineNumber:502,columnNumber:9},this),renderGroup:(a,c)=>{let l=o?.editAll?o.extVal(e.id,a,t):t?.[a];if(!i&&!lw(l))return null;let u=xn({kind:wn(c)});return u?(0,R.jsxDEV)(u.Page,{el:c,value:l,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>uw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:cw,lineNumber:527,columnNumber:9},this):null}}});return m==null?null:(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-6`,children:(0,R.jsxDEV)(je,{label:u(e.label),icon:e.icon??`lucide:puzzle`,rail:!1,tone:`section`,labelAfter:(0,R.jsxDEV)(pe,{ext:e,fieldLabel:c,valueLabel:l},void 0,!1,{fileName:cw,lineNumber:556,columnNumber:21},this),children:m},void 0,!1,{fileName:cw,lineNumber:551,columnNumber:7},this)},void 0,!1,{fileName:cw,lineNumber:550,columnNumber:5},this)}function gw(e){return c(()=>import(e),[])}var _w=Object.assign({"../plugin-claude-agent/src/index.ts":()=>c(()=>import(`./src-Dajw9Az6.js`),__vite__mapDeps([28,29,1,30,31])),"../plugin-console/src/index.ts":()=>c(()=>import(`./src-KGPu1fwh.js`),__vite__mapDeps([32,29,1,30,31])),"../plugin-core/src/index.ts":()=>c(()=>import(`./src-D3BnFRPS.js`),__vite__mapDeps([33,34,29,1,35,30,31])),"../plugin-devices/src/index.ts":()=>c(()=>import(`./src-D0IOasYV.js`),__vite__mapDeps([36,37,29,1,38,39,40,30,31])),"../plugin-documents/src/index.ts":()=>c(()=>import(`./src-DnlNLa7L.js`),__vite__mapDeps([41,29,1,39,40,30])),"../plugin-drone/src/index.ts":()=>c(()=>import(`./src-DqtBktfY.js`),__vite__mapDeps([42,29,1,40,39,30])),"../plugin-finance/src/index.ts":()=>c(()=>import(`./src-Blz6vbqg.js`),__vite__mapDeps([43,44,29,1,39,40,30,31])),"../plugin-garden/src/index.ts":()=>c(()=>import(`./src-Ck2r9PdK.js`),__vite__mapDeps([45,29,1,39,30])),"../plugin-geo/src/index.ts":()=>c(()=>import(`./src-DNRPYtVW.js`),__vite__mapDeps([46,30])),"../plugin-health/src/index.ts":()=>c(()=>import(`./src-BhzIt6X_.js`),__vite__mapDeps([47,29,1,39,40,30,31])),"../plugin-home/src/index.ts":()=>c(()=>import(`./src-CX8lJ_Bd.js`),__vite__mapDeps([48,29,1,39,30])),"../plugin-http/src/index.ts":()=>c(()=>import(`./src-DcsqR-q0.js`),__vite__mapDeps([49,29,1,30,31])),"../plugin-kitchen/src/index.ts":()=>c(()=>import(`./src-COqoTMyz.js`),__vite__mapDeps([50,29,1,39,30])),"../plugin-lab/src/index.ts":()=>c(()=>import(`./src-CdtEUqtE.js`),__vite__mapDeps([51,29,1,39,40,30,31,38,37,44])),"../plugin-media/src/index.ts":()=>c(()=>import(`./src-DF0JjvAL.js`),__vite__mapDeps([52,29,1,39,30,31])),"../plugin-orchestrator/src/index.ts":()=>c(()=>import(`./src-C7_YQgbA.js`),__vite__mapDeps([53,29,1,30,31])),"../plugin-people/src/index.ts":()=>c(()=>import(`./src-BJDg-3KB.js`),__vite__mapDeps([54,29,1,39,30])),"../plugin-telegram/src/index.ts":()=>c(()=>import(`./src-N4vEUcQu.js`),__vite__mapDeps([55,29,1,30,31])),"../plugin-things/src/index.ts":()=>c(()=>import(`./src-BJeZ0fIl.js`),__vite__mapDeps([56,29,1,39,30])),"../plugin-transit/src/index.ts":()=>c(()=>import(`./src-DdcjPE8f.js`),__vite__mapDeps([57,29,1,39,30,31])),"../plugin-travel/src/index.ts":()=>c(()=>import(`./src-BLvQI8Un.js`),__vite__mapDeps([58,29,1,39,30])),"../plugin-webchat/src/index.ts":()=>c(()=>import(`./src-yWzIeLL6.js`),__vite__mapDeps([59,29,1,30,31])),"../plugin-webexport/src/index.ts":()=>c(()=>import(`./src-BN2zezj6.js`),__vite__mapDeps([60,29,1,30,31]))}),vw=Object.assign({"../plugin-devices/src/fields/ui.tsx":()=>c(()=>import(`./ui-BRZ7wpuB.js`),__vite__mapDeps([61,1,2,3,25,24,4,26,5,6,62,63,64,65,66,29,67,68,69,70,34,37])),"../plugin-geo/src/ui.tsx":()=>c(()=>import(`./ui-CAcWu8py.js`),__vite__mapDeps([71,1,2,3,24,4,25,26,5,6,70,34,64,62,63,65,69,66,29,39,67,72])),"../plugin-webchat/src/ui/ui.tsx":()=>c(()=>import(`./ui-DwQMDUGA.js`),__vite__mapDeps([73,3,1,2,66,29,67]))});[...Object.keys(_w),...Object.keys(vw)];async function yw(e,t){let n=Object.entries(_w).find(([t])=>t.includes(`/plugin-${e}/`));if(!n)return null;let r=(await n[1]()).default??null;for(let[n,r]of Object.entries(vw)){if(!n.includes(`/plugin-${e}/`))continue;let i=(await r()).default;i&&t(i)}return r}var bw={};function xw(e,t){return bw[`${e}/${t}`]}function Sw(e){On(e),e.shelf?.RecordView&&e.shelf.library&&e.shelf.shelf&&(bw[`${e.shelf.library}/${e.shelf.shelf}`]=e.shelf.RecordView);for(let t of e.renderers??[])I(t);for(let t of e.listViews??[])cc(t);for(let[t,n]of Object.entries(e.templates??{}))yn(t,n);for(let[t,n]of Object.entries(e.translations??{}))n&&Nr.addResourceBundle(t,`translation`,n,!0,!0)}function Cw(e){if(!e.startsWith(`/`)){console.warn(`[federation] skip non-same-origin css: ${e}`);return}if(document.querySelector(`link[href="${e}"]`))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t)}function ww(e){let t=new Map(e.map(e=>[e.id,e])),n=new Set,r=[],i=e=>{if(!n.has(e.id)){n.add(e.id);for(let n of e.dependsOn){let e=t.get(n);e&&i(e)}r.push(e)}};for(let t of e)i(t);return r}async function Tw(){let e=await fetch(`/api/plugins`);if(!e.ok)throw Error(`[federation] /api/plugins ${e.status}`);let t=ww((await e.json()).filter(e=>e.enabled)),n=await Promise.all(t.map(async e=>{{let t=[],n=await yw(e.id,e=>t.push(e)).catch(t=>(console.error(`[federation] ${e.id}: dev source failed —`,t),null));if(n)return{e,devManifest:n,devBundles:t}}if(!e.schema)return{e};let t=await gw(e.schema).catch(t=>{console.error(`[federation] ${e.id}: schema failed, skipping plugin —`,t)});return t?{e,schemaMod:t,webMod:e.web?await gw(e.web).catch(t=>{console.error(`[federation] ${e.id}: web bundle failed —`,t)}):void 0}:{e}})),r=[];for(let{e,devManifest:t,devBundles:i,schemaMod:a,webMod:o}of n)try{if(t){r.push(t);for(let e of i??[])Sw(e);continue}let n=a?.default;if(!n)continue;r.push(n),e.css&&Cw(e.css);let s=o?.default;s&&Sw(s)}catch(t){console.error(`[federation] ${e.id}: applying bundle failed —`,t)}return r}var Ew=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/record/RecordView.tsx`;function Dw(){let{t:e}=a(),{library:t,shelf:n,id:r}=_(),i=u(),o=Ne().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),[s,c]=(0,L.useState)(null),l=(0,L.useRef)(s);(0,L.useEffect)(()=>{l.current=s},[s]);let[d,f]=(0,L.useState)({}),[p,m]=(0,L.useState)(!1),[h,g]=(0,L.useState)(!1),v=Me(e),b=e=>d[e.join(`.`)],x=pw(s,S,C,T);if((0,L.useEffect)(()=>{if(!o||o.standalone===!1||!r)return;let e=!0;return nr(`/api/${o.library}/${o.shelf}/${r}`).then(t=>{e&&c(t)}).catch(()=>{e&&c(null)}),()=>{e=!1}},[o,r]),!o||o.standalone===!1)return(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:Ew,lineNumber:67,columnNumber:44},this);async function S(t,n){if(!o||!r)return;let i=l.current?.[t];f(e=>Oe(e,t)),c(e=>e&&{...e,[t]:n});let a=await ar(o.library,o.shelf,r,{[t]:n});if(a.ok){c(a.row??null),de(`${o.library}/${o.shelf}`,a.row??{});return}c(e=>e&&{...e,[t]:i});let s=Be(a.issues??[],v);f(e=>({...Oe(e,t),...s}));let u=(a.issues??[]).find(e=>e.field===t)??a.issues?.[0];return u?v(u.code,u.params):e(`validation.server`)}async function C(t,n,i){if(!o||!r)return;let a=l.current?._extends?.[t]?.[n];f(e=>Oe(e,n)),c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:i}}}});let s=await ar(o.library,o.shelf,r,{[`_extend_${t}`]:{[n]:i}});if(s.ok){c(s.row??null),de(`${o.library}/${o.shelf}`,s.row??{});return}c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:a}}}}),f(e=>({...Oe(e,n),...Be(s.issues??[],v)}));let u=(s.issues??[]).find(e=>e.field===n)??s.issues?.[0];return u?v(u.code,u.params):e(`validation.server`)}async function T(t){if(!o||!r)return;f(e=>Object.keys(t).reduce((e,t)=>Oe(e,t),e));let n=await ar(o.library,o.shelf,r,t);if(n.ok){c(n.row??null),de(`${o.library}/${o.shelf}`,n.row??{});return}f(e=>({...Object.keys(t).reduce((e,t)=>Oe(e,t),e),...Be(n.issues??[],v)}));let i=n.issues?.[0];return i?v(i.code,i.params):e(`validation.server`)}async function E(){if(!o||!r||!await We({title:e(`actions.confirmDelete`),confirmLabel:e(`actions.delete`),variant:`destructive`}))return;m(!0);let t=await dr(o.library,o.shelf,r);if(m(!1),!t){y.error(e(`common.error`));return}N(`${o.library}/${o.shelf}`),i(`/${o.library}/${o.shelf}`)}async function D(){if(!o||!r||!s)return;let t=s._activity?.favorite===!0;g(!0);let n=await Jn(o.library,o.shelf,r,!t);if(g(!1),!n){y.error(e(`common.error`));return}c(e=>e&&{...e,_activity:n}),N(`${o.library}/${o.shelf}`)}function O(){let e=window.history.state?.idx;if(typeof e==`number`&&e>0){i(-1);return}i(`/${t}/${n}`)}let k=xw(o.library,o.shelf);return(0,R.jsxDEV)(X_,{children:(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(ze,{actions:s&&!k&&(x.editAll?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{disabled:x.savingAll,onClick:x.saveAll,children:[(0,R.jsxDEV)(Ke,{size:16},void 0,!1,{fileName:Ew,lineNumber:193,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.save`)},void 0,!1,{fileName:Ew,lineNumber:194,columnNumber:19},this)]},void 0,!0,{fileName:Ew,lineNumber:192,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,disabled:x.savingAll,onClick:x.cancelAll,title:e(`actions.cancel`),children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:Ew,lineNumber:203,columnNumber:19},this)},void 0,!1,{fileName:Ew,lineNumber:196,columnNumber:17},this)]},void 0,!0,{fileName:Ew,lineNumber:191,columnNumber:15},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{onClick:x.startAll,title:e(`actions.editAll`),children:[(0,R.jsxDEV)(Nt,{size:16},void 0,!1,{fileName:Ew,lineNumber:209,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.edit`)},void 0,!1,{fileName:Ew,lineNumber:210,columnNumber:19},this)]},void 0,!0,{fileName:Ew,lineNumber:208,columnNumber:17},this),(0,R.jsxDEV)(nC,{favorite:!!s._activity?.favorite,busy:h,labelAdd:e(`actions.favoriteAdd`),labelRemove:e(`actions.favoriteRemove`),onClick:D},void 0,!1,{fileName:Ew,lineNumber:212,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`destructive`,size:`icon`,disabled:p,onClick:E,title:e(`actions.delete`),children:(0,R.jsxDEV)(ye,{size:16},void 0,!1,{fileName:Ew,lineNumber:226,columnNumber:19},this)},void 0,!1,{fileName:Ew,lineNumber:219,columnNumber:17},this)]},void 0,!0,{fileName:Ew,lineNumber:207,columnNumber:15},this)),children:(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,className:`px-2 bg-bg/60 border border-border/50 shadow-sm backdrop-blur-sm hover:bg-bg/80`,onClick:O,children:[(0,R.jsxDEV)(De,{size:18},void 0,!1,{fileName:Ew,lineNumber:238,columnNumber:13},this),(0,R.jsxDEV)(`span`,{className:`text-sm`,children:e(o.label)},void 0,!1,{fileName:Ew,lineNumber:239,columnNumber:13},this)]},void 0,!0,{fileName:Ew,lineNumber:232,columnNumber:11},this)},void 0,!1,{fileName:Ew,lineNumber:186,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(Fe,{library:o.library,shelf:o.shelf,children:s?k?(0,R.jsxDEV)(k,{record:s,onEdit:()=>{}},void 0,!1,{fileName:Ew,lineNumber:249,columnNumber:15},this):(0,R.jsxDEV)(mw,{shelf:o,record:s,onUpdate:S,onUpdateExtend:C,edit:x,errorAt:b},void 0,!1,{fileName:Ew,lineNumber:251,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted text-sm`,children:e(`common.loading`)},void 0,!1,{fileName:Ew,lineNumber:247,columnNumber:15},this)},void 0,!1,{fileName:Ew,lineNumber:245,columnNumber:11},this)},void 0,!1,{fileName:Ew,lineNumber:244,columnNumber:9},this)]},void 0,!0,{fileName:Ew,lineNumber:183,columnNumber:7},this)},void 0,!1,{fileName:Ew,lineNumber:182,columnNumber:5},this)}var Ow=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/PluginSlot.tsx`,kw=new WeakMap;function Aw(e){let t=kw.get(e);return t||(t=(0,L.lazy)(e),kw.set(e,t)),t}var jw=class extends L.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){console.error(`[plugin-slot] contribution "${this.props.id}" failed —`,e)}render(){return this.state.failed?null:this.props.children}};function Mw({name:e}){let t=Tn(e);return t.length?(0,R.jsxDEV)(R.Fragment,{children:t.map(e=>{let t=Aw(e.load);return(0,R.jsxDEV)(jw,{id:e.id,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(t,{},void 0,!1,{fileName:Ow,lineNumber:54,columnNumber:15},this)},void 0,!1,{fileName:Ow,lineNumber:53,columnNumber:13},this)},e.id,!1,{fileName:Ow,lineNumber:52,columnNumber:11},this)})},void 0,!1,{fileName:Ow,lineNumber:48,columnNumber:5},this):null}function Nw({id:e,load:t}){let n=Aw(t);return(0,R.jsxDEV)(jw,{id:e,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(n,{},void 0,!1,{fileName:Ow,lineNumber:69,columnNumber:9},this)},void 0,!1,{fileName:Ow,lineNumber:68,columnNumber:7},this)},void 0,!1,{fileName:Ow,lineNumber:67,columnNumber:5},this)}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Shell.tsx`,Pw=(0,L.lazy)(()=>c(()=>import(`./SettingsPage-cGmurCr0.js`).then(e=>({default:e.SettingsPage})),__vite__mapDeps([74,1,2,3,24,4,5,6,70,34,26,64,75,76,77,78,79,80]))),Fw=(0,L.lazy)(()=>c(()=>import(`./DiagnosticsPage-CLhgz-6M.js`).then(e=>({default:e.DiagnosticsPage})),__vite__mapDeps([81,1,2,3,70,34,24,4,6,26,5,64,77,78,79,80]))),Iw=(0,L.lazy)(()=>c(()=>import(`./PluginSettingsPage-i-OMHgqv.js`).then(e=>({default:e.PluginSettingsPage})),__vite__mapDeps([82,2,1,3,83,84,24,4,69,70,34,6,26,5,64,66,29,39,68,40,30,77,8,9,79]))),Lw=(0,L.lazy)(()=>c(()=>import(`./NewRecordView-DOotbZbV.js`).then(e=>({default:e.NewRecordView})),__vite__mapDeps([85,1,2,3,86,24,4,5,6,70,34,26,64,39,29,84,69,66,68,40,30,77,8,9,65,72]))),Rw={"/":(0,R.jsxDEV)(kC,{},void 0,!1,{fileName:$,lineNumber:33,columnNumber:8},void 0),"/trash":(0,R.jsxDEV)(MC,{},void 0,!1,{fileName:$,lineNumber:34,columnNumber:13},void 0),"/settings":(0,R.jsxDEV)(Pw,{},void 0,!1,{fileName:$,lineNumber:35,columnNumber:16},void 0),"/settings/diagnostics":(0,R.jsxDEV)(Fw,{},void 0,!1,{fileName:$,lineNumber:36,columnNumber:28},void 0),"/settings/account":(0,R.jsxDEV)(FC,{},void 0,!1,{fileName:$,lineNumber:37,columnNumber:24},void 0),"/settings/users":(0,R.jsxDEV)(QC,{},void 0,!1,{fileName:$,lineNumber:38,columnNumber:22},void 0),"/settings/users/new":(0,R.jsxDEV)(tw,{},void 0,!1,{fileName:$,lineNumber:39,columnNumber:26},void 0),"/settings/users/:id":(0,R.jsxDEV)(iw,{},void 0,!1,{fileName:$,lineNumber:40,columnNumber:26},void 0),"/settings/:pluginId":(0,R.jsxDEV)(Iw,{},void 0,!1,{fileName:$,lineNumber:41,columnNumber:26},void 0),"/:library/:shelf":(0,R.jsxDEV)(ow,{},void 0,!1,{fileName:$,lineNumber:42,columnNumber:23},void 0),"/:library/:shelf/new":(0,R.jsxDEV)(Lw,{},void 0,!1,{fileName:$,lineNumber:43,columnNumber:27},void 0),"/:library/:shelf/:id":(0,R.jsxDEV)(Dw,{},void 0,!1,{fileName:$,lineNumber:44,columnNumber:27},void 0)};function zw(){return(0,R.jsxDEV)(h,{children:[(0,R.jsxDEV)(f,{path:`/login`,element:(0,R.jsxDEV)(mC,{},void 0,!1,{fileName:$,lineNumber:50,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:50,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/setup`,element:(0,R.jsxDEV)(_C,{},void 0,!1,{fileName:$,lineNumber:51,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:51,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/*`,element:(0,R.jsxDEV)(Dr,{children:(0,R.jsxDEV)(Bw,{},void 0,!1,{fileName:$,lineNumber:56,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:55,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:52,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:49,columnNumber:5},this)}function Bw(){let[e,t]=(0,L.useState)(!1);return(0,L.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),t(e=>!e))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`min-h-dvh bg-bg`,children:[(0,R.jsxDEV)(SC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:81,columnNumber:9},this),(0,R.jsxDEV)(`main`,{className:`nav:pl-52 pb-36 nav:pb-20`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`flex justify-center py-16`,children:(0,R.jsxDEV)(Dt,{className:`animate-spin text-muted`,size:20},void 0,!1,{fileName:$,lineNumber:90,columnNumber:17},this)},void 0,!1,{fileName:$,lineNumber:89,columnNumber:15},this),children:(0,R.jsxDEV)(h,{children:[dC.map(e=>(0,R.jsxDEV)(f,{path:e.pattern,element:Rw[e.pattern]},e.pattern,!1,{fileName:$,lineNumber:96,columnNumber:17},this)),(0,R.jsxDEV)(f,{path:`/plugins`,element:(0,R.jsxDEV)(o,{to:`/settings`,replace:!0},void 0,!1,{fileName:$,lineNumber:99,columnNumber:47},this)},void 0,!1,{fileName:$,lineNumber:99,columnNumber:15},this),En().map(e=>(0,R.jsxDEV)(f,{path:e.path,element:(0,R.jsxDEV)(Nw,{id:e.path,load:e.load},void 0,!1,{fileName:$,lineNumber:101,columnNumber:60},this)},e.path,!1,{fileName:$,lineNumber:101,columnNumber:17},this))]},void 0,!0,{fileName:$,lineNumber:94,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:87,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:86,columnNumber:9},this),(0,R.jsxDEV)(wC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:106,columnNumber:9},this),(0,R.jsxDEV)(Mw,{name:`overlay`},void 0,!1,{fileName:$,lineNumber:107,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:80,columnNumber:7},this),(0,R.jsxDEV)(EC,{open:e,onClose:()=>t(!1)},void 0,!1,{fileName:$,lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:79,columnNumber:5},this)}var Vw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/main.tsx`,Hw=[];try{Hw=await Tw()}catch(e){console.warn(`[federation] failed to load plugins, continuing with none:`,e)}He(Hw),Ct(dC),St(Ve().map(e=>({library:e.library,shelf:e.shelf}))),(0,Or.createRoot)(document.getElementById(`root`)).render((0,R.jsxDEV)(L.StrictMode,{children:(0,R.jsxDEV)(d,{children:[(0,R.jsxDEV)(zw,{},void 0,!1,{fileName:Vw,lineNumber:48,columnNumber:7},void 0),(0,R.jsxDEV)(Ue,{},void 0,!1,{fileName:Vw,lineNumber:49,columnNumber:7},void 0),(0,R.jsxDEV)(v,{richColors:!0,position:`bottom-right`},void 0,!1,{fileName:Vw,lineNumber:50,columnNumber:7},void 0)]},void 0,!0,{fileName:Vw,lineNumber:47,columnNumber:5},void 0)},void 0,!1,{fileName:Vw,lineNumber:46,columnNumber:3},void 0));
59
+ |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}px.displayName=`go`,px.aliases=[];function px(e){e.register(ix),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}mx.displayName=`ini`,mx.aliases=[];function mx(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:`selector`},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:`attr-name`},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:`attr-value`,inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}hx.displayName=`java`,hx.aliases=[];function hx(e){e.register(ix),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}gx.displayName=`regex`,gx.aliases=[];function gx(e){(function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:`escape`},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},i={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},a=`(?:[^\\\\-]|`+n.source+`)`,o=RegExp(a+`-`+a),s={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:`variable`};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:`operator`},"char-class-punctuation":{pattern:/^\[|\]$/,alias:`punctuation`},range:{pattern:o,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:`operator`}}},"special-escape":t,"char-set":i,escape:n}},"special-escape":t,"char-set":r,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:`keyword`},{pattern:/\\k<[^<>']+>/,alias:`keyword`,inside:{"group-name":s}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:`function`},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:`punctuation`,inside:{"group-name":s}},{pattern:/\)/,alias:`punctuation`}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:`number`},alternation:{pattern:/\|/,alias:`keyword`}}})(e)}_x.displayName=`javascript`,_x.aliases=[`js`];function _x(e){e.register(ix),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}vx.displayName=`json`,vx.aliases=[`webmanifest`];function vx(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}yx.displayName=`kotlin`,yx.aliases=[`kt`,`kts`];function yx(e){e.register(ix),(function(e){e.languages.kotlin=e.languages.extend(`clike`,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[`class-name`];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:`punctuation`},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore(`kotlin`,`string`,{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:`multiline`,inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:`singleline`,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore(`kotlin`,`keyword`,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:`builtin`}}),e.languages.insertBefore(`kotlin`,`function`,{label:{pattern:/\b\w+@|@\w+\b/,alias:`symbol`}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin})(e)}bx.displayName=`less`,bx.aliases=[];function bx(e){e.register(dx),e.languages.less=e.languages.extend(`css`,{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore(`less`,`property`,{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:`function`}})}xx.displayName=`lua`,xx.aliases=[];function xx(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}Sx.displayName=`makefile`,Sx.aliases=[];function Sx(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:`builtin`},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:`symbol`,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}Cx.displayName=`yaml`,Cx.aliases=[`yml`];function Cx(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}wx.displayName=`markdown`,wx.aliases=[`md`];function wx(e){e.register(ux),(function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}Tx.displayName=`objectivec`,Tx.aliases=[`objc`];function Tx(e){e.register(ax),e.languages.objectivec=e.languages.extend(`c`,{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec[`class-name`],e.languages.objc=e.languages.objectivec}Ex.displayName=`perl`,Ex.aliases=[];function Ex(e){(function(e){var t=`(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)`;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(`\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)`),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(`\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,t].join(`|`)+`)[msixpodualngc]*`),greedy:!0},{pattern:RegExp(`(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:`+[`([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2`,`([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3`,t+`\\s*`+t].join(`|`)+`)[msixpodualngcer]*`),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:`symbol`},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:`string`},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(e)}Dx.displayName=`markup-templating`,Dx.aliases=[];function Dx(e){e.register(ux),(function(e){function t(e,t){return`___`+e.toUpperCase()+t+`___`}Object.defineProperties(e.languages[`markup-templating`]={},{buildPlaceholders:{value:function(n,r,i,a){if(n.language===r){var o=n.tokenStack=[];n.code=n.code.replace(i,function(e){if(typeof a==`function`&&!a(e))return e;for(var i=o.length,s;n.code.indexOf(s=t(r,i))!==-1;)++i;return o[i]=e,s}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language!==r||!n.tokenStack)return;n.grammar=e.languages[r];var i=0,a=Object.keys(n.tokenStack);function o(s){for(var c=0;c<s.length&&!(i>=a.length);c++){var l=s[c];if(typeof l==`string`||l.content&&typeof l.content==`string`){var u=a[i],d=n.tokenStack[u],f=typeof l==`string`?l:l.content,p=t(r,u),m=f.indexOf(p);if(m>-1){++i;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),`language-`+r,d),_=f.substring(m+p.length),v=[];h&&v.push.apply(v,o([h])),v.push(g),_&&v.push.apply(v,o([_])),typeof l==`string`?s.splice.apply(s,[c,1].concat(v)):l.content=v}}else l.content&&o(l.content)}return s}o(n.tokens)}}})})(e)}Ox.displayName=`php`,Ox.aliases=[];function Ox(e){e.register(Dx),(function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:`boolean`},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,a=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:`important`},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:`class-name`},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:`function`},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:`type-casting`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:`type-declaration`,greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:`type-declaration`,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:`class-name-fully-qualified`,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:`class-name-fully-qualified`,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:`type-declaration`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-declaration`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:`static-context`,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[`class-name-fully-qualified`,`static-context`],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:`type-hint`,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[`class-name-fully-qualified`,`type-hint`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:`return-type`,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[`class-name-fully-qualified`,`return-type`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:i,punctuation:a};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:`nowdoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:`symbol`,inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:`backtick-quoted-string`,greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:`single-quoted-string`,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:`double-quoted-string`,greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore(`php`,`variable`,{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:`class-name`,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[`class-name`,`class-name-fully-qualified`],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:i,punctuation:a}},delimiter:{pattern:/^#\[|\]$/,alias:`punctuation`}}}}),e.hooks.add(`before-tokenize`,function(t){/<\?/.test(t.code)&&e.languages[`markup-templating`].buildPlaceholders(t,`php`,/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),e.hooks.add(`after-tokenize`,function(t){e.languages[`markup-templating`].tokenizePlaceholders(t,`php`)})})(e)}kx.displayName=`python`,kx.aliases=[`py`];function kx(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}Ax.displayName=`r`,Ax.aliases=[];function Ax(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:`operator`},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}jx.displayName=`ruby`,jx.aliases=[`rb`];function jx(e){e.register(ix),(function(e){e.languages.ruby=e.languages.extend(`clike`,{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore(`ruby`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:`punctuation`}}};delete e.languages.ruby.function;var n=`(?:`+[`([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1`,`\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)`,`\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}`,`\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]`,`<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>`].join(`|`)+`)`,r=`(?:"(?:\\\\.|[^"\\\\\\r\\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)`;e.languages.insertBefore(`ruby`,`keyword`,{"regex-literal":[{pattern:RegExp(`%r`+n+`[egimnosux]{0,6}`),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(`(^|[^:]):`+r),lookbehind:!0,greedy:!0},{pattern:RegExp(`([\\r\\n{(,][ \\t]*)`+r+`(?=:(?!:))`),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore(`ruby`,`string`,{"string-literal":[{pattern:RegExp(`%[qQiIwWs]?`+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:`heredoc-string`,greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(`%x`+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:`string`}}}]}),delete e.languages.ruby.string,e.languages.insertBefore(`ruby`,`number`,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby})(e)}Mx.displayName=`rust`,Mx.aliases=[];function Mx(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}Nx.displayName=`sass`,Nx.aliases=[];function Nx(e){e.register(dx),(function(e){e.languages.sass=e.languages.extend(`css`,{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore(`sass`,`atrule`,{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore(`sass`,`property`,{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore(`sass`,`punctuation`,{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})})(e)}Px.displayName=`scss`,Px.aliases=[];function Px(e){e.register(dx),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}Fx.displayName=`sql`,Fx.aliases=[];function Fx(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}Ix.displayName=`swift`,Ix.aliases=[];function Ix(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(`(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:`punctuation`},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(`(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:`punctuation`},string:/[\s\S]+/}}],directive:{pattern:RegExp(`#(?:(?:elseif|if)\\b(?:[ ]*(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)`),alias:`property`,inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:`constant`},"other-directive":{pattern:/#\w+\b/,alias:`property`},attribute:{pattern:/@\w+/,alias:`atrule`},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:`function`},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:`important`},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:`constant`},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:`keyword`},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift[`string-literal`].forEach(function(t){t.inside.interpolation.inside=e.languages.swift})}Lx.displayName=`typescript`,Lx.aliases=[`ts`];function Lx(e){e.register(_x),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}Rx.displayName=`basic`,Rx.aliases=[];function Rx(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}zx.displayName=`vbnet`,zx.aliases=[];function zx(e){e.register(Rx),e.languages.vbnet=e.languages.extend(`basic`,{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}var Bx=0,Vx={},Hx={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++Bx}),e.__id},clone:function e(t,n){n||={};var r,i;switch(Hx.util.type(t)){case`Object`:if(i=Hx.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=Hx.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:Vx,plaintext:Vx,text:Vx,txt:Vx,extend:function(e,t){var n=Hx.util.clone(Hx.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=Hx.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,Hx.languages.DFS(Hx.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=Hx.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=Hx.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(Hx.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=Hx.tokenize(r.code,r.grammar),Hx.hooks.run(`after-tokenize`,r),Ux.stringify(Hx.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new Kx;return qx(i,i.head,e),Gx(e,i,t,i.head,0),Yx(i)},hooks:{all:{},add:function(e,t){var n=Hx.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=Hx.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:Ux};function Ux(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function Wx(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function Gx(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof Ux)){var y=1,b;if(f){if(b=Wx(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof Ux)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=Wx(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=qx(t,k,E),_+=E.length),Jx(t,k,y);var A=new Ux(o,u?Hx.tokenize(T,u):T,p,T);if(g=qx(t,k,A),D&&qx(t,g,D),y>1){var ee={cause:o+`,`+c,reach:O};Gx(e,t,n,g.prev,_,ee),a&&ee.reach>a.reach&&(a.reach=ee.reach)}}}}}}function Kx(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function qx(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function Jx(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function Yx(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var Xx=Hx;function Zx(){}Zx.prototype=Xx;var Z=new Zx;Z.highlight=Qx,Z.register=$x,Z.alias=eS,Z.registered=tS,Z.listLanguages=nS,Z.util.encode=iS,Z.Token.stringify=rS;function Qx(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(Z.languages,r))n=Z.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:Xx.highlight.call(Z,e,n,r)}}function $x(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(Z.languages,e.displayName)||e(Z)}function eS(e,t){let n=Z.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function tS(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(Z.languages,e)}function nS(){let e=Z.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function rS(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(rS(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:rS(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),Z.hooks.run(`wrap`,n),wr(n.tag+`.`+n.classes.join(`.`),aS(n.attributes),n.content)}function iS(e){return e}function aS(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=Tr(e[t]));return e}Z.register(ix),Z.register(ax),Z.register(ox),Z.register(sx),Z.register(cx),Z.register(lx),Z.register(ux),Z.register(dx),Z.register(fx),Z.register(px),Z.register(mx),Z.register(hx),Z.register(gx),Z.register(_x),Z.register(vx),Z.register(yx),Z.register(bx),Z.register(xx),Z.register(Sx),Z.register(Cx),Z.register(wx),Z.register(Tx),Z.register(Ex),Z.register(Dx),Z.register(Ox),Z.register(kx),Z.register(Ax),Z.register(jx),Z.register(Mx),Z.register(Nx),Z.register(Px),Z.register(Fx),Z.register(Ix),Z.register(Lx),Z.register(Rx),Z.register(zx);var oS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/code.tsx`,sS=(0,L.lazy)(()=>c(()=>import(`./esm-Dfm1ivm4.js`),__vite__mapDeps([16,1,2,6,8,17,18,12,13,19,20])));function cS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}var lS=Z.listLanguages().slice().sort().map(e=>({value:e,title:e}));function uS({field:e,value:t,onChange:n}){let r=(0,L.useMemo)(()=>cS(t),[t]),i=e.hints.defaultLang??`text`,a=r.lang??i,o=e=>n(!e.code&&!e.lang?``:{code:e.code??``,lang:e.lang??i});return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(W_,{value:a,onChange:e=>o({code:r.code,lang:e}),items:lS,placeholder:`language`},void 0,!1,{fileName:oS,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(`div`,{"data-color-mode":`dark`,children:(0,R.jsxDEV)(`div`,{className:`rounded-xl overflow-hidden border border-border min-w-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`text-sm text-muted`,children:`…`},void 0,!1,{fileName:oS,lineNumber:53,columnNumber:31},this),children:(0,R.jsxDEV)(sS,{value:r.code??``,language:a,onChange:e=>o({code:e.target.value,lang:a}),padding:12,style:{fontFamily:`ui-monospace, monospace`,fontSize:13,background:`transparent`,minHeight:`8rem`}},void 0,!1,{fileName:oS,lineNumber:54,columnNumber:13},this)},void 0,!1,{fileName:oS,lineNumber:53,columnNumber:11},this)},void 0,!1,{fileName:oS,lineNumber:52,columnNumber:9},this)},void 0,!1,{fileName:oS,lineNumber:51,columnNumber:7},this)]},void 0,!0,{fileName:oS,lineNumber:44,columnNumber:5},this)}function dS({value:e}){let t=cS(e);return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2 min-w-0`,children:[(0,R.jsxDEV)(`div`,{className:`flex h-9 w-full items-center rounded-lg border border-transparent px-3 text-sm text-muted`,children:t.lang&&(0,R.jsxDEV)(`span`,{className:`uppercase`,children:t.lang},void 0,!1,{fileName:oS,lineNumber:78,columnNumber:20},this)},void 0,!1,{fileName:oS,lineNumber:77,columnNumber:7},this),(0,R.jsxDEV)(`pre`,{className:`min-w-0 min-h-32 overflow-x-auto whitespace-pre-wrap rounded-lg border border-transparent p-3 font-mono text-[13px] leading-normal text-text/90`,children:t.code||(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:oS,lineNumber:81,columnNumber:20},this)},void 0,!1,{fileName:oS,lineNumber:80,columnNumber:7},this)]},void 0,!0,{fileName:oS,lineNumber:76,columnNumber:5},this)}function fS(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`none`,bare:e.bare,view:e=>(0,R.jsxDEV)(dS,{value:e},void 0,!1,{fileName:oS,lineNumber:99,columnNumber:20},this),edit:(t,n)=>(0,R.jsxDEV)(uS,{field:e.field,value:t,onChange:n},void 0,!1,{fileName:oS,lineNumber:101,columnNumber:9},this)},void 0,!1,{fileName:oS,lineNumber:89,columnNumber:5},this)}function pS({value:e}){return(0,R.jsxDEV)(`span`,{className:`truncate text-muted`,children:cS(e).lang??`code`},void 0,!1,{fileName:oS,lineNumber:109,columnNumber:10},this)}I({kinds:[`code`],layout:`block`,Page:fS,Inline:pS});var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/embed.tsx`;function mS(e){let t=e=>!!e&&typeof e==`object`&&typeof e.url==`string`;if(Array.isArray(e))return e.filter(t);if(t(e))return[e];try{let n=JSON.parse(String(e??``));return Array.isArray(n)?n.filter(t):t(n)?[n]:[]}catch{return[]}}var hS=e=>(e.type===`video`||e.type===`rich`)&&!!e.html;function gS(e){try{return new URL(e).hostname}catch{return e}}function _S(e){try{let t=new URL(e);if(t.protocol===`http:`||t.protocol===`https:`)return e}catch{}}function vS({rec:e,onOpen:t,onRemove:n}){return(0,R.jsxDEV)(`div`,{className:`group relative @container`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`flex w-full items-center gap-2 overflow-hidden rounded-lg border border-border text-left @[20rem]:flex-col @[20rem]:items-stretch @[20rem]:gap-0`,children:[(0,R.jsxDEV)(`div`,{className:`relative aspect-video w-20 shrink-0 bg-muted/40 @[20rem]:w-full`,children:[e.thumbnail?(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`h-full w-full object-cover`},void 0,!1,{fileName:Q,lineNumber:67,columnNumber:13},this):(0,R.jsxDEV)(Es,{className:`absolute inset-0 m-auto text-muted`,size:20},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:13},this),hS(e)&&(0,R.jsxDEV)(`span`,{className:`absolute inset-0 m-auto flex h-8 w-8 items-center justify-center rounded-full bg-black/60 text-white`,children:(0,R.jsxDEV)(Ce,{size:16},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:15},this)},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:65,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1 px-2 py-1.5`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:78,columnNumber:11},this),e.provider&&(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.provider},void 0,!1,{fileName:Q,lineNumber:79,columnNumber:28},this)]},void 0,!0,{fileName:Q,lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:60,columnNumber:7},this),n&&(0,R.jsxDEV)(F,{type:`button`,variant:`ghost`,size:`iconSm`,className:`absolute right-1 top-1 text-muted opacity-0 hover:text-danger group-hover:opacity-100`,onClick:n,children:(0,R.jsxDEV)(ye,{size:13},void 0,!1,{fileName:Q,lineNumber:90,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:83,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:59,columnNumber:5},this)}function yS({rec:e}){let t=e.title||gS(e.url),n=_S(e.url),r=`group flex items-center gap-2 overflow-hidden rounded-lg border border-border bg-muted/5 px-3 py-2 transition-colors hover:bg-muted/15`,i=(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`shrink-0 text-muted group-hover:text-text`,children:hS(e)?(0,R.jsxDEV)(Ce,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:26},this):(0,R.jsxDEV)(Es,{size:16},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:47},this)},void 0,!1,{fileName:Q,lineNumber:104,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`truncate text-sm font-medium`,children:t},void 0,!1,{fileName:Q,lineNumber:108,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`truncate text-xs text-muted`,children:e.url},void 0,!1,{fileName:Q,lineNumber:109,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:107,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:103,columnNumber:5},this);return n?(0,R.jsxDEV)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,className:r,children:i},void 0,!1,{fileName:Q,lineNumber:115,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:r,children:i},void 0,!1,{fileName:Q,lineNumber:119,columnNumber:5},this)}function bS({rec:e,onClose:t}){let{t:n}=a(),r=_S(e.url);return(0,R.jsxDEV)(Cr,{open:!0,onOpenChange:e=>!e&&t(),children:(0,R.jsxDEV)(xr,{className:`max-w-2xl`,children:[(0,R.jsxDEV)(yr,{className:`truncate`,children:e.title??e.url},void 0,!1,{fileName:Q,lineNumber:132,columnNumber:9},this),hS(e)?(0,R.jsxDEV)(`iframe`,{title:e.title??`embed`,srcDoc:e.html,sandbox:`allow-scripts allow-presentation`,allowFullScreen:!0,className:`aspect-video w-full rounded-md border-0`},void 0,!1,{fileName:Q,lineNumber:134,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-3`,children:[e.thumbnail&&(0,R.jsxDEV)(`img`,{src:e.thumbnail,alt:``,className:`w-full rounded-md`},void 0,!1,{fileName:Q,lineNumber:143,columnNumber:31},this),e.description&&(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:e.description},void 0,!1,{fileName:Q,lineNumber:144,columnNumber:33},this)]},void 0,!0,{fileName:Q,lineNumber:142,columnNumber:11},this),r&&(0,R.jsxDEV)(`a`,{href:r,target:`_blank`,rel:`noopener noreferrer`,children:(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,className:`w-full`,children:[(0,R.jsxDEV)(Ss,{size:15},void 0,!1,{fileName:Q,lineNumber:150,columnNumber:15},this),` `,n(`embed.open`)]},void 0,!0,{fileName:Q,lineNumber:149,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:148,columnNumber:11},this)]},void 0,!0,{fileName:Q,lineNumber:131,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:130,columnNumber:5},this)}function xS({value:e,onChange:t,multiple:n}){let{t:r}=a(),i=mS(e),[o,s]=(0,L.useState)(null),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(!1),[f,p]=(0,L.useState)(!1),m=e=>t?.(e.length?e:``);async function h(){if(u||!c.trim())return;d(!0),p(!1);let e=await Gn(c.trim());if(d(!1),!e)return p(!0);m([...i,e]),l(``)}return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:[t?(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-2 @md:grid-cols-2 @2xl:grid-cols-3`,children:i.map((e,t)=>(0,R.jsxDEV)(vS,{rec:e,onOpen:()=>s(e),onRemove:()=>m(i.filter((e,n)=>n!==t))},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:188,columnNumber:13},this))},void 0,!1,{fileName:Q,lineNumber:186,columnNumber:9},this):i.length>0&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:i.map((e,t)=>(0,R.jsxDEV)(yS,{rec:e},`${e.url}-${t}`,!1,{fileName:Q,lineNumber:201,columnNumber:15},this))},void 0,!1,{fileName:Q,lineNumber:199,columnNumber:11},this),t&&(n||i.length===0)&&(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,R.jsxDEV)(E,{value:c,placeholder:r(`embed.pastePlaceholder`),onChange:e=>l(e.target.value),onKeyDown:e=>e.key===`Enter`&&(e.preventDefault(),h())},void 0,!1,{fileName:Q,lineNumber:209,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`outline`,disabled:u||!c.trim(),onClick:h,children:u?`…`:`+`},void 0,!1,{fileName:Q,lineNumber:215,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:208,columnNumber:11},this),f&&(0,R.jsxDEV)(`span`,{className:`text-xs text-danger`,children:r(`embed.resolveFailed`)},void 0,!1,{fileName:Q,lineNumber:219,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:207,columnNumber:9},this),o&&(0,R.jsxDEV)(bS,{rec:o,onClose:()=>s(null)},void 0,!1,{fileName:Q,lineNumber:222,columnNumber:16},this)]},void 0,!0,{fileName:Q,lineNumber:183,columnNumber:5},this)}function SS(e){let t=e.mode!==`view`,n=e.field.hints.multiple===!0;return(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1.5`,children:[e.label&&(0,R.jsxDEV)(Rt,{label:e.label,required:e.required},void 0,!1,{fileName:Q,lineNumber:232,columnNumber:19},this),(0,R.jsxDEV)(xS,{value:e.value,onChange:t?e.onChange:void 0,multiple:n},void 0,!1,{fileName:Q,lineNumber:233,columnNumber:7},this),e.error&&(0,R.jsxDEV)(kt,{error:e.error},void 0,!1,{fileName:Q,lineNumber:234,columnNumber:19},this)]},void 0,!0,{fileName:Q,lineNumber:231,columnNumber:5},this)}function CS(e){let t=mS(e.value);if(t.length===0)return null;let n=t[0];return(0,R.jsxDEV)(`span`,{className:`inline-flex min-w-0 items-center gap-1`,children:[hS(n)?(0,R.jsxDEV)(Ce,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:26},this):(0,R.jsxDEV)(Es,{size:12},void 0,!1,{fileName:Q,lineNumber:245,columnNumber:47},this),(0,R.jsxDEV)(`span`,{className:`truncate`,children:n.title??gS(n.url)},void 0,!1,{fileName:Q,lineNumber:246,columnNumber:7},this),t.length>1&&(0,R.jsxDEV)(`span`,{className:`text-muted`,children:[`+`,t.length-1]},void 0,!0,{fileName:Q,lineNumber:247,columnNumber:27},this)]},void 0,!0,{fileName:Q,lineNumber:244,columnNumber:5},this)}I({kinds:[`embed`],layout:`block`,Page:SS,Inline:CS});var wS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/reminder.tsx`;function TS(){return new Date().toISOString().slice(0,10)}function ES(e,t){return Math.round((Date.parse(e)-Date.parse(t))/864e5)}function DS(e,t,n=TS()){if(!e)return`neutral`;let r=ES(e,n);return r<0?`overdue`:r===0?`today`:r<=t?`soon`:`neutral`}var OS={overdue:`text-red-600`,today:`text-primary font-medium`,soon:`text-amber-600`,neutral:``};function kS({field:e,value:t}){let{t:n}=a(),r=String(t??``);if(!r)return(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:wS,lineNumber:40,columnNumber:18},this);let i=DS(r,e.hints.lead??30),o=ES(r,TS()),s=i===`today`?n(`reminder.today`):i===`overdue`?n(`reminder.overdue`,{days:Math.abs(o)}):i===`soon`?n(`reminder.inDays`,{days:o}):null;return(0,R.jsxDEV)(`span`,{className:`tabular-nums ${OS[i]}`,children:[fg(r),s?(0,R.jsxDEV)(`span`,{className:`ml-2 text-xs`,children:s},void 0,!1,{fileName:wS,lineNumber:52,columnNumber:15},this):null]},void 0,!0,{fileName:wS,lineNumber:50,columnNumber:5},this)}function AS(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:t=>(0,R.jsxDEV)(kS,{field:e.field,value:t},void 0,!1,{fileName:wS,lineNumber:62,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(E,{type:`date`,value:String(e??``),onChange:e=>t(e.target.value)},void 0,!1,{fileName:wS,lineNumber:64,columnNumber:9},this)},void 0,!1,{fileName:wS,lineNumber:59,columnNumber:5},this)}function jS({field:e,value:t}){return(0,R.jsxDEV)(kS,{field:e,value:t},void 0,!1,{fileName:wS,lineNumber:71,columnNumber:10},this)}I({kinds:[`reminder`],Page:AS,Inline:jS});var MS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/weight.tsx`;function NS(e){if(e==null||e===``||Number.isNaN(Number(e)))return``;let t=Number(e);return t<1e3?`${t} г`:`${Number((t/1e3).toFixed(2))} кг`}function PS({value:e,onChange:t}){let n=e===``?``:Number(e),[r,i]=(0,L.useState)(n!==``&&Number(n)>=1e3?`kg`:`g`),a=n===``?``:r===`kg`?Number(n)/1e3:n,o=e=>Math.round(r===`kg`?e*1e3:e);return(0,R.jsxDEV)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,R.jsxDEV)(E,{type:`number`,className:`flex-1 min-w-0`,min:0,value:a,onChange:e=>t(e.target.value===``?``:String(o(Number(e.target.value))))},void 0,!1,{fileName:MS,lineNumber:23,columnNumber:7},this),(0,R.jsxDEV)(Je,{value:r,onValueChange:e=>i(e),children:[(0,R.jsxDEV)(Xe,{className:`w-20`,children:(0,R.jsxDEV)(Ye,{},void 0,!1,{fileName:MS,lineNumber:32,columnNumber:11},this)},void 0,!1,{fileName:MS,lineNumber:31,columnNumber:9},this),(0,R.jsxDEV)(yt,{children:[(0,R.jsxDEV)($e,{value:`g`,children:`г`},void 0,!1,{fileName:MS,lineNumber:35,columnNumber:11},this),(0,R.jsxDEV)($e,{value:`kg`,children:`кг`},void 0,!1,{fileName:MS,lineNumber:36,columnNumber:11},this)]},void 0,!0,{fileName:MS,lineNumber:34,columnNumber:9},this)]},void 0,!0,{fileName:MS,lineNumber:30,columnNumber:7},this)]},void 0,!0,{fileName:MS,lineNumber:22,columnNumber:5},this)}function FS({value:e}){let t=NS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:MS,lineNumber:45,columnNumber:14},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:MS,lineNumber:45,columnNumber:58},this)}function IS(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-40`,bare:e.bare,view:e=>(0,R.jsxDEV)(FS,{value:e},void 0,!1,{fileName:MS,lineNumber:61,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(PS,{value:String(e??``),onChange:t},void 0,!1,{fileName:MS,lineNumber:63,columnNumber:9},this)},void 0,!1,{fileName:MS,lineNumber:50,columnNumber:5},this)}function LS({value:e}){return(0,R.jsxDEV)(FS,{value:e},void 0,!1,{fileName:MS,lineNumber:70,columnNumber:10},this)}I({kinds:[`weight`],Page:IS,Inline:LS});var RS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/dimensions.tsx`;function zS(e){if(e&&typeof e==`object`)return e;try{let t=JSON.parse(String(e??``));return t&&typeof t==`object`?t:{}}catch{return{}}}function BS(e){let t=zS(e);if(t.w==null||t.h==null||t.d==null)return``;let n=e=>Number((e/10).toFixed(1));return`${n(t.w)}×${n(t.h)}×${n(t.d)} см`}function VS({value:e,onChange:t}){let n=zS(e),r=(e,r)=>{let i={...n,[e]:r===``?void 0:Math.round(Number(r))};t(i.w==null&&i.h==null&&i.d==null?``:i)},i=(e,t)=>(0,R.jsxDEV)(E,{type:`number`,min:0,className:`w-20 min-w-0`,placeholder:t,value:n[e]??``,onChange:t=>r(e,t.target.value)},void 0,!1,{fileName:RS,lineNumber:27,columnNumber:5},this);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-1 min-w-0 ${Lt}`,children:[i(`w`,`Ш`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:RS,lineNumber:31,columnNumber:23},this),i(`h`,`В`),(0,R.jsxDEV)(`span`,{className:`text-muted`,children:`×`},void 0,!1,{fileName:RS,lineNumber:31,columnNumber:76},this),i(`d`,`Г`),(0,R.jsxDEV)(`span`,{className:`ml-1 text-xs text-muted`,children:`мм`},void 0,!1,{fileName:RS,lineNumber:32,columnNumber:7},this)]},void 0,!0,{fileName:RS,lineNumber:30,columnNumber:5},this)}function HS({value:e}){let t=BS(e);return t?(0,R.jsxDEV)(`span`,{className:`tabular-nums`,children:t},void 0,!1,{fileName:RS,lineNumber:39,columnNumber:14},this):(0,R.jsxDEV)(nt,{},void 0,!1,{fileName:RS,lineNumber:39,columnNumber:58},this)}function US(e){return(0,R.jsxDEV)(Nn,{field:e.field,value:e.value,onChange:e.onChange,label:e.label,required:e.required,error:e.error,mode:e.mode,geom:`inline`,width:`w-fit`,bare:e.bare,view:e=>(0,R.jsxDEV)(HS,{value:e},void 0,!1,{fileName:RS,lineNumber:45,columnNumber:20},this),edit:(e,t)=>(0,R.jsxDEV)(VS,{value:e,onChange:t},void 0,!1,{fileName:RS,lineNumber:46,columnNumber:34},this)},void 0,!1,{fileName:RS,lineNumber:43,columnNumber:5},this)}function WS({value:e}){return(0,R.jsxDEV)(HS,{value:e},void 0,!1,{fileName:RS,lineNumber:49,columnNumber:58},this)}I({kinds:[`dimensions`],Page:US,Inline:WS});var GS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-api-token-renderer.tsx`;function KS(){let e=crypto.getRandomValues(new Uint8Array(32)),t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function qS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]),[i,o]=(0,L.useState)(``),[s,c]=(0,L.useState)(null),[l,u]=(0,L.useState)(!1);function d(){fr().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(d,[]);async function f(){if(!i.trim())return;u(!0);let e=KS(),n=await er(i.trim(),e);u(!1),n.ok?(c(e),o(``),d()):y.error(t(`auth.genericError`))}async function p(e){await We({title:t(`auth.tokenConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await Kn(e)).ok?d():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.tokensTitle`)},void 0,!1,{fileName:GS,lineNumber:70,columnNumber:7},this),s&&(0,R.jsxDEV)(`div`,{className:`mb-3 rounded-xl border border-accent/40 bg-accent/10 px-4 py-3 text-sm text-accent break-all`,children:[t(`auth.tokenCreatedOnce`),` `,(0,R.jsxDEV)(`code`,{children:s},void 0,!1,{fileName:GS,lineNumber:73,columnNumber:40},this)]},void 0,!0,{fileName:GS,lineNumber:72,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`mb-3 flex gap-2`,children:[(0,R.jsxDEV)(E,{placeholder:t(`auth.tokenNamePlaceholder`),value:i,onChange:e=>o(e.target.value)},void 0,!1,{fileName:GS,lineNumber:77,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`button`,disabled:l||!i.trim(),onClick:f,children:t(`auth.tokenCreate`)},void 0,!1,{fileName:GS,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:GS,lineNumber:76,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Er,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.name},void 0,!1,{fileName:GS,lineNumber:86,columnNumber:15},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:GS,lineNumber:87,columnNumber:15},this)]},void 0,!0,{fileName:GS,lineNumber:85,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>p(e.id),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:GS,lineNumber:91,columnNumber:13},this)]},e.id,!0,{fileName:GS,lineNumber:84,columnNumber:11},this))},void 0,!1,{fileName:GS,lineNumber:82,columnNumber:7},this)]},void 0,!0,{fileName:GS,lineNumber:69,columnNumber:5},this)}I({kinds:[`internalApiToken`],layout:`block`,Page:qS});var JS=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/render/core/internal-oauth-grants-renderer.tsx`;function YS({label:e}){let{t}=a(),[n,r]=(0,L.useState)([]);function i(){rr().then(e=>e.ok&&r(e.data))}(0,L.useEffect)(i,[]);async function o(e){await We({title:t(`auth.grantConfirmRevoke`),confirmLabel:t(`auth.tokenRevoke`),variant:`destructive`})&&((await Zn(e)).ok?i():y.error(t(`auth.genericError`)))}return(0,R.jsxDEV)(`div`,{children:[(0,R.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:t(e||`auth.grantsTitle`)},void 0,!1,{fileName:JS,lineNumber:44,columnNumber:7},this),n.length===0?(0,R.jsxDEV)(`p`,{className:`text-sm text-muted`,children:t(`auth.grantsEmpty`)},void 0,!1,{fileName:JS,lineNumber:46,columnNumber:9},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-2`,children:n.map(e=>(0,R.jsxDEV)(Er,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`font-semibold text-text`,children:e.clientName},void 0,!1,{fileName:JS,lineNumber:52,columnNumber:17},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e.createdAt,` `,e.lastUsedAt?`· last used ${e.lastUsedAt}`:``]},void 0,!0,{fileName:JS,lineNumber:53,columnNumber:17},this)]},void 0,!0,{fileName:JS,lineNumber:51,columnNumber:15},this),(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,type:`button`,onClick:()=>o(e.clientId),className:`shrink-0 border border-danger/40 text-danger hover:bg-danger/10 hover:text-danger`,children:t(`auth.tokenRevoke`)},void 0,!1,{fileName:JS,lineNumber:57,columnNumber:15},this)]},e.clientId,!0,{fileName:JS,lineNumber:50,columnNumber:13},this))},void 0,!1,{fileName:JS,lineNumber:48,columnNumber:9},this)]},void 0,!0,{fileName:JS,lineNumber:43,columnNumber:5},this)}I({kinds:[`internalOauthGrants`],layout:`block`,Page:YS});var XS=20,ZS=new Map;function QS(e){return ZS.get(e)??0}function $S(e,t){for(ZS.delete(e),ZS.set(e,t);ZS.size>XS;){let e=ZS.keys().next();if(e.done)break;ZS.delete(e.value)}}function eC(e){for(let t of[...ZS.keys()])(t===e||t.startsWith(`${e}?`))&&ZS.delete(t)}var tC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/components/FavoriteButton.tsx`;function nC({favorite:e,busy:t=!1,onClick:n,labelAdd:r,labelRemove:i}){let a=e?i:r;return(0,R.jsxDEV)(F,{variant:`ghost`,size:`icon`,type:`button`,disabled:t,"aria-label":a,"aria-pressed":e,title:a,onClick:n,className:e?`text-accent hover:text-accent`:`text-muted hover:text-text`,children:(0,R.jsxDEV)(Se,{"data-icon":`inline-start`,size:16,fill:e?`currentColor`:`none`},void 0,!1,{fileName:tC,lineNumber:30,columnNumber:7},this)},void 0,!1,{fileName:tC,lineNumber:19,columnNumber:5},this)}var rC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordCard.tsx`;function iC(e,t,n){return n?e(n.label):t}var aC=(0,L.memo)(function({row:e,fields:t,keys:n,hrefBase:r,onDelete:i,deleting:o,onToggleFavorite:s,favoriteBusy:c}){let{t:l}=a(),u=`${r}/${e.id}`,[d,...f]=n,p=it(t),h=p?e[p]:void 0,g=p!=null&&ly(h).length>0,_=p?f.filter(e=>e!==p):f,v=d?t[d]:void 0;return(0,R.jsxDEV)(`div`,{style:{contentVisibility:`auto`,containIntrinsicSize:`auto 120px`},className:`bg-elevated rounded-xl p-4 mb-3 border border-border transition-colors hover:border-border2 hover:bg-surface`,children:[g&&(0,R.jsxDEV)(`div`,{className:`-mx-4 -mt-4 mb-3 overflow-hidden rounded-t-xl [&_img]:rounded-none [&>*]:rounded-none`,children:(0,R.jsxDEV)(hy,{value:h},void 0,!1,{fileName:rC,lineNumber:63,columnNumber:11},this)},void 0,!1,{fileName:rC,lineNumber:62,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(m,{to:u,className:`mb-2 block min-w-0 truncate text-text`,children:v?(0,R.jsxDEV)(vr,{field:v,value:pn(v,d,e),height:24},void 0,!1,{fileName:rC,lineNumber:72,columnNumber:15},this):String(e[d]??``)},void 0,!1,{fileName:rC,lineNumber:70,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1`,children:_.map(n=>{let r=t[n],i=r?pn(r,n,e):void 0;return!r||!at(i)?null:(0,R.jsxDEV)(`span`,{className:`text-sm text-muted inline-flex min-w-0 max-w-full items-baseline gap-1 truncate`,children:[(0,R.jsxDEV)(`span`,{className:`text-xs opacity-70 shrink-0`,children:[iC(l,n,r),`:`]},void 0,!0,{fileName:rC,lineNumber:87,columnNumber:19},this),(0,R.jsxDEV)(vr,{field:r,value:i},void 0,!1,{fileName:rC,lineNumber:88,columnNumber:19},this)]},n,!0,{fileName:rC,lineNumber:83,columnNumber:17},this)})},void 0,!1,{fileName:rC,lineNumber:77,columnNumber:11},this)]},void 0,!0,{fileName:rC,lineNumber:67,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex gap-2 shrink-0`,children:[s&&`_activity`in e&&(0,R.jsxDEV)(nC,{favorite:!!e._activity?.favorite,busy:c,labelAdd:l(`actions.favoriteAdd`),labelRemove:l(`actions.favoriteRemove`),onClick:()=>s(String(e.id))},void 0,!1,{fileName:rC,lineNumber:96,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`outline`,size:`icon`,disabled:o,className:`text-muted hover:text-danger hover:border-danger`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(ye,{size:15},void 0,!1,{fileName:rC,lineNumber:111,columnNumber:13},this)},void 0,!1,{fileName:rC,lineNumber:104,columnNumber:11},this)]},void 0,!0,{fileName:rC,lineNumber:94,columnNumber:9},this)]},void 0,!0,{fileName:rC,lineNumber:66,columnNumber:7},this)]},void 0,!0,{fileName:rC,lineNumber:57,columnNumber:5},this)}),oC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/RecordRow.tsx`,sC=(0,L.memo)(function({row:e,fields:t,keys:n,hrefBase:r,onDelete:i,deleting:o,onToggleFavorite:s,favoriteBusy:c}){let{t:l}=a(),u=`${r}/${e.id}`;return(0,R.jsxDEV)(`tr`,{className:`border-b border-border/60 hover:bg-elevated/60 transition-colors`,children:[n.map((n,r)=>r===0?(0,R.jsxDEV)(`td`,{className:`max-w-xs p-0`,children:(0,R.jsxDEV)(m,{to:u,className:`block px-4 py-1.5 text-sm font-medium text-text truncate`,children:t[n]?(0,R.jsxDEV)(vr,{field:t[n],value:pn(t[n],n,e)},void 0,!1,{fileName:oC,lineNumber:50,columnNumber:28},this):String(e[n]??``)},void 0,!1,{fileName:oC,lineNumber:49,columnNumber:13},this)},n,!1,{fileName:oC,lineNumber:48,columnNumber:11},this):(0,R.jsxDEV)(`td`,{className:`px-4 py-1.5 text-sm max-w-xs text-text/80`,children:(0,R.jsxDEV)(`span`,{className:`block truncate`,children:t[n]?(0,R.jsxDEV)(vr,{field:t[n],value:pn(t[n],n,e)},void 0,!1,{fileName:oC,lineNumber:56,columnNumber:28},this):String(e[n]??``)},void 0,!1,{fileName:oC,lineNumber:55,columnNumber:13},this)},n,!1,{fileName:oC,lineNumber:54,columnNumber:11},this)),(0,R.jsxDEV)(`td`,{className:`px-1 py-1 w-12`,children:(0,R.jsxDEV)(`div`,{className:`flex justify-center`,children:s&&`_activity`in e&&(0,R.jsxDEV)(nC,{favorite:!!e._activity?.favorite,busy:c,labelAdd:l(`actions.favoriteAdd`),labelRemove:l(`actions.favoriteRemove`),onClick:()=>s(String(e.id))},void 0,!1,{fileName:oC,lineNumber:67,columnNumber:13},this)},void 0,!1,{fileName:oC,lineNumber:65,columnNumber:9},this)},void 0,!1,{fileName:oC,lineNumber:64,columnNumber:7},this),(0,R.jsxDEV)(`td`,{className:`px-1 py-1 w-12`,children:(0,R.jsxDEV)(`div`,{className:`flex justify-center`,children:(0,R.jsxDEV)(F,{variant:`ghost`,size:`iconSm`,disabled:o,className:`m-0 text-muted hover:text-danger transition-colors`,onClick:()=>i(String(e.id)),children:(0,R.jsxDEV)(ye,{size:14},void 0,!1,{fileName:oC,lineNumber:86,columnNumber:13},this)},void 0,!1,{fileName:oC,lineNumber:79,columnNumber:11},this)},void 0,!1,{fileName:oC,lineNumber:78,columnNumber:9},this)},void 0,!1,{fileName:oC,lineNumber:77,columnNumber:7},this)]},void 0,!0,{fileName:oC,lineNumber:43,columnNumber:5},this)}),cC=`_rank`;function lC(e,t,n,r,i){let a=e=>{if(!r)return String(e[t]??``);let n=_r(r,e[t],i)[0];return n?.sort??n?.value??``};return[...e].sort((e,t)=>{let r=a(e).localeCompare(a(t),void 0,{numeric:!0,sensitivity:`base`});return n===`asc`?r:-r})}var uC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/views/table.tsx`;function dC(e,t){e.scrollTop=t}function fC({rows:e,shelf:t,keys:n,hrefBase:r,onDelete:i,deletingId:o,onToggleFavorite:s,favoriteBusyId:c,sort:l,onToggleSort:u,scrollKey:d}){let{t:f}=a(),p=(0,L.useMemo)(()=>mn(t.fields),[t]),m=p,h=Tt(`list`,640),g=(0,L.useRef)(null),_=(0,L.useRef)(null);return(0,L.useEffect)(()=>{if(!d)return;let e=h?g.current:null,t=e??window,n=()=>{let t=e?e.scrollTop:window.scrollY,n=_.current;if(n&&n.key===d&&n.ownScrollPending&&Math.abs(t-n.applied)<=2){_.current={...n,ownScrollPending:!1};return}$S(d,t)};return t.addEventListener(`scroll`,n,{passive:!0}),()=>t.removeEventListener(`scroll`,n)},[d,h,e.length]),(0,L.useLayoutEffect)(()=>{if(!d||e.length===0||_.current?.key===d)return;let t=h?g.current:null,n=QS(d);if(n<=0){_.current={key:d,applied:0,ownScrollPending:!1};return}t?dC(t,n):typeof window.scrollTo==`function`&&window.scrollTo(0,n),_.current={key:d,applied:t?t.scrollTop:window.scrollY,ownScrollPending:!0}},[d,e.length,h]),h?(0,R.jsxDEV)(`div`,{ref:g,className:`hidden list:block overflow-auto h-[calc(100dvh-52px)] pb-20`,children:(0,R.jsxDEV)(`table`,{className:`w-full border-collapse`,children:[(0,R.jsxDEV)(`thead`,{className:`eink-solid sticky top-0 z-10 bg-bg/95 backdrop-blur`,children:(0,R.jsxDEV)(`tr`,{className:`border-b border-border`,children:[n.map(e=>(0,R.jsxDEV)(`th`,{onClick:()=>u(e),className:`px-4 py-2 text-left text-[11px] font-semibold text-muted uppercase tracking-wider cursor-pointer select-none hover:text-text transition-colors`,children:(0,R.jsxDEV)(`span`,{className:`flex items-center gap-1 whitespace-nowrap`,title:iC(f,e,m[e]),children:[iC(f,e,m[e]),l?.key===e?l.dir===`asc`?(0,R.jsxDEV)(Ze,{size:11},void 0,!1,{fileName:uC,lineNumber:117,columnNumber:23},this):(0,R.jsxDEV)(k,{size:11},void 0,!1,{fileName:uC,lineNumber:119,columnNumber:23},this):(0,R.jsxDEV)(ys,{size:11,className:`opacity-30`},void 0,!1,{fileName:uC,lineNumber:122,columnNumber:21},this)]},void 0,!0,{fileName:uC,lineNumber:113,columnNumber:17},this)},e,!1,{fileName:uC,lineNumber:108,columnNumber:15},this)),(0,R.jsxDEV)(`th`,{onClick:()=>u(cC),title:f(`list.sortRating`),className:`w-12 px-1 py-2 cursor-pointer select-none text-muted hover:text-text transition-colors`,children:(0,R.jsxDEV)(`span`,{className:`flex items-center justify-center gap-0.5`,children:[(0,R.jsxDEV)(Se,{size:12},void 0,!1,{fileName:uC,lineNumber:139,columnNumber:17},this),l?l.key===`_rank`?(0,R.jsxDEV)(k,{size:11},void 0,!1,{fileName:uC,lineNumber:145,columnNumber:19},this):(0,R.jsxDEV)(ys,{size:11,className:`opacity-30`},void 0,!1,{fileName:uC,lineNumber:147,columnNumber:19},this):(0,R.jsxDEV)(Ze,{size:11},void 0,!1,{fileName:uC,lineNumber:143,columnNumber:19},this)]},void 0,!0,{fileName:uC,lineNumber:138,columnNumber:15},this)},void 0,!1,{fileName:uC,lineNumber:133,columnNumber:13},this),(0,R.jsxDEV)(`th`,{className:`w-12`},void 0,!1,{fileName:uC,lineNumber:151,columnNumber:13},this)]},void 0,!0,{fileName:uC,lineNumber:106,columnNumber:11},this)},void 0,!1,{fileName:uC,lineNumber:105,columnNumber:9},this),(0,R.jsxDEV)(`tbody`,{children:e.map(e=>(0,R.jsxDEV)(sC,{row:e,fields:p,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id),onToggleFavorite:s,favoriteBusy:c===String(e.id)},String(e.id),!1,{fileName:uC,lineNumber:156,columnNumber:13},this))},void 0,!1,{fileName:uC,lineNumber:154,columnNumber:9},this)]},void 0,!0,{fileName:uC,lineNumber:104,columnNumber:7},this)},void 0,!1,{fileName:uC,lineNumber:103,columnNumber:5},this):(0,R.jsxDEV)(`div`,{className:`list:hidden p-4 pb-24`,children:e.map(e=>(0,R.jsxDEV)(aC,{row:e,fields:p,keys:n,hrefBase:r,onDelete:i,deleting:o===String(e.id),onToggleFavorite:s,favoriteBusy:c===String(e.id)},String(e.id),!1,{fileName:uC,lineNumber:82,columnNumber:11},this))},void 0,!1,{fileName:uC,lineNumber:80,columnNumber:7},this)}cc({kind:`table`,View:fC});var pC=[{pattern:`/`,purpose:`dashboard`},{pattern:`/trash`,purpose:`reversible trash for deleted records`},{pattern:`/settings`,purpose:`settings index`},{pattern:`/settings/diagnostics`,purpose:`runtime and agent diagnostics (admin)`},{pattern:`/settings/account`,purpose:`the signed-in user's own account settings`},{pattern:`/settings/users`,purpose:`user list (admin)`},{pattern:`/settings/users/new`,purpose:`form for a new user (admin)`},{pattern:`/settings/users/:id`,purpose:`one user (admin)`},{pattern:`/settings/:pluginId`,purpose:`one plugin's settings`},{pattern:`/:library/:shelf`,purpose:`list of every record on a shelf`},{pattern:`/:library/:shelf/new`,purpose:`form for a new record on a shelf`},{pattern:`/:library/:shelf/:id`,purpose:`page of one record`}],mC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/LoginPage.tsx`,hC=[Yt.string({key:`login`,label:`auth.login`,required:!0}),Yt.password({key:`password`,label:`auth.password`,required:!0})];function gC(){let{t:e}=a(),{values:t,bridge:n}=Pe({fm:mn(hC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`login`},initial:{login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await ur(t.login,t.password);if(s(!1),!r.ok){i(r.status===401?e(`auth.invalidCredentials`):e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`main`,{className:`login-page`,children:[(0,R.jsxDEV)(`div`,{className:`login-orb login-orb-one`,"aria-hidden":`true`},void 0,!1,{fileName:mC,lineNumber:45,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`login-orb login-orb-two`,"aria-hidden":`true`},void 0,!1,{fileName:mC,lineNumber:46,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`login-shell`,children:[(0,R.jsxDEV)(`section`,{className:`login-intro`,"aria-label":`Coffer`,children:[(0,R.jsxDEV)(`div`,{className:`login-brand`,children:[(0,R.jsxDEV)(`span`,{className:`login-brand-mark`,"aria-hidden":`true`,children:[(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:mC,lineNumber:52,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:mC,lineNumber:53,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:mC,lineNumber:54,columnNumber:15},this),(0,R.jsxDEV)(`i`,{},void 0,!1,{fileName:mC,lineNumber:55,columnNumber:15},this)]},void 0,!0,{fileName:mC,lineNumber:51,columnNumber:13},this),(0,R.jsxDEV)(`span`,{children:`Coffer`},void 0,!1,{fileName:mC,lineNumber:57,columnNumber:13},this)]},void 0,!0,{fileName:mC,lineNumber:50,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`login-intro-copy`,children:[(0,R.jsxDEV)(`p`,{className:`login-eyebrow`,children:e(`auth.welcomeEyebrow`)},void 0,!1,{fileName:mC,lineNumber:60,columnNumber:13},this),(0,R.jsxDEV)(`h2`,{children:e(`auth.welcomeTitle`)},void 0,!1,{fileName:mC,lineNumber:61,columnNumber:13},this),(0,R.jsxDEV)(`p`,{children:e(`auth.welcomeText`)},void 0,!1,{fileName:mC,lineNumber:62,columnNumber:13},this)]},void 0,!0,{fileName:mC,lineNumber:59,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`login-status`,children:[(0,R.jsxDEV)(`span`,{className:`login-status-dot`,"aria-hidden":`true`},void 0,!1,{fileName:mC,lineNumber:65,columnNumber:13},this),(0,R.jsxDEV)(`span`,{children:e(`auth.secureConnection`)},void 0,!1,{fileName:mC,lineNumber:66,columnNumber:13},this)]},void 0,!0,{fileName:mC,lineNumber:64,columnNumber:11},this)]},void 0,!0,{fileName:mC,lineNumber:49,columnNumber:9},this),(0,R.jsxDEV)(`form`,{onSubmit:c,className:`login-card`,children:[(0,R.jsxDEV)(`div`,{className:`login-card-heading`,children:[(0,R.jsxDEV)(`div`,{className:`login-mobile-brand`,children:`Coffer`},void 0,!1,{fileName:mC,lineNumber:72,columnNumber:13},this),(0,R.jsxDEV)(`p`,{className:`login-card-kicker`,children:e(`auth.welcomeEyebrow`)},void 0,!1,{fileName:mC,lineNumber:73,columnNumber:13},this),(0,R.jsxDEV)(`h1`,{children:e(`auth.loginTitle`)},void 0,!1,{fileName:mC,lineNumber:74,columnNumber:13},this),(0,R.jsxDEV)(`p`,{className:`login-card-subtitle`,children:e(`auth.welcomeText`)},void 0,!1,{fileName:mC,lineNumber:75,columnNumber:13},this)]},void 0,!0,{fileName:mC,lineNumber:71,columnNumber:11},this),r&&(0,R.jsxDEV)(`div`,{className:`login-error`,role:`alert`,children:r},void 0,!1,{fileName:mC,lineNumber:77,columnNumber:21},this),(0,R.jsxDEV)(`div`,{className:`login-fields`,children:(0,R.jsxDEV)(Le,{items:hC,ctx:{bridge:n}},void 0,!1,{fileName:mC,lineNumber:79,columnNumber:13},this)},void 0,!1,{fileName:mC,lineNumber:78,columnNumber:11},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`login-submit`,children:[(0,R.jsxDEV)(`span`,{children:o?`…`:e(`auth.signIn`)},void 0,!1,{fileName:mC,lineNumber:82,columnNumber:13},this),!o&&(0,R.jsxDEV)(`span`,{className:`login-submit-arrow`,"aria-hidden":`true`,children:`→`},void 0,!1,{fileName:mC,lineNumber:83,columnNumber:23},this)]},void 0,!0,{fileName:mC,lineNumber:81,columnNumber:11},this),(0,R.jsxDEV)(`p`,{className:`login-footer`,children:e(`auth.secureConnection`)},void 0,!1,{fileName:mC,lineNumber:85,columnNumber:11},this)]},void 0,!0,{fileName:mC,lineNumber:70,columnNumber:9},this)]},void 0,!0,{fileName:mC,lineNumber:48,columnNumber:7},this)]},void 0,!0,{fileName:mC,lineNumber:44,columnNumber:5},this)}var _C=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SetupPage.tsx`,vC=[Yt.string({key:`displayName`,label:`auth.displayName`,required:!0}),Yt.string({key:`login`,label:`auth.login`,required:!0}),Yt.password({key:`password`,label:`auth.password`,required:!0})];function yC(){let{t:e}=a(),{values:t,bridge:n}=Pe({fm:mn(vC),mode:`edit`,recordCtx:{library:``,shelf:`auth`,recordId:`setup`},initial:{displayName:``,login:``,password:``}}),[r,i]=(0,L.useState)(null),[o,s]=(0,L.useState)(!1);async function c(n){n.preventDefault(),s(!0),i(null);let r=await ir(t.login,t.password,t.displayName);if(s(!1),!r.ok){i(e(`auth.genericError`));return}window.location.href=`/`}return(0,R.jsxDEV)(`div`,{className:`flex min-h-dvh items-center justify-center bg-bg px-4`,children:(0,R.jsxDEV)(`form`,{onSubmit:c,className:`w-full max-w-sm rounded-2xl border border-border bg-card p-6`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-xl font-bold text-text`,children:e(`auth.setupTitle`)},void 0,!1,{fileName:_C,lineNumber:47,columnNumber:9},this),r&&(0,R.jsxDEV)(`div`,{className:`mb-4 rounded-lg border border-danger/40 bg-danger/10 px-3 py-2 text-sm text-danger`,children:r},void 0,!1,{fileName:_C,lineNumber:48,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`mb-5 flex flex-col gap-3`,children:(0,R.jsxDEV)(Le,{items:vC,ctx:{bridge:n}},void 0,!1,{fileName:_C,lineNumber:50,columnNumber:11},this)},void 0,!1,{fileName:_C,lineNumber:49,columnNumber:9},this),(0,R.jsxDEV)(F,{type:`submit`,disabled:o,className:`w-full`,children:e(`auth.createAccount`)},void 0,!1,{fileName:_C,lineNumber:52,columnNumber:9},this)]},void 0,!0,{fileName:_C,lineNumber:46,columnNumber:7},this)},void 0,!1,{fileName:_C,lineNumber:45,columnNumber:5},this)}var bC=`coffer-collapsed-libraries`;function xC(){try{let e=localStorage.getItem(bC);return new Set(e?JSON.parse(e):[])}catch{return new Set}}function SC(){let[e,t]=(0,L.useState)(()=>xC());return{collapsed:e,toggle:(0,L.useCallback)(e=>{t(t=>{let n=new Set(t);n.has(e)?n.delete(e):n.add(e);try{localStorage.setItem(bC,JSON.stringify([...n]))}catch{}return n})},[])}}var CC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/SidebarNav.tsx`;function wC({onSearchOpen:e}){let{t}=a(),{collapsed:n,toggle:r}=SC(),i=Ne();return(0,R.jsxDEV)(`aside`,{className:`hidden nav:flex flex-col w-52 shrink-0 bg-surface border-r border-border h-dvh fixed top-0 left-0 z-30`,children:[(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto px-3 py-4`,children:[(0,R.jsxDEV)(l,{to:`/`,className:`flex items-center gap-2 mb-4 px-2 group`,title:t(`nav.home`),children:[(0,R.jsxDEV)(`div`,{className:`w-7 h-7 bg-accent rounded-lg flex items-center justify-center text-primary-foreground text-xs font-bold`,children:`S`},void 0,!1,{fileName:CC,lineNumber:22,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`font-bold text-text group-hover:text-accent transition-colors`,children:`Coffer`},void 0,!1,{fileName:CC,lineNumber:25,columnNumber:11},this)]},void 0,!0,{fileName:CC,lineNumber:21,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,"aria-label":t(`search.title`),title:t(`search.title`),className:`flex w-full items-center gap-2 px-3 py-1.5 mb-3 rounded-lg text-sm text-muted bg-elevated border border-border hover:border-accent hover:text-text transition-colors`,children:[(0,R.jsxDEV)(me,{size:14,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:34,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`flex-1 text-left truncate`,children:t(`search.title`)},void 0,!1,{fileName:CC,lineNumber:35,columnNumber:11},this),(0,R.jsxDEV)(`kbd`,{className:`hidden lg:inline-flex items-center gap-0.5 text-[10px] text-muted border border-border rounded px-1`,children:`⌘K`},void 0,!1,{fileName:CC,lineNumber:36,columnNumber:11},this)]},void 0,!0,{fileName:CC,lineNumber:27,columnNumber:9},this),i.map(e=>{let i=n.has(e.meta.id);return(0,R.jsxDEV)(`div`,{className:`mb-0.5`,children:[(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>r(e.meta.id),className:`flex w-full items-center justify-between px-3 py-1.5 rounded-lg text-[10px] font-semibold text-muted uppercase tracking-widest hover:bg-elevated hover:text-text transition-colors`,children:[(0,R.jsxDEV)(`span`,{className:`truncate`,children:t(e.meta.label)},void 0,!1,{fileName:CC,lineNumber:49,columnNumber:19},this),(0,R.jsxDEV)(k,{size:13,className:`shrink-0 transition-transform ${i?`-rotate-90`:``}`},void 0,!1,{fileName:CC,lineNumber:50,columnNumber:19},this)]},void 0,!0,{fileName:CC,lineNumber:44,columnNumber:17},this),!i&&e.shelves.filter(e=>e.standalone!==!1).map(e=>(0,R.jsxDEV)(l,{to:`/${e.library}/${e.shelf}`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:69,columnNumber:25},this),t(e.label)]},e.shelf,!0,{fileName:CC,lineNumber:59,columnNumber:23},this))]},e.meta.id,!0,{fileName:CC,lineNumber:43,columnNumber:15},this)}),Dn().map(e=>(0,R.jsxDEV)(l,{to:e.to,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:e.icon,size:17,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:85,columnNumber:13},this),t(e.labelKey)]},e.to,!0,{fileName:CC,lineNumber:77,columnNumber:11},this)),(0,R.jsxDEV)(l,{to:`/trash`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm mb-px transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:`lucide:trash-2`,size:17,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:96,columnNumber:11},this),` `,t(`nav.trash`)]},void 0,!0,{fileName:CC,lineNumber:89,columnNumber:9},this)]},void 0,!0,{fileName:CC,lineNumber:20,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`border-t border-border p-2 space-y-1`,children:[(0,R.jsxDEV)(Ge,{},void 0,!1,{fileName:CC,lineNumber:101,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm transition-colors `+(e?`bg-accent/15 text-accent font-medium`:`text-muted hover:bg-elevated hover:text-text`),children:[(0,R.jsxDEV)(we,{name:`lucide:settings`,size:17,className:`shrink-0`},void 0,!1,{fileName:CC,lineNumber:109,columnNumber:11},this),` `,t(`nav.settings`)]},void 0,!0,{fileName:CC,lineNumber:102,columnNumber:9},this)]},void 0,!0,{fileName:CC,lineNumber:100,columnNumber:7},this)]},void 0,!0,{fileName:CC,lineNumber:19,columnNumber:5},this)}var TC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/BottomNav.tsx`;function EC({onSearchOpen:e}){let{t}=a();return(0,R.jsxDEV)(`nav`,{className:`nav:hidden fixed bottom-0 left-0 right-0 z-40 border-t border-border bg-surface pb-safe`,children:(0,R.jsxDEV)(`div`,{className:`flex items-stretch`,children:[(0,R.jsxDEV)(l,{to:`/`,end:!0,className:({isActive:e})=>`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(he,{size:20,className:`shrink-0`},void 0,!1,{fileName:TC,lineNumber:22,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.home`)},void 0,!1,{fileName:TC,lineNumber:23,columnNumber:11},this)]},void 0,!0,{fileName:TC,lineNumber:14,columnNumber:9},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:e,className:`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors text-muted hover:text-text`,children:[(0,R.jsxDEV)(me,{size:20,className:`shrink-0`},void 0,!1,{fileName:TC,lineNumber:30,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.search`)},void 0,!1,{fileName:TC,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:TC,lineNumber:25,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/settings`,className:({isActive:e})=>`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(_e,{size:20,className:`shrink-0`},void 0,!1,{fileName:TC,lineNumber:40,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.settings`)},void 0,!1,{fileName:TC,lineNumber:41,columnNumber:11},this)]},void 0,!0,{fileName:TC,lineNumber:33,columnNumber:9},this),(0,R.jsxDEV)(l,{to:`/trash`,className:({isActive:e})=>`flex min-h-11 flex-1 touch-manipulation flex-col items-center gap-0.5 py-2 transition-colors `+(e?`text-accent`:`text-muted hover:text-text`),children:[(0,R.jsxDEV)(ye,{size:20,className:`shrink-0`},void 0,!1,{fileName:TC,lineNumber:50,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`text-[10px] font-medium`,children:t(`nav.trash`)},void 0,!1,{fileName:TC,lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:TC,lineNumber:43,columnNumber:9},this)]},void 0,!0,{fileName:TC,lineNumber:13,columnNumber:7},this)},void 0,!1,{fileName:TC,lineNumber:12,columnNumber:5},this)}var DC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/nav/CommandPalette.tsx`;function OC({open:e,onClose:t}){let{t:n}=a(),r=u(),[i,o]=(0,L.useState)(``),[s,c]=(0,L.useState)([]),[l,d]=(0,L.useState)(!1),[f,p]=(0,L.useState)(0),m=(0,L.useRef)(null);(0,L.useEffect)(()=>{e&&(o(``),c([]),p(0),setTimeout(()=>m.current?.focus(),50))},[e]),(0,L.useEffect)(()=>{if(i.length<2){c([]);return}let e=setTimeout(async()=>{d(!0);try{let e=await fetch(`/api/search?q=${encodeURIComponent(i)}&limit=15`);c(e.ok?await e.json():[])}catch{c([])}finally{d(!1)}},250);return()=>clearTimeout(e)},[i]);let h=Ne().flatMap(e=>e.shelves.filter(e=>e.standalone!==!1).map(t=>({v:e,m:t}))),g=h.filter(({m:e})=>!i||n(e.label).toLowerCase().includes(i.toLowerCase())).map(({v:e,m:t})=>({kind:`shelf`,label:n(t.label),sub:n(e.meta.label),icon:t.icon,to:`/${t.library}/${t.shelf}`})),_=s.map(e=>{let t=h.find(({m:t})=>t.library===e.library&&t.shelf===e.shelf)?.m;return{kind:`record`,label:e.label||e.id,sub:e.snippet===e.label?t?n(t.label):e.shelf:e.snippet,icon:t?.icon,to:`/${e.library}/${e.shelf}/${e.id}`}}),v=i.length>=2?[..._,...g.slice(0,5)]:g,y=v.length>0?Math.min(f,v.length-1):0;function b(e){r(e.to),t()}function x(e){if(e.key===`Escape`){t();return}e.key===`ArrowDown`&&(e.preventDefault(),p(e=>Math.min(e+1,v.length-1))),e.key===`ArrowUp`&&(e.preventDefault(),p(e=>Math.max(e-1,0))),e.key===`Enter`&&v[y]&&b(v[y])}if(!e)return null;let S=i.length<2,C=i.length>=2&&_.length>0,T=i.length>=2&&g.length>0,E=v.length===0&&!l;return(0,R.jsxDEV)(`div`,{className:`fixed inset-0 z-[60] flex items-start justify-center pt-[10vh] px-4`,onClick:e=>{e.target===e.currentTarget&&t()},children:[(0,R.jsxDEV)(`div`,{className:`absolute inset-0 bg-bg/70 backdrop-blur-sm`,onClick:t},void 0,!1,{fileName:DC,lineNumber:137,columnNumber:7},this),(0,R.jsxDEV)(`div`,{role:`dialog`,"aria-label":n(`search.title`),className:`relative w-full max-w-lg bg-surface border border-border rounded-xl shadow-xl overflow-hidden`,children:[(0,R.jsxDEV)(`div`,{className:`px-4 pt-3 pb-1 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.title`)},void 0,!1,{fileName:DC,lineNumber:146,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,R.jsxDEV)(me,{size:16,className:`text-muted shrink-0`},void 0,!1,{fileName:DC,lineNumber:151,columnNumber:11},this),(0,R.jsxDEV)(`input`,{ref:m,type:`text`,value:i,onChange:e=>{o(e.target.value),p(0)},onKeyDown:x,placeholder:n(`search.placeholder`),"aria-label":n(`search.title`),className:`flex-1 bg-transparent text-text placeholder:text-muted outline-none text-sm`},void 0,!1,{fileName:DC,lineNumber:152,columnNumber:11},this),l&&(0,R.jsxDEV)(`span`,{className:`text-xs text-muted`,children:n(`common.loading`)},void 0,!1,{fileName:DC,lineNumber:165,columnNumber:23},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:t,className:`text-muted hover:text-text transition-colors`,children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:DC,lineNumber:167,columnNumber:13},this)},void 0,!1,{fileName:DC,lineNumber:166,columnNumber:11},this)]},void 0,!0,{fileName:DC,lineNumber:150,columnNumber:9},this),(0,R.jsxDEV)(`ul`,{className:`max-h-80 overflow-y-auto py-1`,children:[E&&i.length>=2&&(0,R.jsxDEV)(`li`,{className:`px-4 py-6 text-center text-muted text-sm`,children:n(`search.noResults`)},void 0,!1,{fileName:DC,lineNumber:174,columnNumber:13},this),S&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.allShelves`)},void 0,!1,{fileName:DC,lineNumber:177,columnNumber:13},this),C&&(0,R.jsxDEV)(`li`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider`,children:n(`search.results`)},void 0,!1,{fileName:DC,lineNumber:182,columnNumber:13},this),v.map((e,t)=>(0,R.jsxDEV)(`li`,{children:[i.length>=2&&t>=_.length&&t===_.length&&T&&(0,R.jsxDEV)(`div`,{className:`px-4 py-1.5 text-[10px] font-semibold text-muted uppercase tracking-wider border-t border-border mt-1 pt-2`,children:n(`search.allShelves`)},void 0,!1,{fileName:DC,lineNumber:192,columnNumber:19},this),(0,R.jsxDEV)(`button`,{type:`button`,onClick:()=>b(e),onMouseEnter:()=>p(t),className:`w-full flex items-center gap-3 px-4 py-2 text-left transition-colors ${t===y?`bg-accent/15 text-text`:`text-text hover:bg-elevated`}`,children:[e.icon&&(0,R.jsxDEV)(we,{name:e.icon,size:16,className:`shrink-0 text-muted`},void 0,!1,{fileName:DC,lineNumber:204,columnNumber:33},this),(0,R.jsxDEV)(`span`,{className:`flex-1 min-w-0`,children:[(0,R.jsxDEV)(`span`,{className:`block text-sm font-medium truncate`,children:e.label},void 0,!1,{fileName:DC,lineNumber:206,columnNumber:21},this),e.sub&&(0,R.jsxDEV)(`span`,{className:`block text-xs text-muted truncate`,children:e.sub},void 0,!1,{fileName:DC,lineNumber:207,columnNumber:34},this)]},void 0,!0,{fileName:DC,lineNumber:205,columnNumber:19},this)]},void 0,!0,{fileName:DC,lineNumber:196,columnNumber:17},this)]},`${e.to}-${t}`,!0,{fileName:DC,lineNumber:190,columnNumber:15},this))]},void 0,!0,{fileName:DC,lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:DC,lineNumber:140,columnNumber:7},this)]},void 0,!0,{fileName:DC,lineNumber:128,columnNumber:5},this)}var kC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Dashboard.tsx`;function AC(){let[e,t]=(0,L.useState)({});return(0,L.useEffect)(()=>{let e=new AbortController;return fetch(`/api/counts`,{signal:e.signal}).then(e=>e.ok?e.json():{}).then(t).catch(()=>{}),()=>e.abort()},[]),e}function jC(){let{t:e}=a(),t=AC(),n=Ne();return(0,R.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`mx-auto max-w-5xl px-5 py-8 md:px-8`,children:[(0,R.jsxDEV)(`h1`,{className:`mb-6 text-2xl font-bold tracking-tight text-text`,children:e(`dashboard.title`)},void 0,!1,{fileName:kC,lineNumber:29,columnNumber:9},this),n.length===0?(0,R.jsxDEV)(`p`,{className:`text-muted`,children:e(`dashboard.empty`)},void 0,!1,{fileName:kC,lineNumber:31,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:n.map(n=>{let r=n.shelves.filter(e=>e.standalone!==!1);return r.length===0?null:(0,R.jsxDEV)(`section`,{className:`rounded-2xl border border-border bg-surface p-4`,children:[(0,R.jsxDEV)(`h2`,{className:`mb-3 flex items-center gap-2 text-sm font-semibold uppercase tracking-wide text-muted`,children:[n.meta.icon&&(0,R.jsxDEV)(we,{name:n.meta.icon,size:16,className:`shrink-0`},void 0,!1,{fileName:kC,lineNumber:40,columnNumber:37},this),e(n.meta.label)]},void 0,!0,{fileName:kC,lineNumber:39,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:r.map(n=>(0,R.jsxDEV)(l,{to:`/${n.library}/${n.shelf}`,className:`flex items-center gap-2.5 rounded-lg px-2.5 py-2 text-sm text-text transition-colors hover:bg-elevated`,children:[(0,R.jsxDEV)(we,{name:n.icon,size:17,className:`shrink-0 text-muted`},void 0,!1,{fileName:kC,lineNumber:50,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`flex-1 truncate`,children:e(n.label)},void 0,!1,{fileName:kC,lineNumber:51,columnNumber:25},this),(0,R.jsxDEV)(`span`,{className:`shrink-0 rounded-full bg-accent/15 px-2 py-0.5 text-xs font-medium tabular-nums text-accent`,children:t[`${n.library}/${n.shelf}`]??`·`},void 0,!1,{fileName:kC,lineNumber:52,columnNumber:25},this)]},n.shelf,!0,{fileName:kC,lineNumber:45,columnNumber:23},this))},void 0,!1,{fileName:kC,lineNumber:43,columnNumber:19},this)]},n.meta.id,!0,{fileName:kC,lineNumber:38,columnNumber:17},this)})},void 0,!1,{fileName:kC,lineNumber:33,columnNumber:11},this)]},void 0,!0,{fileName:kC,lineNumber:28,columnNumber:7},this)},void 0,!1,{fileName:kC,lineNumber:27,columnNumber:5},this)}var MC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/TrashPage.tsx`;function NC(e){let t=Ne().flatMap(e=>e.shelves).find(t=>t.library===e.library&&t.shelf===e.shelf);return t?fn(t,e.record):String(e.record.name??e.record.id??``)}function PC(){let{t:e}=a(),[t,n]=(0,L.useState)([]),[r,i]=(0,L.useState)(!0),o=(0,L.useCallback)(async()=>{i(!0);try{n(await hr())}catch{y.error(e(`common.error`))}finally{i(!1)}},[e]);(0,L.useEffect)(()=>{o()},[o]);async function s(t){if(!await pr(t.library,t.shelf,Number(t.record.id))){y.error(e(`common.error`));return}y.success(e(`trash.restored`)),n(e=>e.filter(e=>e!==t))}async function c(t){if(await We({title:e(`trash.confirmPurge`),confirmLabel:e(`trash.purge`),variant:`destructive`})){if(!await Xn(t.library,t.shelf,Number(t.record.id))){y.error(e(`common.error`));return}y.success(e(`trash.purged`)),n(e=>e.filter(e=>e!==t))}}return(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(ze,{children:(0,R.jsxDEV)(`h1`,{className:`text-2xl font-bold text-text`,children:e(`trash.title`)},void 0,!1,{fileName:MC,lineNumber:66,columnNumber:9},this)},void 0,!1,{fileName:MC,lineNumber:65,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`p-4 sm:p-6 max-w-4xl w-full mx-auto`,children:[(0,R.jsxDEV)(`p`,{className:`text-sm text-muted mb-5`,children:e(`trash.description`)},void 0,!1,{fileName:MC,lineNumber:69,columnNumber:9},this),r?(0,R.jsxDEV)(`div`,{className:`py-16 text-center text-muted`,children:e(`common.loading`)},void 0,!1,{fileName:MC,lineNumber:71,columnNumber:11},this):t.length===0?(0,R.jsxDEV)(`div`,{className:`py-16 text-center text-muted`,children:e(`trash.empty`)},void 0,!1,{fileName:MC,lineNumber:73,columnNumber:11},this):(0,R.jsxDEV)(`div`,{className:`space-y-2`,children:t.map(t=>{let n=Number(t.record.id);return(0,R.jsxDEV)(`div`,{className:`flex items-center gap-3 rounded-xl border border-border bg-surface px-4 py-3`,children:[(0,R.jsxDEV)(ye,{size:18,className:`shrink-0 text-muted`},void 0,!1,{fileName:MC,lineNumber:83,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxDEV)(`div`,{className:`truncate font-medium text-text`,children:NC(t)},void 0,!1,{fileName:MC,lineNumber:85,columnNumber:21},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:[e(t.label),` · `,t.library,`/`,t.shelf,` · #`,n]},void 0,!0,{fileName:MC,lineNumber:86,columnNumber:21},this),(0,R.jsxDEV)(`div`,{className:`text-xs text-muted`,children:String(t.record.deleted_at??``)},void 0,!1,{fileName:MC,lineNumber:87,columnNumber:21},this)]},void 0,!0,{fileName:MC,lineNumber:84,columnNumber:19},this),(0,R.jsxDEV)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,R.jsxDEV)(F,{variant:`secondary`,size:`sm`,onClick:()=>void s(t),children:[(0,R.jsxDEV)(Et,{size:15},void 0,!1,{fileName:MC,lineNumber:91,columnNumber:23},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`trash.restore`)},void 0,!1,{fileName:MC,lineNumber:92,columnNumber:23},this)]},void 0,!0,{fileName:MC,lineNumber:90,columnNumber:21},this),(0,R.jsxDEV)(F,{variant:`destructive`,size:`sm`,onClick:()=>void c(t),children:[(0,R.jsxDEV)(ye,{size:15},void 0,!1,{fileName:MC,lineNumber:95,columnNumber:23},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`trash.purge`)},void 0,!1,{fileName:MC,lineNumber:96,columnNumber:23},this)]},void 0,!0,{fileName:MC,lineNumber:94,columnNumber:21},this)]},void 0,!0,{fileName:MC,lineNumber:89,columnNumber:19},this)]},`${t.library}/${t.shelf}/${n}`,!0,{fileName:MC,lineNumber:79,columnNumber:17},this)})},void 0,!1,{fileName:MC,lineNumber:75,columnNumber:11},this)]},void 0,!0,{fileName:MC,lineNumber:68,columnNumber:7},this)]},void 0,!0,{fileName:MC,lineNumber:64,columnNumber:5},this)}var FC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/AccountSettingsPage.tsx`,IC=[Yt.string({key:`displayName`,label:`auth.fieldDisplayName`}),Yt.password({key:`password`,label:`auth.fieldPasswordOptional`}),Yt.internalApiToken({key:`apiTokens`,label:`auth.tokensTitle`}),Yt.internalOauthGrants({key:`oauthGrants`,label:`auth.grantsTitle`})];function LC(){let{t:e}=a(),[t,n]=(0,L.useState)(!1);async function r(){let e=await lr();return{displayName:e?.displayName??``,password:e?.password??``}}async function i(e){let t=await cr({displayName:e.displayName,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,password:t.data.password}}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}async function o(){n(!0);try{await sr()}finally{window.location.href=`/login`}}return(0,R.jsxDEV)(b,{fields:IC,recordCtx:{library:``,shelf:`account`,recordId:`me`},load:r,save:i,title:e(`auth.accountTitle`),backTo:`/settings`,backLabel:e(`settings.title`),footer:(0,R.jsxDEV)(`section`,{className:`mt-10 border-t border-border pt-6`,"aria-labelledby":`account-session-title`,children:[(0,R.jsxDEV)(`h2`,{id:`account-session-title`,className:`mb-1 text-sm font-semibold uppercase tracking-wide text-muted`,children:e(`auth.sessionTitle`)},void 0,!1,{fileName:FC,lineNumber:60,columnNumber:11},this),(0,R.jsxDEV)(Er,{className:`flex items-center justify-between gap-4 px-4 py-3`,children:[(0,R.jsxDEV)(`p`,{className:`min-w-0 text-sm text-muted`,children:e(`auth.logoutDescription`)},void 0,!1,{fileName:FC,lineNumber:64,columnNumber:13},this),(0,R.jsxDEV)(F,{type:`button`,variant:`destructive`,size:`sm`,disabled:t,onClick:o,className:`shrink-0`,children:[(0,R.jsxDEV)(we,{name:`lucide:log-out`,size:16},void 0,!1,{fileName:FC,lineNumber:73,columnNumber:15},this),e(`auth.logout`)]},void 0,!0,{fileName:FC,lineNumber:65,columnNumber:13},this)]},void 0,!0,{fileName:FC,lineNumber:63,columnNumber:11},this)]},void 0,!0,{fileName:FC,lineNumber:59,columnNumber:9},this)},void 0,!1,{fileName:FC,lineNumber:50,columnNumber:5},this)}var RC=tn({shelf:`users`,library:``,label:`auth.usersTitle`,icon:`lucide:users`,views:{list:{fields:[`login`,`displayName`,`role`,`disabled`]}},fields:[Yt.string({key:`login`,label:`auth.fieldLogin`}),Yt.string({key:`displayName`,label:`auth.fieldDisplayName`}),Yt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),Yt.boolean({key:`disabled`,label:`auth.fieldDisabled`})]});function zC(e){if(!e)return null;let[t,n]=e.split(`:`);return!t||n!==`asc`&&n!==`desc`?null:{key:t,dir:n}}function BC(){let[e,t]=s(),[n,r]=(0,L.useState)(()=>e.get(`q`)??``),[i,a]=(0,L.useState)(n);(0,L.useEffect)(()=>{let e=setTimeout(()=>{a(n),t(e=>{let t=new URLSearchParams(e);return n?t.set(`q`,n):t.delete(`q`),t},{replace:!0})},300);return()=>clearTimeout(e)},[n,t]);let o=zC(e.get(`sort`));function c(e){t(t=>{let n=new URLSearchParams(t),r=zC(n.get(`sort`)),i;return i=e===`_rank`?r?.key===`_rank`&&r.dir===`desc`?null:{key:e,dir:`desc`}:!r||r.key!==e?{key:e,dir:`asc`}:r.dir===`asc`?{key:e,dir:`desc`}:null,i?n.set(`sort`,`${i.key}:${i.dir}`):n.delete(`sort`),n},{replace:!0})}function l(e){t(t=>{let n=new URLSearchParams(t);return e?n.set(`sort`,`${e.key}:${e.dir}`):n.delete(`sort`),n},{replace:!0})}return{q:n,setQ:r,debouncedQ:i,sort:o,toggleSort:c,setSort:l}}var VC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/shared/Dialog.tsx`;function HC({title:e,onClose:t,children:n}){return(0,R.jsxDEV)(Cr,{open:!0,onOpenChange:e=>{e||t()},children:(0,R.jsxDEV)(xr,{children:[(0,R.jsxDEV)(br,{children:(0,R.jsxDEV)(yr,{children:e},void 0,!1,{fileName:VC,lineNumber:24,columnNumber:11},this)},void 0,!1,{fileName:VC,lineNumber:23,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`px-5 pb-5`,children:n},void 0,!1,{fileName:VC,lineNumber:26,columnNumber:9},this)]},void 0,!0,{fileName:VC,lineNumber:22,columnNumber:7},this)},void 0,!1,{fileName:VC,lineNumber:16,columnNumber:5},this)}var UC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/GroupPanel.tsx`,WC=`__none__`;function GC({grouping:e,total:t,sort:n}){let{t:r}=a(),{fields:i,field:o,setField:s,facets:c,selected:l,setSelected:u}=e;return(0,R.jsxDEV)(`div`,{className:`folder-tree flex flex-col gap-2`,children:[(0,R.jsxDEV)(`div`,{className:`px-1 pt-1`,children:(0,R.jsxDEV)(`div`,{className:`folder-node${l===null?` active`:``}`,onClick:()=>u(null),children:[(0,R.jsxDEV)(`span`,{className:`folder-name`,children:r(`group.all`)},void 0,!1,{fileName:UC,lineNumber:32,columnNumber:11},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:t},void 0,!1,{fileName:UC,lineNumber:33,columnNumber:11},this)]},void 0,!0,{fileName:UC,lineNumber:31,columnNumber:9},this)},void 0,!1,{fileName:UC,lineNumber:30,columnNumber:7},this),n&&n.keys.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1 list:hidden`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`list.sortBy`)},void 0,!1,{fileName:UC,lineNumber:41,columnNumber:11},this),(0,R.jsxDEV)(Je,{value:n.value?`${n.value.key}:${n.value.dir}`:WC,onValueChange:e=>{if(e===WC)return n.onChange(null);let[t,r]=e.split(`:`);n.onChange({key:t,dir:r})},children:[(0,R.jsxDEV)(Xe,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(Ye,{placeholder:r(`list.sortBy`)},void 0,!1,{fileName:UC,lineNumber:51,columnNumber:15},this)},void 0,!1,{fileName:UC,lineNumber:50,columnNumber:13},this),(0,R.jsxDEV)(yt,{children:[(0,R.jsxDEV)($e,{value:WC,children:[r(`list.sortRating`),` ↑`]},void 0,!0,{fileName:UC,lineNumber:56,columnNumber:15},this),(0,R.jsxDEV)($e,{value:`_rank:desc`,children:[r(`list.sortRating`),` ↓`]},void 0,!0,{fileName:UC,lineNumber:57,columnNumber:15},this),n.keys.flatMap(({key:e,label:t})=>[(0,R.jsxDEV)($e,{value:`${e}:asc`,children:[t,` ↑`]},`${e}:asc`,!0,{fileName:UC,lineNumber:59,columnNumber:17},this),(0,R.jsxDEV)($e,{value:`${e}:desc`,children:[t,` ↓`]},`${e}:desc`,!0,{fileName:UC,lineNumber:62,columnNumber:17},this)])]},void 0,!0,{fileName:UC,lineNumber:53,columnNumber:13},this)]},void 0,!0,{fileName:UC,lineNumber:42,columnNumber:11},this)]},void 0,!0,{fileName:UC,lineNumber:40,columnNumber:9},this),i.length>0&&(0,R.jsxDEV)(`div`,{className:`px-1`,children:[(0,R.jsxDEV)(`div`,{className:`folder-tree-header`,children:r(`group.field`)},void 0,!1,{fileName:UC,lineNumber:74,columnNumber:11},this),(0,R.jsxDEV)(Je,{value:o??void 0,onValueChange:s,children:[(0,R.jsxDEV)(Xe,{className:`h-8 w-full text-sm`,children:(0,R.jsxDEV)(Ye,{placeholder:r(`group.field`)},void 0,!1,{fileName:UC,lineNumber:77,columnNumber:15},this)},void 0,!1,{fileName:UC,lineNumber:76,columnNumber:13},this),(0,R.jsxDEV)(yt,{children:i.map(e=>(0,R.jsxDEV)($e,{value:e.key,children:e.label},e.key,!1,{fileName:UC,lineNumber:81,columnNumber:17},this))},void 0,!1,{fileName:UC,lineNumber:79,columnNumber:13},this)]},void 0,!0,{fileName:UC,lineNumber:75,columnNumber:11},this)]},void 0,!0,{fileName:UC,lineNumber:73,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`folder-tree-scroll`,children:(0,R.jsxDEV)(`div`,{className:`folder-tree-nodes`,children:c.map(e=>(0,R.jsxDEV)(`div`,{className:`folder-node${l===e.key?` active`:``}`,title:e.label,onClick:()=>u(e.key),children:[(0,R.jsxDEV)(`span`,{className:`folder-name truncate`,children:e.label},void 0,!1,{fileName:UC,lineNumber:100,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`ml-auto shrink-0 tabular-nums text-xs text-muted`,children:e.count},void 0,!1,{fileName:UC,lineNumber:101,columnNumber:15},this)]},e.key,!0,{fileName:UC,lineNumber:94,columnNumber:13},this))},void 0,!1,{fileName:UC,lineNumber:92,columnNumber:9},this)},void 0,!1,{fileName:UC,lineNumber:91,columnNumber:7},this)]},void 0,!0,{fileName:UC,lineNumber:28,columnNumber:5},this)}function KC(e,t){let{t:n}=a(),r=t?mn(e.fields)[t]:void 0,i=r?.prim===`relation`?r.relation:void 0,o=r?.hints?.displayKey??`name`,{labelMap:s}=gv(i?.library??``,i?.shelf??``,o);return(0,L.useMemo)(()=>({t:n,labelMap:s}),[n,s])}function qC(e,t,n,r,i){let a=new Map,o=0;for(let i of t){let t=_r(e,i[n],r);if(!t.length){o++;continue}for(let e of t){let t=a.get(e.value)??{label:e.label,n:0};t.n++,a.set(e.value,t)}}let s=[...a.entries()].map(([e,{label:t,n}])=>({key:e,label:t,count:n})).sort((e,t)=>t.count-e.count||e.label.localeCompare(t.label));return o>0&&s.push({key:JC,label:i,count:o}),s}var JC=`\0__none__`;function YC(e,t){let{t:n}=a(),r=mn(e.fields),i=(0,L.useMemo)(()=>rn(e).filter(e=>r[e]),[e,r]),o=(0,L.useMemo)(()=>i.map(e=>({key:e,label:r[e]?n(r[e].label):e})),[i,r,n]),[c,l]=s(),u=c.get(`groupBy`),d=c.get(`groupItem`)??null,f=(0,L.useMemo)(()=>{if(u&&i.includes(u))return u;let t=cn(e);return t&&i.includes(t)?t:i[0]??null},[u,i,e]),p=KC(e,f);return{fields:o,field:f,setField:e=>{l(t=>{let n=new URLSearchParams(t);return n.set(`groupBy`,e),n.delete(`groupItem`),n},{replace:!0})},facets:(0,L.useMemo)(()=>{if(!f)return[];let e=r[f];return e?qC(e,t,f,p,n(`group.noValue`)):[]},[f,r,t,p,n]),selected:d,setSelected:e=>{l(t=>{let n=new URLSearchParams(t);return e===null?n.delete(`groupItem`):n.set(`groupItem`,e),n},{replace:!0})},filtered:(0,L.useMemo)(()=>{if(!f||d===null)return t;let e=r[f];return e?d===`\0__none__`?t.filter(t=>_r(e,t[f],p).length===0):t.filter(t=>_r(e,t[f],p).some(e=>e.value===d)):t},[t,f,r,d,p])}}var XC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/EntityListView.tsx`;function ZC({mod:e,hrefBase:t,fetchRows:n,onDelete:r,resetKey:i,cacheKey:o}){let{t:c}=a(),l=u(),[d,f]=(0,L.useState)(null),[p,m]=(0,L.useState)(null),[h,g]=(0,L.useState)(!1),[_,v]=(0,L.useState)(0),{q:b,setQ:x,debouncedQ:S,sort:C,toggleSort:w,setSort:T}=BC(),[,E]=s(),D=Tt(`panel`,1e3),O=o?`${o}?${S}`:null,[k,A]=(0,L.useState)(()=>O?le(O)?.rows??[]:[]),[ee,te]=(0,L.useState)(k.length===0),ne=(0,L.useRef)(0),j=(0,L.useCallback)(async(e=S)=>{let t=o?`${o}?${e}`:null,r=t?le(t):void 0;if(r){A(r.rows),te(!1);return}te(!0);let i=++ne.current;try{let r=await n(e);if(i!==ne.current)return;A(r),t&&se(t,r)}catch{i===ne.current&&A([])}finally{i===ne.current&&te(!1)}},[n,S,o]),M=(0,L.useRef)(null);(0,L.useEffect)(()=>{i!==void 0&&(M.current!==null&&M.current!==i&&(x(``),E({},{replace:!0})),M.current=i)},[i]),(0,L.useEffect)(()=>{j()},[j,_]);let re=YC(e,k),ie=KC(e,C?.key??null),ae=(0,L.useMemo)(()=>{if(!C||C.key===`_rank`&&C.dir===`asc`)return re.filtered;if(C.key===`_rank`)return[...re.filtered].reverse();let t=mn(e.fields)[C.key];return lC(re.filtered,C.key,C.dir,t,ie)},[re.filtered,C,e,ie]),oe=(0,L.useMemo)(()=>sn(e),[e]),ce=mn(e.fields),ue=(0,L.useMemo)(()=>{let t=on(e),n=lc(t);if(!n)return console.error(`[list] unknown view '${t}' for ${e.library}/${e.shelf} — showing table`),lc(`table`);let r=n.check?.(e,oe);return r?(console.error(`[list] view '${t}' is not compatible with ${e.library}/${e.shelf}: ${r} — showing table`),lc(`table`)):n},[e,oe]),P={keys:oe.map(e=>({key:e,label:iC(c,e,ce[e])})),value:C,onChange:T};function de(){l(`${t}/new`)}let fe=(0,L.useCallback)(async e=>{if(!await We({title:c(`actions.confirmDelete`),confirmLabel:c(`actions.delete`),variant:`destructive`}))return;f(e);let t=await r(e);if(f(null),!t.ok){y.error(t.error===`last_admin`?c(`auth.lastAdminError`):c(`common.error`));return}o&&(N(o),eC(o)),v(e=>e+1)},[r,c,o]),pe=(0,L.useCallback)(async t=>{let n=k.find(e=>String(e.id)===t)?._activity;m(t);let r=await Jn(e.library,e.shelf,t,!n?.favorite);if(m(null),!r){y.error(c(`common.error`));return}o&&N(o),v(e=>e+1)},[k,e.library,e.shelf,o,c]);return(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(ze,{actions:(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`relative w-[220px] hidden nav:block`,children:[(0,R.jsxDEV)(me,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:XC,lineNumber:226,columnNumber:15},this),(0,R.jsxDEV)(`input`,{type:`search`,value:b,onChange:e=>x(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-8 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:XC,lineNumber:227,columnNumber:15},this)]},void 0,!0,{fileName:XC,lineNumber:225,columnNumber:13},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,className:`panel:hidden`,onClick:()=>g(!0),children:(0,R.jsxDEV)(Ds,{size:16},void 0,!1,{fileName:XC,lineNumber:238,columnNumber:15},this)},void 0,!1,{fileName:XC,lineNumber:237,columnNumber:13},this),(0,R.jsxDEV)(F,{onClick:de,children:[(0,R.jsxDEV)(Ut,{size:16},void 0,!1,{fileName:XC,lineNumber:241,columnNumber:15},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:c(`actions.new`)},void 0,!1,{fileName:XC,lineNumber:242,columnNumber:15},this)]},void 0,!0,{fileName:XC,lineNumber:240,columnNumber:13},this)]},void 0,!0,{fileName:XC,lineNumber:223,columnNumber:11},this),children:[(0,R.jsxDEV)(we,{name:e.icon,size:20,className:`shrink-0 text-text`},void 0,!1,{fileName:XC,lineNumber:247,columnNumber:9},this),(0,R.jsxDEV)(`h1`,{className:`text-base font-bold text-text truncate`,children:c(e.label)},void 0,!1,{fileName:XC,lineNumber:248,columnNumber:9},this),(0,R.jsxDEV)(`span`,{className:`text-xs font-medium bg-accent/15 text-accent rounded-full px-2 py-0.5 tabular-nums shrink-0`,children:ae.length},void 0,!1,{fileName:XC,lineNumber:249,columnNumber:9},this),ee&&k.length>0&&(0,R.jsxDEV)(Dt,{size:13,className:`animate-spin text-muted shrink-0`,"aria-hidden":!0},void 0,!1,{fileName:XC,lineNumber:253,columnNumber:40},this)]},void 0,!0,{fileName:XC,lineNumber:221,columnNumber:7},this),(0,R.jsxDEV)(`div`,{className:`flex items-start`,children:[D&&(0,R.jsxDEV)(`div`,{className:`hidden panel:block w-56 shrink-0 border-r border-border sticky top-[52px] self-start h-[calc(100dvh-52px)] overflow-y-auto`,children:(0,R.jsxDEV)(`div`,{className:`pt-2`,children:(0,R.jsxDEV)(GC,{grouping:re,total:k.length,sort:P},void 0,!1,{fileName:XC,lineNumber:262,columnNumber:15},this)},void 0,!1,{fileName:XC,lineNumber:261,columnNumber:13},this)},void 0,!1,{fileName:XC,lineNumber:260,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:ae.length===0?ee?(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted`,children:(0,R.jsxDEV)(Dt,{size:28,className:`animate-spin`},void 0,!1,{fileName:XC,lineNumber:274,columnNumber:17},this)},void 0,!1,{fileName:XC,lineNumber:273,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex flex-col items-center justify-center gap-4 py-20 text-muted`,children:[(0,R.jsxDEV)(we,{name:e.icon,size:48,className:`text-muted`},void 0,!1,{fileName:XC,lineNumber:278,columnNumber:17},this),(0,R.jsxDEV)(`p`,{className:`text-base`,children:c(`list.empty`)},void 0,!1,{fileName:XC,lineNumber:279,columnNumber:17},this),(0,R.jsxDEV)(F,{onClick:de,children:[(0,R.jsxDEV)(Ut,{size:16},void 0,!1,{fileName:XC,lineNumber:281,columnNumber:19},this),` `,c(`actions.addFirst`)]},void 0,!0,{fileName:XC,lineNumber:280,columnNumber:17},this)]},void 0,!0,{fileName:XC,lineNumber:277,columnNumber:15},this):(0,R.jsxDEV)(ue.View,{rows:ae,shelf:e,keys:oe,hrefBase:t,onDelete:fe,deletingId:d,onToggleFavorite:pe,favoriteBusyId:p,sort:C,onToggleSort:w,scrollKey:O??void 0},void 0,!1,{fileName:XC,lineNumber:286,columnNumber:13},this)},void 0,!1,{fileName:XC,lineNumber:268,columnNumber:9},this)]},void 0,!0,{fileName:XC,lineNumber:257,columnNumber:7},this),h&&(0,R.jsxDEV)(HC,{title:c(`group.title`),onClose:()=>g(!1),children:[(0,R.jsxDEV)(`div`,{className:`relative mb-4 nav:hidden`,children:[(0,R.jsxDEV)(me,{size:15,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-muted pointer-events-none`},void 0,!1,{fileName:XC,lineNumber:308,columnNumber:13},this),(0,R.jsxDEV)(`input`,{type:`search`,value:b,onChange:e=>x(e.target.value),placeholder:c(`list.searchPlaceholder`),className:`w-full h-9 pr-3 text-sm rounded-lg border border-border bg-surface text-text placeholder:text-muted focus:outline-none focus:border-accent transition-colors`,style:{paddingLeft:`2rem`}},void 0,!1,{fileName:XC,lineNumber:309,columnNumber:13},this)]},void 0,!0,{fileName:XC,lineNumber:307,columnNumber:11},this),(0,R.jsxDEV)(GC,{grouping:re,total:k.length,sort:P},void 0,!1,{fileName:XC,lineNumber:318,columnNumber:11},this)]},void 0,!0,{fileName:XC,lineNumber:305,columnNumber:9},this)]},void 0,!0,{fileName:XC,lineNumber:219,columnNumber:5},this)}var QC=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UsersListPage.tsx`;function $C(){return(0,R.jsxDEV)(ZC,{mod:RC,hrefBase:`/settings/users`,fetchRows:async e=>{let t=await $n(e);return t.ok?t.data:[]},onDelete:async e=>{let t=await tr(Number(e));return t.ok?{ok:!0}:t.status===409?{ok:!1,error:`last_admin`}:{ok:!1}}},void 0,!1,{fileName:QC,lineNumber:7,columnNumber:5},this)}var ew=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserCreatePage.tsx`,tw=[Yt.string({key:`login`,label:`auth.fieldLogin`,required:!0}),Yt.string({key:`displayName`,label:`auth.fieldDisplayName`,required:!0}),Yt.password({key:`password`,label:`auth.password`,required:!0}),Yt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]})];function nw(){let{t:e}=a(),t=u();async function n(){return{login:``,displayName:``,password:``,role:`member`}}async function r(e){let n=await or({login:e.login,displayName:e.displayName,password:e.password,role:e.role});return n.ok?(t(`/settings/users`),{ok:!0,row:{login:n.data.login,displayName:n.data.displayName,password:n.data.password,role:n.data.role}}):n.status===422?{ok:!1,status:422,issues:n.data.issues}:{ok:!1,status:n.status}}return(0,R.jsxDEV)(b,{fields:tw,recordCtx:{library:``,shelf:`users`,recordId:`new`},load:n,save:r,title:e(`auth.userCreateTitle`),backTo:`/settings/users`,backLabel:e(`auth.usersTitle`)},void 0,!1,{fileName:ew,lineNumber:46,columnNumber:5},this)}var rw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/UserEditPage.tsx`,iw=[Yt.string({key:`displayName`,label:`auth.fieldDisplayName`}),Yt.select({key:`role`,label:`auth.fieldRole`,options:[{value:`admin`,title:`auth.roleAdmin`},{value:`member`,title:`auth.roleMember`}]}),Yt.boolean({key:`disabled`,label:`auth.fieldDisabled`}),Yt.password({key:`password`,label:`auth.fieldPasswordOptional`})];function aw(){let{id:e}=_(),{t}=a(),n=Number(e);async function r(){let e=await $n(),t=e.ok?e.data.find(e=>e.id===n):void 0;return{displayName:t?.displayName??``,role:t?.role??`member`,disabled:t?.disabled??!1,password:t?.password??``}}async function i(e){let t=await qn(n,{displayName:e.displayName,role:e.role,disabled:e.disabled,password:e.password});return t.ok?{ok:!0,row:{displayName:t.data.displayName,role:t.data.role,disabled:t.data.disabled,password:t.data.password}}:t.status===409?{ok:!1,status:422,issues:[{field:`role`,code:`last_admin`,path:[],params:{}}]}:t.status===422?{ok:!1,status:422,issues:t.data.issues}:{ok:!1,status:t.status}}return(0,R.jsxDEV)(b,{fields:iw,recordCtx:{library:``,shelf:`users`,recordId:e??``},load:r,save:i,title:t(`auth.usersTitle`),backTo:`/settings/users`,backLabel:t(`auth.usersTitle`)},void 0,!1,{fileName:rw,lineNumber:50,columnNumber:5},this)}var ow=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/list/ShelfView.tsx`;function sw(){let{t:e}=a(),{library:t,shelf:n}=_(),r=Ne().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),i=(0,L.useCallback)(async e=>{let r=e?`?q=${encodeURIComponent(e)}`:``;try{return await nr(`/api/${t}/${n}${r}`)}catch{return[]}},[t,n]),o=(0,L.useCallback)(async e=>(await dr(t,n,e),{ok:!0}),[t,n]);return!r||r.standalone===!1?(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:ow,lineNumber:37,columnNumber:44},this):(0,R.jsxDEV)(ZC,{mod:r,hrefBase:`/${t}/${n}`,resetKey:`${t}:${n}`,cacheKey:`${t}/${n}`,fetchRows:i,onDelete:o},void 0,!1,{fileName:ow,lineNumber:40,columnNumber:5},this)}function cw(e,t){let n={muted:[]};for(let[r,i]of dn(e.fields)){if(i.virtual||gn(i.hidden,t))continue;let e=i.hints.role;e===`cover`&&!n.cover?n.cover={key:r,field:i}:e===`avatar`&&!n.avatar&&(n.avatar={key:r,field:i}),i.hints.emphasis===`muted`&&n.muted.push({key:r,field:i})}return n}var lw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/display/index.tsx`;function uw(e){return e!=null&&e!==``}function dw(e,t,n,r,i){return e||!n?Promise.resolve(void 0):t(()=>n(r,i))}var fw=new Set([`image`,`media`,`poster`,`cover`]);function pw({field:e,fieldKey:t,label:n,value:r,recordCtx:i,onChange:a,editAll:o}){return o?(0,R.jsxDEV)(gr,{field:e,fieldKey:t,label:n,value:r,mode:`edit`,recordCtx:i,onChange:a},void 0,!1,{fileName:lw,lineNumber:102,columnNumber:7},this):fw.has(e.kind)?ly(r).length?(0,R.jsxDEV)(`div`,{className:`group/field relative`,children:(0,R.jsxDEV)(hy,{value:r,banner:!0},void 0,!1,{fileName:lw,lineNumber:146,columnNumber:7},this)},void 0,!1,{fileName:lw,lineNumber:145,columnNumber:5},this):(0,R.jsxDEV)(gr,{field:e,fieldKey:t,label:n,value:r,mode:`view`,recordCtx:i,onChange:a},void 0,!1,{fileName:lw,lineNumber:131,columnNumber:7},this):(0,R.jsxDEV)(gr,{field:e,fieldKey:t,label:n,value:r,mode:`view`,recordCtx:i,onChange:a},void 0,!1,{fileName:lw,lineNumber:115,columnNumber:7},this)}function mw(e,t,n,r){let{t:i}=a(),[o,s]=(0,L.useState)(!1),[c,l]=(0,L.useState)({}),[u,d]=(0,L.useState)({}),[f,p]=(0,L.useState)(!1),m=t=>t in c?c[t]:e?.[t],h=(e,t)=>l(n=>({...n,[e]:t})),g=(e,t,n)=>u[e]&&t in u[e]?u[e][t]:n?.[t],_=(e,t,n)=>d(r=>({...r,[e]:{...r[e],[t]:n}}));async function v(){if(!t)return;p(!0);let e=y.loading(i(`save.saving`)),a;if(r){let e={...c};for(let[t,n]of Object.entries(u))Object.keys(n).length&&(e[`_extend_${t}`]=n);Object.keys(e).length&&(a=await r(e)??void 0)}else{for(let[e,n]of Object.entries(c))a??=await t(e,n)??void 0;if(n)for(let[e,t]of Object.entries(u))for(let[r,i]of Object.entries(t))a??=await n(e,r,i)??void 0}if(p(!1),a){y.error(a,{id:e});return}y.success(i(`save.done`),{id:e}),s(!1),l({}),d({})}return{editAll:o,savingAll:f,startAll:()=>{l({}),d({}),s(!0)},cancelAll:()=>{s(!1),l({}),d({})},saveAll:v,baseVal:m,setBaseDraft:h,extVal:g,setExtDraft:_}}function hw({shelf:e,record:t,onUpdate:n,onUpdateExtend:r,edit:i,errorAt:o=(()=>void 0)}){let{t:s}=a(),{saving:c,run:l}=Q_(),u=mn(e.fields),d=e=>{let t=u[e];return t?.label?s(t.label):e},f=(e,t)=>{let n=u[e]?.options?.find(e=>e.value===String(t));return n?s(n.title):String(t)},p=un(e),m=(0,L.useMemo)(()=>u[p]??{kind:`text`,label:`core.fields.name`,required:!1,prim:`text`,hints:{},column:`text`,zod:void 0},[u,p]),h=!!n,g={library:e.library,shelf:e.shelf,recordId:String(t.id)},_=(0,L.useMemo)(()=>{let n={...t};if(i?.editAll)for(let[t]of dn(e.fields))n[t]=i.baseVal(t);return n},[t,i?.editAll,i?.baseVal,e.fields]),v=(0,L.useMemo)(()=>cw(e,_),[e,_]),y=(0,L.useMemo)(()=>new Set([v.cover?.key,v.avatar?.key,...v.muted.map(e=>e.key)].filter(Boolean)),[v]),b=i?.editAll?`edit`:`view`,x=e=>i?.editAll?i.baseVal(e):t[e],S=!!(v.cover&&!i?.editAll&&fw.has(v.cover.field.kind)&&ly(x(v.cover.key)).length>0),C=e=>i?.editAll?t=>i.setBaseDraft(e,t):n?t=>dw(c,l,n,e,t):void 0,w={bridge:{mode:i?.editAll?`edit`:`view`,recordCtx:g,values:_,getValue:e=>i?.editAll?i.baseVal(e):t[e],setValue:(e,t)=>{i?.editAll?i.setBaseDraft(e,t):dw(c,l,n,e,t)},isHidden:e=>{if(e===p||y.has(e))return!0;let t=u[e];return!!(t?.virtual||gn(t?.hidden,_))},requiredOf:e=>gn(u[e]?.required,_),error:e=>o([e]),touch:()=>{}}},T=(0,L.useMemo)(()=>Ie(e.library,e.shelf).map(e=>({ext:e,data:t._extends?.[e.id]})).filter(({ext:e,data:t})=>t!=null&&dn(e.fields).some(([e])=>uw(t[e]))||e.showWhen!=null&&en(e.showWhen,_)),[e.library,e.shelf,t,_]);return(0,R.jsxDEV)(Re.Provider,{value:o,children:(0,R.jsxDEV)(`article`,{className:`max-w-7xl mx-auto px-5 py-8 md:px-8 md:py-10 flex flex-col ${Ft}`,children:[v.cover&&(0,R.jsxDEV)(`div`,{className:S?`-mx-5 -mt-8 md:-mx-8 md:-mt-10`:``,children:(0,R.jsxDEV)(pw,{field:v.cover.field,fieldKey:v.cover.key,label:d(v.cover.key),value:x(v.cover.key),recordCtx:g,onChange:C(v.cover.key),editAll:i?.editAll},void 0,!1,{fileName:lw,lineNumber:380,columnNumber:11},this)},void 0,!1,{fileName:lw,lineNumber:379,columnNumber:9},this),(0,R.jsxDEV)(`header`,{className:`flex items-center gap-4`,role:`heading`,"aria-level":1,children:[v.avatar&&(0,R.jsxDEV)(`div`,{className:`shrink-0`,children:(0,R.jsxDEV)(gr,{field:v.avatar.field,fieldKey:v.avatar.key,label:d(v.avatar.key),value:x(v.avatar.key),mode:b,recordCtx:g,onChange:C(v.avatar.key)},void 0,!1,{fileName:lw,lineNumber:397,columnNumber:13},this)},void 0,!1,{fileName:lw,lineNumber:396,columnNumber:11},this),(0,R.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,R.jsxDEV)(gr,{field:m,fieldKey:p,value:x(p),mode:b,recordCtx:g,onChange:C(p)},void 0,!1,{fileName:lw,lineNumber:409,columnNumber:11},this)},void 0,!1,{fileName:lw,lineNumber:408,columnNumber:9},this)]},void 0,!0,{fileName:lw,lineNumber:394,columnNumber:7},this),(0,R.jsxDEV)(Le,{items:e.fields,ctx:w},void 0,!1,{fileName:lw,lineNumber:421,columnNumber:7},this),T.map(({ext:n,data:a})=>(0,R.jsxDEV)(gw,{ext:n,data:a,m:e,recordId:String(t.id),editable:h,edit:i,onUpdateExtend:r,fieldLabelOf:d,valueLabelOf:f},n.id,!1,{fileName:lw,lineNumber:426,columnNumber:9},this)),v.muted.length>0&&(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-3 flex flex-col gap-1.5`,children:v.muted.map(({key:e,field:t})=>(0,R.jsxDEV)(gr,{field:t,fieldKey:e,label:d(e),value:x(e),mode:b,recordCtx:g,onChange:C(e)},e,!1,{fileName:lw,lineNumber:444,columnNumber:13},this))},void 0,!1,{fileName:lw,lineNumber:442,columnNumber:9},this)]},void 0,!0,{fileName:lw,lineNumber:374,columnNumber:5},this)},void 0,!1,{fileName:lw,lineNumber:373,columnNumber:5},this)}function gw({ext:e,data:t,m:n,recordId:r,editable:i,edit:o,onUpdateExtend:s,fieldLabelOf:c,valueLabelOf:l}){let{t:u}=a(),{saving:d,run:f}=Q_(),p=o?.editAll?`edit`:`view`,m=Le({items:e.fields,ctx:{renderField:(a,c)=>c.virtual||!i&&!uw(t?.[a])?null:(0,R.jsxDEV)(gr,{field:c,fieldKey:a,extId:e.id,value:o?.editAll?o.extVal(e.id,a,t):t?.[a],label:c.label?u(c.label):void 0,required:c.required===!0,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>dw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:lw,lineNumber:502,columnNumber:9},this),renderGroup:(a,c)=>{let l=o?.editAll?o.extVal(e.id,a,t):t?.[a];if(!i&&!uw(l))return null;let u=xn({kind:wn(c)});return u?(0,R.jsxDEV)(u.Page,{el:c,value:l,mode:p,recordCtx:{library:n.library,shelf:n.shelf,recordId:r},onChange:o?.editAll?t=>o.setExtDraft(e.id,a,t):s?t=>dw(d,f,(t,n)=>s(e.id,t,n),a,t):void 0},void 0,!1,{fileName:lw,lineNumber:527,columnNumber:9},this):null}}});return m==null?null:(0,R.jsxDEV)(`div`,{className:`border-t border-border pt-6`,children:(0,R.jsxDEV)(je,{label:u(e.label),icon:e.icon??`lucide:puzzle`,rail:!1,tone:`section`,labelAfter:(0,R.jsxDEV)(pe,{ext:e,fieldLabel:c,valueLabel:l},void 0,!1,{fileName:lw,lineNumber:556,columnNumber:21},this),children:m},void 0,!1,{fileName:lw,lineNumber:551,columnNumber:7},this)},void 0,!1,{fileName:lw,lineNumber:550,columnNumber:5},this)}function _w(e){return c(()=>import(e),[])}var vw=Object.assign({"../plugin-claude-agent/src/index.ts":()=>c(()=>import(`./src-Dajw9Az6.js`),__vite__mapDeps([28,29,1,30,31])),"../plugin-console/src/index.ts":()=>c(()=>import(`./src-KGPu1fwh.js`),__vite__mapDeps([32,29,1,30,31])),"../plugin-core/src/index.ts":()=>c(()=>import(`./src-D3BnFRPS.js`),__vite__mapDeps([33,34,29,1,35,30,31])),"../plugin-devices/src/index.ts":()=>c(()=>import(`./src-D0IOasYV.js`),__vite__mapDeps([36,37,29,1,38,39,40,30,31])),"../plugin-documents/src/index.ts":()=>c(()=>import(`./src-DnlNLa7L.js`),__vite__mapDeps([41,29,1,39,40,30])),"../plugin-drone/src/index.ts":()=>c(()=>import(`./src-DqtBktfY.js`),__vite__mapDeps([42,29,1,40,39,30])),"../plugin-finance/src/index.ts":()=>c(()=>import(`./src-Blz6vbqg.js`),__vite__mapDeps([43,44,29,1,39,40,30,31])),"../plugin-garden/src/index.ts":()=>c(()=>import(`./src-Ck2r9PdK.js`),__vite__mapDeps([45,29,1,39,30])),"../plugin-geo/src/index.ts":()=>c(()=>import(`./src-DNRPYtVW.js`),__vite__mapDeps([46,30])),"../plugin-health/src/index.ts":()=>c(()=>import(`./src-BhzIt6X_.js`),__vite__mapDeps([47,29,1,39,40,30,31])),"../plugin-home/src/index.ts":()=>c(()=>import(`./src-CX8lJ_Bd.js`),__vite__mapDeps([48,29,1,39,30])),"../plugin-http/src/index.ts":()=>c(()=>import(`./src-DcsqR-q0.js`),__vite__mapDeps([49,29,1,30,31])),"../plugin-kitchen/src/index.ts":()=>c(()=>import(`./src-COqoTMyz.js`),__vite__mapDeps([50,29,1,39,30])),"../plugin-lab/src/index.ts":()=>c(()=>import(`./src-CdtEUqtE.js`),__vite__mapDeps([51,29,1,39,40,30,31,38,37,44])),"../plugin-media/src/index.ts":()=>c(()=>import(`./src-DF0JjvAL.js`),__vite__mapDeps([52,29,1,39,30,31])),"../plugin-orchestrator/src/index.ts":()=>c(()=>import(`./src-C7_YQgbA.js`),__vite__mapDeps([53,29,1,30,31])),"../plugin-people/src/index.ts":()=>c(()=>import(`./src-BJDg-3KB.js`),__vite__mapDeps([54,29,1,39,30])),"../plugin-telegram/src/index.ts":()=>c(()=>import(`./src-N4vEUcQu.js`),__vite__mapDeps([55,29,1,30,31])),"../plugin-things/src/index.ts":()=>c(()=>import(`./src-BJeZ0fIl.js`),__vite__mapDeps([56,29,1,39,30])),"../plugin-transit/src/index.ts":()=>c(()=>import(`./src-DdcjPE8f.js`),__vite__mapDeps([57,29,1,39,30,31])),"../plugin-travel/src/index.ts":()=>c(()=>import(`./src-BLvQI8Un.js`),__vite__mapDeps([58,29,1,39,30])),"../plugin-webchat/src/index.ts":()=>c(()=>import(`./src-yWzIeLL6.js`),__vite__mapDeps([59,29,1,30,31])),"../plugin-webexport/src/index.ts":()=>c(()=>import(`./src-BN2zezj6.js`),__vite__mapDeps([60,29,1,30,31]))}),yw=Object.assign({"../plugin-devices/src/fields/ui.tsx":()=>c(()=>import(`./ui-BRZ7wpuB.js`),__vite__mapDeps([61,1,2,3,25,24,4,26,5,6,62,63,64,65,66,29,67,68,69,70,34,37])),"../plugin-geo/src/ui.tsx":()=>c(()=>import(`./ui-CAcWu8py.js`),__vite__mapDeps([71,1,2,3,24,4,25,26,5,6,70,34,64,62,63,65,69,66,29,39,67,72])),"../plugin-webchat/src/ui/ui.tsx":()=>c(()=>import(`./ui-DwQMDUGA.js`),__vite__mapDeps([73,3,1,2,66,29,67]))});[...Object.keys(vw),...Object.keys(yw)];async function bw(e,t){let n=Object.entries(vw).find(([t])=>t.includes(`/plugin-${e}/`));if(!n)return null;let r=(await n[1]()).default??null;for(let[n,r]of Object.entries(yw)){if(!n.includes(`/plugin-${e}/`))continue;let i=(await r()).default;i&&t(i)}return r}var xw={};function Sw(e,t){return xw[`${e}/${t}`]}function Cw(e){On(e),e.shelf?.RecordView&&e.shelf.library&&e.shelf.shelf&&(xw[`${e.shelf.library}/${e.shelf.shelf}`]=e.shelf.RecordView);for(let t of e.renderers??[])I(t);for(let t of e.listViews??[])cc(t);for(let[t,n]of Object.entries(e.templates??{}))yn(t,n);for(let[t,n]of Object.entries(e.translations??{}))n&&Nr.addResourceBundle(t,`translation`,n,!0,!0)}function ww(e){if(!e.startsWith(`/`)){console.warn(`[federation] skip non-same-origin css: ${e}`);return}if(document.querySelector(`link[href="${e}"]`))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.appendChild(t)}function Tw(e){let t=new Map(e.map(e=>[e.id,e])),n=new Set,r=[],i=e=>{if(!n.has(e.id)){n.add(e.id);for(let n of e.dependsOn){let e=t.get(n);e&&i(e)}r.push(e)}};for(let t of e)i(t);return r}async function Ew(){let e=await fetch(`/api/plugins`);if(!e.ok)throw Error(`[federation] /api/plugins ${e.status}`);let t=Tw((await e.json()).filter(e=>e.enabled)),n=await Promise.all(t.map(async e=>{{let t=[],n=await bw(e.id,e=>t.push(e)).catch(t=>(console.error(`[federation] ${e.id}: dev source failed —`,t),null));if(n)return{e,devManifest:n,devBundles:t}}if(!e.schema)return{e};let t=await _w(e.schema).catch(t=>{console.error(`[federation] ${e.id}: schema failed, skipping plugin —`,t)});return t?{e,schemaMod:t,webMod:e.web?await _w(e.web).catch(t=>{console.error(`[federation] ${e.id}: web bundle failed —`,t)}):void 0}:{e}})),r=[];for(let{e,devManifest:t,devBundles:i,schemaMod:a,webMod:o}of n)try{if(t){r.push(t);for(let e of i??[])Cw(e);continue}let n=a?.default;if(!n)continue;r.push(n),e.css&&ww(e.css);let s=o?.default;s&&Cw(s)}catch(t){console.error(`[federation] ${e.id}: applying bundle failed —`,t)}return r}var Dw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/record/RecordView.tsx`;function Ow(){let{t:e}=a(),{library:t,shelf:n,id:r}=_(),i=u(),o=Ne().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===n),[s,c]=(0,L.useState)(null),l=(0,L.useRef)(s);(0,L.useEffect)(()=>{l.current=s},[s]);let[d,f]=(0,L.useState)({}),[p,m]=(0,L.useState)(!1),[h,g]=(0,L.useState)(!1),v=Me(e),b=e=>d[e.join(`.`)],x=mw(s,S,C,T);if((0,L.useEffect)(()=>{if(!o||o.standalone===!1||!r)return;let e=!0;return nr(`/api/${o.library}/${o.shelf}/${r}`).then(t=>{e&&c(t)}).catch(()=>{e&&c(null)}),()=>{e=!1}},[o,r]),!o||o.standalone===!1)return(0,R.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:Dw,lineNumber:67,columnNumber:44},this);async function S(t,n){if(!o||!r)return;let i=l.current?.[t];f(e=>Oe(e,t)),c(e=>e&&{...e,[t]:n});let a=await ar(o.library,o.shelf,r,{[t]:n});if(a.ok){c(a.row??null),de(`${o.library}/${o.shelf}`,a.row??{});return}c(e=>e&&{...e,[t]:i});let s=Be(a.issues??[],v);f(e=>({...Oe(e,t),...s}));let u=(a.issues??[]).find(e=>e.field===t)??a.issues?.[0];return u?v(u.code,u.params):e(`validation.server`)}async function C(t,n,i){if(!o||!r)return;let a=l.current?._extends?.[t]?.[n];f(e=>Oe(e,n)),c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:i}}}});let s=await ar(o.library,o.shelf,r,{[`_extend_${t}`]:{[n]:i}});if(s.ok){c(s.row??null),de(`${o.library}/${o.shelf}`,s.row??{});return}c(e=>{if(!e)return e;let r=e._extends??{};return{...e,_extends:{...r,[t]:{...r[t],[n]:a}}}}),f(e=>({...Oe(e,n),...Be(s.issues??[],v)}));let u=(s.issues??[]).find(e=>e.field===n)??s.issues?.[0];return u?v(u.code,u.params):e(`validation.server`)}async function T(t){if(!o||!r)return;f(e=>Object.keys(t).reduce((e,t)=>Oe(e,t),e));let n=await ar(o.library,o.shelf,r,t);if(n.ok){c(n.row??null),de(`${o.library}/${o.shelf}`,n.row??{});return}f(e=>({...Object.keys(t).reduce((e,t)=>Oe(e,t),e),...Be(n.issues??[],v)}));let i=n.issues?.[0];return i?v(i.code,i.params):e(`validation.server`)}async function E(){if(!o||!r||!await We({title:e(`actions.confirmDelete`),confirmLabel:e(`actions.delete`),variant:`destructive`}))return;m(!0);let t=await dr(o.library,o.shelf,r);if(m(!1),!t){y.error(e(`common.error`));return}N(`${o.library}/${o.shelf}`),i(`/${o.library}/${o.shelf}`)}async function D(){if(!o||!r||!s)return;let t=s._activity?.favorite===!0;g(!0);let n=await Jn(o.library,o.shelf,r,!t);if(g(!1),!n){y.error(e(`common.error`));return}c(e=>e&&{...e,_activity:n}),N(`${o.library}/${o.shelf}`)}function O(){let e=window.history.state?.idx;if(typeof e==`number`&&e>0){i(-1);return}i(`/${t}/${n}`)}let k=Sw(o.library,o.shelf);return(0,R.jsxDEV)(X_,{children:(0,R.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,R.jsxDEV)(ze,{actions:s&&!k&&(x.editAll?(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{disabled:x.savingAll,onClick:x.saveAll,children:[(0,R.jsxDEV)(Ke,{size:16},void 0,!1,{fileName:Dw,lineNumber:193,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.save`)},void 0,!1,{fileName:Dw,lineNumber:194,columnNumber:19},this)]},void 0,!0,{fileName:Dw,lineNumber:192,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`secondary`,size:`icon`,disabled:x.savingAll,onClick:x.cancelAll,title:e(`actions.cancel`),children:(0,R.jsxDEV)(w,{size:16},void 0,!1,{fileName:Dw,lineNumber:203,columnNumber:19},this)},void 0,!1,{fileName:Dw,lineNumber:196,columnNumber:17},this)]},void 0,!0,{fileName:Dw,lineNumber:191,columnNumber:15},this):(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(F,{onClick:x.startAll,title:e(`actions.editAll`),children:[(0,R.jsxDEV)(Nt,{size:16},void 0,!1,{fileName:Dw,lineNumber:209,columnNumber:19},this),(0,R.jsxDEV)(`span`,{className:`hidden sm:inline`,children:e(`actions.edit`)},void 0,!1,{fileName:Dw,lineNumber:210,columnNumber:19},this)]},void 0,!0,{fileName:Dw,lineNumber:208,columnNumber:17},this),(0,R.jsxDEV)(nC,{favorite:!!s._activity?.favorite,busy:h,labelAdd:e(`actions.favoriteAdd`),labelRemove:e(`actions.favoriteRemove`),onClick:D},void 0,!1,{fileName:Dw,lineNumber:212,columnNumber:17},this),(0,R.jsxDEV)(F,{variant:`destructive`,size:`icon`,disabled:p,onClick:E,title:e(`actions.delete`),children:(0,R.jsxDEV)(ye,{size:16},void 0,!1,{fileName:Dw,lineNumber:226,columnNumber:19},this)},void 0,!1,{fileName:Dw,lineNumber:219,columnNumber:17},this)]},void 0,!0,{fileName:Dw,lineNumber:207,columnNumber:15},this)),children:(0,R.jsxDEV)(F,{variant:`ghost`,size:`sm`,className:`px-2 bg-bg/60 border border-border/50 shadow-sm backdrop-blur-sm hover:bg-bg/80`,onClick:O,children:[(0,R.jsxDEV)(De,{size:18},void 0,!1,{fileName:Dw,lineNumber:238,columnNumber:13},this),(0,R.jsxDEV)(`span`,{className:`text-sm`,children:e(o.label)},void 0,!1,{fileName:Dw,lineNumber:239,columnNumber:13},this)]},void 0,!0,{fileName:Dw,lineNumber:232,columnNumber:11},this)},void 0,!1,{fileName:Dw,lineNumber:186,columnNumber:9},this),(0,R.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,R.jsxDEV)(Fe,{library:o.library,shelf:o.shelf,children:s?k?(0,R.jsxDEV)(k,{record:s,onEdit:()=>{}},void 0,!1,{fileName:Dw,lineNumber:249,columnNumber:15},this):(0,R.jsxDEV)(hw,{shelf:o,record:s,onUpdate:S,onUpdateExtend:C,edit:x,errorAt:b},void 0,!1,{fileName:Dw,lineNumber:251,columnNumber:15},this):(0,R.jsxDEV)(`div`,{className:`flex items-center justify-center py-20 text-muted text-sm`,children:e(`common.loading`)},void 0,!1,{fileName:Dw,lineNumber:247,columnNumber:15},this)},void 0,!1,{fileName:Dw,lineNumber:245,columnNumber:11},this)},void 0,!1,{fileName:Dw,lineNumber:244,columnNumber:9},this)]},void 0,!0,{fileName:Dw,lineNumber:183,columnNumber:7},this)},void 0,!1,{fileName:Dw,lineNumber:182,columnNumber:5},this)}var kw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/PluginSlot.tsx`,Aw=new WeakMap;function jw(e){let t=Aw.get(e);return t||(t=(0,L.lazy)(e),Aw.set(e,t)),t}var Mw=class extends L.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e){console.error(`[plugin-slot] contribution "${this.props.id}" failed —`,e)}render(){return this.state.failed?null:this.props.children}};function Nw({name:e}){let t=Tn(e);return t.length?(0,R.jsxDEV)(R.Fragment,{children:t.map(e=>{let t=jw(e.load);return(0,R.jsxDEV)(Mw,{id:e.id,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(t,{},void 0,!1,{fileName:kw,lineNumber:54,columnNumber:15},this)},void 0,!1,{fileName:kw,lineNumber:53,columnNumber:13},this)},e.id,!1,{fileName:kw,lineNumber:52,columnNumber:11},this)})},void 0,!1,{fileName:kw,lineNumber:48,columnNumber:5},this):null}function Pw({id:e,load:t}){let n=jw(t);return(0,R.jsxDEV)(Mw,{id:e,children:(0,R.jsxDEV)(L.Suspense,{fallback:null,children:(0,R.jsxDEV)(n,{},void 0,!1,{fileName:kw,lineNumber:69,columnNumber:9},this)},void 0,!1,{fileName:kw,lineNumber:68,columnNumber:7},this)},void 0,!1,{fileName:kw,lineNumber:67,columnNumber:5},this)}var $=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/Shell.tsx`,Fw=(0,L.lazy)(()=>c(()=>import(`./SettingsPage-cGmurCr0.js`).then(e=>({default:e.SettingsPage})),__vite__mapDeps([74,1,2,3,24,4,5,6,70,34,26,64,75,76,77,78,79,80]))),Iw=(0,L.lazy)(()=>c(()=>import(`./DiagnosticsPage-CLhgz-6M.js`).then(e=>({default:e.DiagnosticsPage})),__vite__mapDeps([81,1,2,3,70,34,24,4,6,26,5,64,77,78,79,80]))),Lw=(0,L.lazy)(()=>c(()=>import(`./PluginSettingsPage-i-OMHgqv.js`).then(e=>({default:e.PluginSettingsPage})),__vite__mapDeps([82,2,1,3,83,84,24,4,69,70,34,6,26,5,64,66,29,39,68,40,30,77,8,9,79]))),Rw=(0,L.lazy)(()=>c(()=>import(`./NewRecordView-DOotbZbV.js`).then(e=>({default:e.NewRecordView})),__vite__mapDeps([85,1,2,3,86,24,4,5,6,70,34,26,64,39,29,84,69,66,68,40,30,77,8,9,65,72]))),zw={"/":(0,R.jsxDEV)(jC,{},void 0,!1,{fileName:$,lineNumber:33,columnNumber:8},void 0),"/trash":(0,R.jsxDEV)(PC,{},void 0,!1,{fileName:$,lineNumber:34,columnNumber:13},void 0),"/settings":(0,R.jsxDEV)(Fw,{},void 0,!1,{fileName:$,lineNumber:35,columnNumber:16},void 0),"/settings/diagnostics":(0,R.jsxDEV)(Iw,{},void 0,!1,{fileName:$,lineNumber:36,columnNumber:28},void 0),"/settings/account":(0,R.jsxDEV)(LC,{},void 0,!1,{fileName:$,lineNumber:37,columnNumber:24},void 0),"/settings/users":(0,R.jsxDEV)($C,{},void 0,!1,{fileName:$,lineNumber:38,columnNumber:22},void 0),"/settings/users/new":(0,R.jsxDEV)(nw,{},void 0,!1,{fileName:$,lineNumber:39,columnNumber:26},void 0),"/settings/users/:id":(0,R.jsxDEV)(aw,{},void 0,!1,{fileName:$,lineNumber:40,columnNumber:26},void 0),"/settings/:pluginId":(0,R.jsxDEV)(Lw,{},void 0,!1,{fileName:$,lineNumber:41,columnNumber:26},void 0),"/:library/:shelf":(0,R.jsxDEV)(sw,{},void 0,!1,{fileName:$,lineNumber:42,columnNumber:23},void 0),"/:library/:shelf/new":(0,R.jsxDEV)(Rw,{},void 0,!1,{fileName:$,lineNumber:43,columnNumber:27},void 0),"/:library/:shelf/:id":(0,R.jsxDEV)(Ow,{},void 0,!1,{fileName:$,lineNumber:44,columnNumber:27},void 0)};function Bw(){return(0,R.jsxDEV)(h,{children:[(0,R.jsxDEV)(f,{path:`/login`,element:(0,R.jsxDEV)(gC,{},void 0,!1,{fileName:$,lineNumber:50,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:50,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/setup`,element:(0,R.jsxDEV)(yC,{},void 0,!1,{fileName:$,lineNumber:51,columnNumber:37},this)},void 0,!1,{fileName:$,lineNumber:51,columnNumber:7},this),(0,R.jsxDEV)(f,{path:`/*`,element:(0,R.jsxDEV)(Dr,{children:(0,R.jsxDEV)(Vw,{},void 0,!1,{fileName:$,lineNumber:56,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:55,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:52,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:49,columnNumber:5},this)}function Vw(){let[e,t]=(0,L.useState)(!1);return(0,L.useEffect)(()=>{function e(e){(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),t(e=>!e))}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,R.jsxDEV)(R.Fragment,{children:[(0,R.jsxDEV)(`div`,{className:`min-h-dvh bg-bg`,children:[(0,R.jsxDEV)(wC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:81,columnNumber:9},this),(0,R.jsxDEV)(`main`,{className:`nav:pl-52 pb-16 nav:pb-0`,children:(0,R.jsxDEV)(L.Suspense,{fallback:(0,R.jsxDEV)(`div`,{className:`flex justify-center py-16`,children:(0,R.jsxDEV)(Dt,{className:`animate-spin text-muted`,size:20},void 0,!1,{fileName:$,lineNumber:90,columnNumber:17},this)},void 0,!1,{fileName:$,lineNumber:89,columnNumber:15},this),children:(0,R.jsxDEV)(h,{children:[pC.map(e=>(0,R.jsxDEV)(f,{path:e.pattern,element:zw[e.pattern]},e.pattern,!1,{fileName:$,lineNumber:96,columnNumber:17},this)),(0,R.jsxDEV)(f,{path:`/plugins`,element:(0,R.jsxDEV)(o,{to:`/settings`,replace:!0},void 0,!1,{fileName:$,lineNumber:99,columnNumber:47},this)},void 0,!1,{fileName:$,lineNumber:99,columnNumber:15},this),En().map(e=>(0,R.jsxDEV)(f,{path:e.path,element:(0,R.jsxDEV)(Pw,{id:e.path,load:e.load},void 0,!1,{fileName:$,lineNumber:101,columnNumber:60},this)},e.path,!1,{fileName:$,lineNumber:101,columnNumber:17},this))]},void 0,!0,{fileName:$,lineNumber:94,columnNumber:13},this)},void 0,!1,{fileName:$,lineNumber:87,columnNumber:11},this)},void 0,!1,{fileName:$,lineNumber:86,columnNumber:9},this),(0,R.jsxDEV)(EC,{onSearchOpen:()=>t(!0)},void 0,!1,{fileName:$,lineNumber:106,columnNumber:9},this),(0,R.jsxDEV)(Nw,{name:`overlay`},void 0,!1,{fileName:$,lineNumber:107,columnNumber:9},this)]},void 0,!0,{fileName:$,lineNumber:80,columnNumber:7},this),(0,R.jsxDEV)(OC,{open:e,onClose:()=>t(!1)},void 0,!1,{fileName:$,lineNumber:109,columnNumber:7},this)]},void 0,!0,{fileName:$,lineNumber:79,columnNumber:5},this)}var Hw=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/main.tsx`,Uw=[];try{Uw=await Ew()}catch(e){console.warn(`[federation] failed to load plugins, continuing with none:`,e)}He(Uw),Ct(pC),St(Ve().map(e=>({library:e.library,shelf:e.shelf}))),(0,Or.createRoot)(document.getElementById(`root`)).render((0,R.jsxDEV)(L.StrictMode,{children:(0,R.jsxDEV)(d,{children:[(0,R.jsxDEV)(Bw,{},void 0,!1,{fileName:Hw,lineNumber:48,columnNumber:7},void 0),(0,R.jsxDEV)(Ue,{},void 0,!1,{fileName:Hw,lineNumber:49,columnNumber:7},void 0),(0,R.jsxDEV)(v,{richColors:!0,position:`bottom-right`},void 0,!1,{fileName:Hw,lineNumber:50,columnNumber:7},void 0)]},void 0,!0,{fileName:Hw,lineNumber:47,columnNumber:5},void 0)},void 0,!1,{fileName:Hw,lineNumber:46,columnNumber:3},void 0));